LINUX.ORG.RU

Как добавить поддержку USB в OpenWRT?

 , , ,


0

1

Привет, лор. Есть один роутер, на него почти из коробки натягивается OpenWRT. У сабжа есть USB, и мне хотелось бы использовать его для хорошего, доброго, вечного, но вот незадача - по дефолтному для девайса конфигу система собирается в самой минимальной комплектации, чисто байтики с порта на порт перекладывать; при подключении устройств к порту питание на них подаётся, но реакция хоста нулевая.

В конфиге, поглядев на тыц, включил {M} kmod-usb-core, <M> kmod-usb-ohci, <M> kmod-usb-uhci, <M> kmod-usb2, <M> kmod-usb-dwc2, после этого в dmesg появилось что-то округлое:

dmesg | grep -i usb
[ 7.656718] usbcore: registered new interface driver usbfs
[ 7.668094] usbcore: registered new interface driver hub
[ 7.679065] usbcore: registered new device driver usb

но принципиально ситуация не изменилась.

В то же время, на странице девайса приведён пример лога загрузки OpenWRT, и в нём белым по чёрному видим строки:


[ 0.570000] rt3xxx-usbphy ubsphy.2: loaded
...
[ 5.140000] usbcore: registered new interface driver usbfs
[ 5.140000] usbcore: registered new interface driver hub
[ 5.160000] usbcore: registered new device driver usb
[ 5.360000] Button Hotplug driver version 0.4.1
[ 5.490000] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 5.510000] ehci-platform: EHCI generic platform driver
[ 5.920000] rt3xxx-usbphy ubsphy.2: remote usb device wakeup disabled
[ 5.930000] rt3xxx-usbphy ubsphy.2: UTMI 16bit 30MHz
[ 5.940000] ehci-platform 101c0000.ehci: EHCI Host Controller
[ 5.960000] ehci-platform 101c0000.ehci: new USB bus registered, assigned bus number 1
[ 5.960000] ehci-platform 101c0000.ehci: irq 26, io mem 0x101c0000
[ 6.000000] ehci-platform 101c0000.ehci: USB 2.0 started, EHCI 1.00
[ 6.020000] hub 1-0:1.0: USB hub found
[ 6.020000] hub 1-0:1.0: 1 port detected
[ 6.100000] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 6.100000] ohci-platform 101c1000.ohci: Generic Platform OHCI Controller
[ 6.100000] ohci-platform 101c1000.ohci: new USB bus registered, assigned bus number 2
[ 6.100000] ohci-platform 101c1000.ohci: irq 26, io mem 0x101c1000
[ 6.430000] hub 2-0:1.0: USB hub found
[ 6.430000] hub 2-0:1.0: 1 port detected

Что нужно потыкать палочкой, чтобы обрести счастье?

а ты внимательно смотрел их вики?

там есть и это

после установки необходимых для Вашего устройства (в зависимости от представленного на плате вида контроллера) пакетов, OpenWRT сможет обращаться к шине USB. Для подключения чего-либо к USB необходимо установить драйвера на эти устройства.

Здесь написано, что делать дальше –»

USB: обзор

anonymous
()
Ответ на: комментарий от izzholtik

нет модулей поддержки USB и USB не работает. по-моему закономерно.

anonymous
()
Ответ на: комментарий от izzholtik

поищи устройство в их вики на том же SOC с встроенной поддержкой USB. у тебя же

по дефолтному для девайса конфигу система собирается в самой минимальной комплектации

неудивительно, что много нет. или придётся «разбирать» какое-либо другое устройство с встроенной поддержкой USB. просто в этом варианте SOC-специфичные вещи будут неочевидны (только моё мнение)

anonymous
()
Ответ на: комментарий от izzholtik

А dmesg |grep -i hci что-нибудь показывает? Если в dtb не описаны контроллеры, узлы в дереве устройств для них не будут созданы, драйверы ehci_hcd и ohci_hcd скорее всего даже не будут загружены.

Вот тут https://github.com/JiapengLi/OpenWrt-HiLink-HLK-RM04/blob/master/openwrt-add-support-for-hilink-hlk-rm04.patch вижу, что в файл HLKRM04.dts добавляются описания устройств. Из чего у тебя собран образ, dtb загружается u-boot-ом или встроен в ядро, я не знаю.

iliyap ★★★★★
()
Ответ на: комментарий от iliyap

Спасибо, проблема действительно была в dts, вероятно, кривовато поддержку полумёртвого девайса влили в основную ветку. Добавил

&usbphy {
	status = "okay";
};
и USB заработала.

izzholtik ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.