LINUX.ORG.RU

Не определяются USB устройства

 ,


0

2

Добрый вечер

Суть вопроса такая. На самодельной плате запускаю uclinux+busybox. Собирал все это в buildroot’e.

Так вот устройство нормально определяется на этапе загрузки системы.

Если его выдернуть - пишет отключено, если после этого вставить обратно, ничего не происходит. Устройство не появляется в выхлопе lsusb.

Пытался отключить и включить usb-hub через /sys/bus/usb/….. пишет что хаб найден, но энумерации usb устроств не происходит..

Тут вопросы такие: Искать проблему в драйвере usb? Нужен ли udev для этого? (он помечен как removed legacy option)

Вообще, это все для подключения usb модема. Оно как бы не очень надо, просто интересно. Когда делаешь usb_modeswitch пишет что все классно, устройство переключено, но по факту существующее отключается, а новое не появляется.

а другие устройства - определяются? внешний usb-хаб после переподключения - определяется?

Нужен ли udev для этого?

Если нужно автовыполнение действий(запуск программы) при вставке оборудования - то да, иначе - нет.

Atlant ★★★★★ ()
Последнее исправление: Atlant (всего исправлений: 1)
Ответ на: комментарий от Atlant

Если при загрузке воткнуть внешний хаб, он определяется. Если потом в хаб втыкать и вытыкать устройства, то тоже все определяется нормально.

Если выдернуть и воткнуть сам хаб то все, он уже не определяется.

rexton ()
Ответ на: комментарий от Atlant

посмотрел, померил напряжение на D+ D- после выдергивания устройства, обе линии притянуты к минусу (т.е. получается состояние SE0 на шине, типа сброс устройства), и из этого состояния хост не выходит.

кстати драйвер используется dwc2.

буду ковырять, может в настройках драйвера что-то

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

Хз, не встречал такого.
Интереса ради можно всё же попробовать включить otg и подёргать направление после возникновения глюка.
А что за чип?

izzholtik ★★ ()
Последнее исправление: izzholtik (всего исправлений: 1)
Ответ на: комментарий от rexton

в общем, проблема решилась перекомпиляцией ядра, с включенным флагом CONFIG_USB_OTG. не включал, потому что там в хелпе идет описание про переключение режимов хост/устройство, думал раз у меня хост, то оно мне и не надо.

Но возникла другая проблема, воткнул модем, сделал usb_modeswitch, все нормально, появилось 3 устройства ttyUSB*, но при попытке обращения к ним система тупо виснет, до момента, пока не выдернешь юсб устройство.

пробовал через echo ATI > /dev/USB0. виснут оба терминала (один через telnet, второй по последовательному порту). Но даже не то что виснут, а нет эха от ввода. А после выдергивания модема все то что набираешь вываливается в терминал (т.е. система сама по себе работает получается).

Такая же история с преобразователем usb <-> rs485 на cp2103.

Пните, куда копать пожалуйста.

rexton ()