Базовая поддержка USB
Некоторые образы, представленные на странице загрузок, уже поставляются с базовой поддержкой USB. Если в Вашем образе поддержка USB отвутствует - эта страница поможет реализовать её в Вашем устройтве. Пакеты, необходимые для самой базовой поддержки USB, указаны в списке ниже (пожалуйста, прочтите о видах хост-контроллеров в Wikipedia прежде чем начнёте):
Название | Размер (байт) | Необходимость | Описание |
---|---|---|---|
kmod-usb-core | да | Модуль ядра для поддержки USB | |
kmod-usb-ohci | зависит от контроллера | Модуль ядра для поддержки контроллеров USB OHCI. | |
kmod-usb-uhci | зависит от контроллера | Модуль ядра для поддержки контроллеров USB UHCI. | |
kmod-usb2 | зависит от контроллера | Модуль ядра для поддержки контроллеров USB2 (EHCI). | |
kmod-usb3 | зависит от контроллера | Модуль ядра для поддержки контроллеров USB3 (XHCI). | |
kmod-ledtrig-usbdev | нет | Модуль ядра для управления светодиодами, представленными как USB-устройства presence/activity. | |
usbutils | нет | Утилиты для просмотра USB устройств в системе (lsusb) | |
kmod-leds-wndr3700-usb | нет | Модуль ядра для управления светодиодами на плате Netgear WNDR3700. (только на ней) |
После установки необходимых для Вашего устройства (в зависимости от представленного на плате вида контроллера) пакетов, OpenWRT сможет обращаться к шине USB. Для подключения чего-либо к USB необходимо установить драйвера на эти устройства. Здесь написано, что делать дальше -→> USB: обзор
Установка
Модули ядра для поддержки USB 1.1
Чипы USB 1.1 могут иметь как UHC так и OHC интерфейс. Вам не следует бояться установить неправильный:
UHCI
Для USB 1.1, попробуйте сначала установить драйвер UHCI и проверить его:
opkg update opkg install kmod-usb-uhci insmod usbcore insmod uhci
Если вы видите сообщение uhci: No such device
значит, это не UHCI устройство. Удалите этот пакет и попробуйте установить OHCI.
OHCI
opkg update opkg install kmod-usb-ohci insmod usb-ohci
Если вы видите сообщение usb-ohci: No such device
значит, это не OHCI устройство. Удалите этот пакет или попробуйте установить UHCI.
Учтите: На ядре 2.6.xx, вам может понадобиться модуль kmod-usb2
, даже если у вас только USB 1.1 контроллер (как в случае с роутером Asus WL-500g на прошивке Backfire brcm47xx)
Модули ядра для поддержки USB 2.0
Обычно, при наличии контроллера usb 2.0, устанавливают модули поддержки и USB1.1 и USB2.0.
opkg update opkg install kmod-usb2 insmod ehci-hcd
Если система сообщает что-то вроде “unresolved symbol usb_calc_bus_time”, попробуйте запустить сначала “usbcore”, а потом снова “ehci-hcd”:
opkg update insmod usbcore insmod ehci-hcd
Устранение неполадок
is this still needed? The max_scsi_luns=8 bit is needed for
multi-card readers and should be added to the end of the scsi_mod
line in the /etc/modules.d/60-usb-storage file. |
dmesg output:
usb.c: registered new driver usbdevfs
...
usb.c: registered new driver usb-storage
scsi0 : SCSI emulation for USB Mass Storage devices
Vendor: Apacer Model: Drive Rev: 1.05
Type: Direct-Access ANSI SCSI revision: 02
Attached scsi removable disk sda at scsi0, channel 0, id 0, lun 0
SCSI device sda: 256000 512-byte hdwr sectors (131 MB)
sda: Write Protect is off
Partition check:
/dev/scsi/host0/bus0/target0/lun0: p1
WARNING: USB Mass Storage data integrity not assured
USB Mass Storage device found at 2
USB Mass Storage support registered.
|
If you still have problems with USB have a look at the unfixed USB bugs better bugs since last release |
Ссылки
- Linux USB - http://www.linux-usb.org/
- Linux USB device support - http://www.linux-usb.org/devices.html