USB в Linux

Материал из Xgu.ru

Перейти к: навигация, поиск
stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.

Если вы считаете, что её стоило бы доработать как можно быстрее, пожалуйста, скажите об этом.

Короткий URL: usb/linux


Содержание

[править] Об использовании USB-устройств в Linux.

Просмотр информации об USB-устройствах:

 lsusb

Показать устройства в виде дерева:

 lsusb -t


[править] Створення серверу USB через ІР на Linux

Уявіть ситуацію, коли існує віртуальна машина, а до неї потрібно приєднати USB-пристрій, який знаходиться на значній відстані. На думку одразу спадає використати апаратний сервер типу DIGI AnywhereUSB або програмний продукт типу USB Redirector, але це вимагає значних коштів. В мережі було знайдено безкоштовний проект USBoverIP (http://usbip.sourceforge.net/)

За допомогою цього пакета на базі Linux системи можна створити USB сервер, який буде обслуговувати USB-пристрої через ІР для клієнтів Linux і Windows.

[править] Налаштування сервера

Завантажте останній пакет за посиланням http://sourceforge.net/projects/usbip/files/

якщо у Вас Debian або Ubuntu, то достатньо встановити пакет з репозитарію.

usbip:~$ sudo apt-get install usbip

Завантажуємо наступні модулі для керування USB портами

usbserver:~$ cd /lib/modules/3.2.0-4-amd64/kernel/drivers/staging/usbip
usbserver:~$ sudo modprobe usbip-core
usbserver:~$ sudo modprobe usbip-host

Запускаємо usbip як системний сервіс:

usbserver:~$sudo usbipd -D

Тепер потрібно обрати bus-ID пристрою, який буде розшарено.

1- Підключіть USB-пристрій до комп’ютера

2- Виконайте команду

usbserver:~$ sudo usbip list -l 

Local USB devices
=================
 - busid 9-1 (12d1:1003)
        9-1:1.0 -> option
        9-1:1.1 -> option
        9-1:1.2 -> usb-storage

bus-ID - USB-пристрій. У цьому випадку :"9-1".

Підключаємо пристрій до серверу

usbserver:~$ sudo usbip bind --busid=9-1

Сервер передає інформацію про USB-пристрій віддаленим клієнтам.

usbserver:~$netstat -nlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address   Foreign Address   State       PID/Program name
tcp     0      0     0.0.0.0:3240      0.0.0.0:*     LISTEN        4057/usbipd

[править] Налаштування клієнтів

  • Клієнт MS Windows

Завантажте клієнта за посиланням https://www.dropbox.com/s/j82oo1z95fom37b/usbip.zip

Потрібно зробити дві дії:

Перша:

В архіві є файл "USBIPEnum.inf", який вам потрібно встановити як "System device" у своїй системі.

Друга:

Запустити наступну команду:

path-to-usbip:> usbip.exe -l <server-ip>

В результаті отримаємо всі пристрої з bus-ID, знайдені на сервері.

Підключаємо пристрій наступною командою:

path-to-usbip:> usbip.exe -a <server-ip> USB-ID

USB-ID у нашому випадку 3-1.

Тепер у системі з’явиться новий USB-пристрій.


  • Клієнт Gnu/Linux

Встановлюємо пакет usbip

$ sudo apt-get install usbip

Підключаємо модуль "vhci-hcd":

$ sudo modprobe vhci-hcd

Переглядаємо список USB-пристроїв

$ sudo usbip -l <server-ip>

Підключіть потрібний пристрій наступною командою:

$ sudo usbip -a <server-ip> X-Y

[править] Дополнительная информация

Источник — «http://xgu.ru/wiki/USB_%D0%B2_Linux»