USBIP: различия между версиями
(Новая страница: «USBIP выполняет задачу подключения USB-устройства к удаленному компьютеру через локальную сеть (проброс USB-устройств по локальной сети). В качестве пробрасываемых устройств могут быть: *USB-накопители (fdisk, mkfs, mount/umount, операции с файлами); *USB-клавиатуры и USB-м...») |
|||
(не показано 5 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
USB/IP выполняет задачу подключения USB-устройства к удаленному компьютеру через локальную сеть (проброс USB-устройств по локальной сети). | |||
В качестве пробрасываемых устройств могут быть: | В качестве пробрасываемых устройств могут быть: | ||
Строка 5: | Строка 5: | ||
*USB-клавиатуры и USB-мыши; | *USB-клавиатуры и USB-мыши; | ||
*USB веб-камеры и динамики; | *USB веб-камеры и динамики; | ||
*USB-принтеры, USB-сканеры, USB-конвертеры последовательных интерфейсов и адаптеры | *USB-принтеры, USB-сканеры, USB-конвертеры последовательных интерфейсов и адаптеры USB-Ethernet. | ||
На сервере USB/IP можно выводить перечень устройств, устанавливать и убирать их привязки. На клиенте USB/IP можно выводить перечень устройств, экспортированных серверами USB/IP, присоединять и отсоединять их. | |||
{{Note|К серверу подключаются USB-устройства, которые экспортируются на хост-клиент. Хост-клиент виртуально импортирует USB-устройства. }} | |||
== Установка == | == Установка == | ||
=== Настройка сервера === | === Настройка сервера === | ||
Установить пакеты {{ | Установить пакеты {{pkgL|usbip}}, {{pkgL|usbip-server}}: | ||
<syntaxhighlight lang="bash"># apt-get install usbip | <syntaxhighlight lang="bash"># apt-get install usbip usbip-server</syntaxhighlight> | ||
Подгрузить модули драйверов USB: | Подгрузить модули драйверов USB: | ||
Строка 23: | Строка 28: | ||
=== Настройка клиента === | === Настройка клиента === | ||
Установить | Установить пакет {{pkgL|usbip}}: | ||
<syntaxhighlight lang="bash"># apt-get install usbip | <syntaxhighlight lang="bash"># apt-get install usbip</syntaxhighlight> | ||
Подгрузить модули драйверов USB: | Подгрузить модули драйверов USB: | ||
Строка 64: | Строка 69: | ||
Получить список доступных устройств на указанном IP-адресе можно, выполнив команду: | Получить список доступных устройств на указанном IP-адресе можно, выполнив команду: | ||
<syntaxhighlight lang="bash"># usbip list --remote <IP></syntaxhighlight> | |||
Например: | Например: | ||
Строка 77: | Строка 82: | ||
Команда подключения к доступному USB-устройству: | Команда подключения к доступному USB-устройству: | ||
<syntaxhighlight lang="bash"># usbip attach --remote <IP> --busid <ID></syntaxhighlight> | |||
Например: | Например: | ||
Строка 93: | Строка 98: | ||
Команда отключения устройства: | Команда отключения устройства: | ||
<syntaxhighlight lang="bash"># usbip detach --port <Port_number></syntaxhighlight> | |||
Например: | Например: | ||
Строка 99: | Строка 104: | ||
usbip: info: Port 0 is now detached!</syntaxhighlight> | usbip: info: Port 0 is now detached!</syntaxhighlight> | ||
== Графическая утилита == | |||
Для проброса устройств, а также для присоединения/отсоединения USB-устройств с сервера можно воспользоваться графическим интерфейсом (пакет {{pkgL|usbip-gui}}). | |||
Установка: | |||
<syntaxhighlight lang="bash"># apt-get install usbip-gui</syntaxhighlight> | |||
{{Note|Должны быть также установлены соответствующие пакеты для сервера и клиента.}} | |||
{{Note|Для того чтобы использовать все возможности утилиты, её необходимо запускать с правами суперпользователя: | |||
<syntaxhighlight lang="bash"># usbip-gui</syntaxhighlight>}} | |||
После запуска программы будут отображены текущие подключенные устройства: | |||
[[Файл:Usbip-gui-01.png|Usbip-gui. Подключенные USB-устройства]] | |||
В поле «Remote USB Devices» отображается список устройств, доступных на удаленном сервере, в поле «Local USB Devices» — список локально-подключенных устройств, а в поле «Attached Devices» — список устройств, подключенных с удаленного сервера. | |||
Кнопки «Refresh», расположенные над каждым полем, позволяют обновить соответствующий список USB-устройств. | |||
Для подключения/отключения USB-устройства с удаленного сервера необходимо: | |||
# Ввести IP-сервера в поле «Remote USB Devices for» и нажать кнопку «Refresh». | |||
# Если на удаленном сервере есть доступные устройства, они появятся в списке «Remote USB Devices». | |||
# Выбрать нужное устройство и нажать кнопку «Attach Device»: | |||
#: [[Файл:Usbip-gui-02.png|Usbip-gui. Подключение к доступному USB-устройству]] | |||
# Устройство появится в списке «Attached Devices»: | |||
#: [[Файл:Usbip-gui-03.png|Usbip-gui. Список подключенных устройств]] | |||
#: Для отключения устройства, достаточно выбрать его в списке «Attached Devices» и нажать кнопку «Detach Device». | |||
Для того чтобы открыть доступ к локальному USB-устройству, необходимо: | |||
# В поле «Local USB Devices» выбрать нужное устройство: | |||
#: [[Файл:Usbip-gui-04.png|Usbip-gui. Локальное USB-устройство]] | |||
# Нажать кнопку «Bind Device». | |||
{{Note|Чтобы закрыть доступ к к локальному USB-устройству, следует выделить устройство и нажать кнопку «Unbind Device».}} | |||
[[Категория:Hardware]] | [[Категория:Hardware]] | ||
{{Category navigation|title=HOWTO|category=HOWTO|sortkey={{SUBPAGENAME}}}} | {{Category navigation|title=HOWTO|category=HOWTO|sortkey={{SUBPAGENAME}}}} |
Текущая версия от 18:20, 8 октября 2024
USB/IP выполняет задачу подключения USB-устройства к удаленному компьютеру через локальную сеть (проброс USB-устройств по локальной сети).
В качестве пробрасываемых устройств могут быть:
- USB-накопители (fdisk, mkfs, mount/umount, операции с файлами);
- USB-клавиатуры и USB-мыши;
- USB веб-камеры и динамики;
- USB-принтеры, USB-сканеры, USB-конвертеры последовательных интерфейсов и адаптеры USB-Ethernet.
На сервере USB/IP можно выводить перечень устройств, устанавливать и убирать их привязки. На клиенте USB/IP можно выводить перечень устройств, экспортированных серверами USB/IP, присоединять и отсоединять их.
Установка
Настройка сервера
Установить пакеты usbip, usbip-server:
# apt-get install usbip usbip-server
Подгрузить модули драйверов USB:
# modprobe usbip-core
# modprobe usbip-host
Запустить сервис usbipd и добавить его в автозапуск:
# systemctl enable --now usbipd
Настройка клиента
Установить пакет usbip:
# apt-get install usbip
Подгрузить модули драйверов USB:
# modprobe usbip-core
# modprobe vhci-hcd
Управление устройствами
Сервер
Вывести информацию о подключенных локальных устройствах:
# usbip list -l
- busid 1-1.1 (0402:9665)
ALi Corp. : Gateway Webcam (0402:9665)
- busid 1-1.4 (13fe:4300)
Kingston Technology Company Inc. : unknown product (13fe:4300)
- busid 2-1.2 (090c:1000)
Silicon Motion, Inc. - Taiwan (formerly Feiya Technology Corp.) : Flash Drive (090c:1000)
Сделать устройство с ID 2-1.2 доступным:
# usbip bind --busid 2-1.2
usbip: info: bind device on busid 2-1.2: complete
Теперь к устройству можно получить доступ с клиента.
Закрыть доступ к устройству:
# usbip unbind --busid 2-1.2
usbip: info: unbind device on busid 2-1.2: complete
Клиент
Получить список доступных устройств на указанном IP-адресе можно, выполнив команду:
# usbip list --remote <IP>
Например:
# usbip list --remote 192.168.0.118
Exportable USB devices
======================
- 192.168.0.118
2-1.2: Silicon Motion, Inc. - Taiwan (formerly Feiya Technology Corp.) : Flash Drive (090c:1000)
: /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2
: (Defined at Interface level) (00/00/00)
Команда подключения к доступному USB-устройству:
# usbip attach --remote <IP> --busid <ID>
Например:
# usbip attach --remote 192.168.0.118 --busid 2-1.2
Получить список подключенных устройств:
# usbip port
Imported USB devices
====================
Port 00: <Port in Use> at High Speed(480Mbps)
Silicon Motion, Inc. - Taiwan (formerly Feiya Technology Corp.) : Flash Drive (090c:1000)
3-1 -> usbip://192.168.0.118:3240/2-1.2
-> remote bus/dev 002/003
Команда отключения устройства:
# usbip detach --port <Port_number>
Например:
# usbip detach --port 00
usbip: info: Port 0 is now detached!
Графическая утилита
Для проброса устройств, а также для присоединения/отсоединения USB-устройств с сервера можно воспользоваться графическим интерфейсом (пакет usbip-gui).
Установка:
# apt-get install usbip-gui
# usbip-gui
После запуска программы будут отображены текущие подключенные устройства:
В поле «Remote USB Devices» отображается список устройств, доступных на удаленном сервере, в поле «Local USB Devices» — список локально-подключенных устройств, а в поле «Attached Devices» — список устройств, подключенных с удаленного сервера.
Кнопки «Refresh», расположенные над каждым полем, позволяют обновить соответствующий список USB-устройств.
Для подключения/отключения USB-устройства с удаленного сервера необходимо:
- Ввести IP-сервера в поле «Remote USB Devices for» и нажать кнопку «Refresh».
- Если на удаленном сервере есть доступные устройства, они появятся в списке «Remote USB Devices».
- Выбрать нужное устройство и нажать кнопку «Attach Device»:
- Устройство появится в списке «Attached Devices»:
Для того чтобы открыть доступ к локальному USB-устройству, необходимо: