User Tools

Site Tools


ru:doc:howto:usb.essentials

Базовая поддержка USB

Некоторые образы, представленные на странице загрузок, уже поставляются с базовой поддержкой USB. Если в Вашем образе поддержка USB отвутствует - эта страница поможет реализовать её в Вашем устройтве. Пакеты, необходимые для самой базовой поддержки USB, указаны в списке ниже (пожалуйста, прочтите о видах хост-контроллеров в Wikipedia прежде чем начнёте):

Название Размер (байт) Необходимость Описание
kmod-usb-core 74274 да Модуль ядра для поддержки USB
kmod-usb-ohci 14935 зависит от контроллера Модуль ядра для поддержки контроллеров USB OHCI.
kmod-usb-uhci 14897 зависит от контроллера Модуль ядра для поддержки контроллеров USB UHCI.
kmod-usb2 24752 зависит от контроллера Модуль ядра для поддержки контроллеров USB2 (EHCI).
kmod-ledtrig-usbdev 3502 нет Модуль ядра для управления светодиодами, представленными как USB-устройства presence/activity.
usbutils 187087 нет Утилиты для просмотра USB устройств в системе (lsusb)
kmod-leds-wndr3700-usb 2156 нет Модуль ядра для управления светодиодами на плате 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

Модули ядра для поддержки USB 3.0

До сих пор нет устройств, поддерживаемых OpenWRT, с портами USB 3.0

Устранение неполадок

FIXME 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 FIXME better bugs since last release

Ссылки

ru/doc/howto/usb.essentials.txt · Last modified: 2015/12/30 01:46 by tmomas