Прошивка олега и USB-девайсы.
WL 500gP
Вроде со всем разобрался, но вот назрела новая проблема:
1) подключаю видео-камеру панасоник в режиме WebCam - девайс не опознает
2) подключаю флэшку Transcend на 128Мб - девайс не опознает
3) подключаю винт в Мобил-рэке - девайс не опознает
4) подключаю кард-ридер с флешкой на 1гБ - девайс не опознает
5) подключаю флэшку нонэйм 256Мб - девайс не опознает :confused:
в 5 случае в логах вот что:
Mar 24 23:39:17 kernel: hub.c: new USB device 01:03.2-1, assigned address 2
Mar 24 23:39:17 kernel: usb.c: USB device 2 (vend/prod 0xea0/0x2168) is not claimed by any active driver.
Кто-нибудь знает решение проблемы??? Что вообще к нему тогда можно подключить???
USB 1.1 устройства в USB 2.0 хаб
Кажется, проблема уже обсуждалась неоднократно, но всё-таки хотелось бы подытожить, что в настоящее время по этому вопросу решено.
Имеется: WL500gP
На борту контроллер: 2+2 USB1.1, они же 4 USB2.0
Если втыкать любые устройства (USB1.1 или USB 2.0) непосредственно в сам контроллер, то они функционируют без проблем.
Для тестов рассмотрена следующая иерархия:
К разъёму 1 роутера подключен Bluetooth Broadcom USB Dongle.
К разъёму 2 - хаб, в него подключен USB HDD, UPS (HID) и ещё кабель USB-COM PL2303 (который не работает, об этом ниже)
К разъёму 4 подключена USB Flash, с которой роутер и грузится
Code:
lsusb -t
Bus# 2
`-Dev# 1 Vendor 0x0000 Product 0x0000
Bus# 1
`-Dev# 1 Vendor 0x0000 Product 0x0000
`-Dev# 2 Vendor 0x0a5c Product 0x2123 (usb bluetooth broadcom)
Bus# 3
`-Dev# 1 Vendor 0x0000 Product 0x0000
|-Dev# 2 Vendor 0x05e3 Product 0x0608 (hub)
| |-Dev# 6 Vendor 0x05e3 Product 0x0608 (hub)
| | `-Dev# 8 Vendor 0x051d Product 0x0002 (ups hid)
| `-Dev# 7 Vendor 0x152d Product 0x2339 (usb hdd)
`-Dev# 3 Vendor 0x0951 Product 0x1603 (usb flash)
Как видно из иерархии:
Code:
Bus# 1
`-Dev# 1 Vendor 0x0000 Product 0x0000
`-Dev# 2 Vendor 0x0a5c Product 0x2123
USB Bluetooth прекрасно себя чувствует, находясь на разъёме корневого контроллера, причём функционирует он по USB1.1, о чём говорит Bus#1 (UHCI)
Остальные устройства функционируют по USB 2.0, о чём говорит Bus#3 (EHCI)
Кабель USB-COM PL2303 (который изначально и всегда был USB 1.1) не определяется, если подключен к концентратору, поэтому в иерархии о нём нет упоминания, зато есть ошибка в логе:
Code:
Aug 23 11:37:24 kernel: hub.c: new USB device 01:03.2-2.3, assigned address 55
Aug 23 11:37:24 kernel: usb.c: unable to get device descriptor (error=-32)
Если к порту 1 конревого концентратора подключить вместо USB Bluetooth кабель USB-COM PL2303, то система успешно обнаружит его.
Если этот кабель воткнуть назад в USB-2.0 хаб, то произойдёт вышеуказанная ошибка. Аналогичная ошибка возникает при попытке подключения к USB2.0 хабу USB Bluetooth.
Если отключить модуль ядра ehci-hcd, который отвечает за USB 2.0, то все устройства, включая хаб и то, что воткнуто в него, садятся на Bus#2 (UHCI) и функционируют по протоколу USB 1.1. При этом отлично определяется и USB-COM PL2303, подключенный через хаб, и USB Bluetooth.
Если отключить модуль ядра usb-uhci, который отвечает за USB 1.1, то в системе определяются лишь USB2.0 устройства. Подключенные к корневому концентратору USB-COM PL2303 не определяется, USB-Bluetooth не определяется. Если вышеуказанные кабель и блютус втыкать в USB2.0 хаб, то снова возникает та же самая ошибка.
Конфиругация пот отключенном UHCI выглядит так:
Code:
Bus# 3
`-Dev# 1 Vendor 0x0000 Product 0x0000
|-Dev# 2 Vendor 0x05e3 Product 0x0608
| |-Dev# 6 Vendor 0x05e3 Product 0x0608
| | `-Dev# 8 Vendor 0x051d Product 0x0002
| `-Dev# 7 Vendor 0x152d Product 0x2339
|-Dev# 52 Vendor 0x05e3 Product 0x0608
`-Dev# 3 Vendor 0x0951 Product 0x1603
Аналогичный эксперимент был проведён на Ubuntu 8.10 (2.6.24). Были получены очень интересные результаты, а именно:
В общем и целом поведение при отключении-подключении модулей было аналогичным, за исключением того, что подключенные к USB2.0 хабу устройства USB 1.1 (USB-COM и USB Bluetooth) превосходно определялись и работали при загруженном лишь одном модуле ehci-hcd. В этом случае при подключении вышеназванных устройств напрямую к корневому концентратору наблюдалась полная тишина (устройство не опознавалось, вообще).
Из всего этого были сделаны следующие выводы:
1. на корневом концентраторе (без хабов):
а) USB 1.1 устройства работают через модуль UHCI
б) USB 2.0 устройства работаю через модуль EHCI
2. через USB 2.0 хаб - все устройства работаю через модуль EHCI
3. через USB 1.1 хаб - все устройства работаю через модуль UHCI
Однако, в отличие от ББ (Ubuntu) на роутере через USB 2.0 хаб устройства USB 1.1 отказываются функционировать с ошибкой unable to get device descriptor (error=-32).
Если отключить USB 2.0 в принципе на роутере (смонтировать /dev/null в /lib/modules/..../ehci-hcd.o), то все устройства начинают функционировать по протоколу 1.1, при этом определяются и работаю без особых затыков.
Исключение составляет лишь USB HDD при работающем торренте. В данном случае возникает экстремальная загрузка процессора (до 5 ждущих процессов), однако top упорно показывает, что система занята на 10-12%. Обмен данными с диском в этом случае не превышает 10-25кБайт/сек (то есть затык не по пропускной способности USB1.1). Есть догадка, что систему грузят постоянные прерывания от USB-контроллера, которые мешают работать. Собственно, если бы не последнее явление, то можно было бы оставаться на USB1.1.
А теперь вопросы:
1. может быть есть решение проблемы подключения USB1.1 устройств в USB2.0 хаб под linux 2.4.20 или хотя бы патч?
2. есть ли способ избавиться от "тормозов" при активной работе с USB HDD в режиме 1.1?
USB device not accepting new address
Добрый день
Рутер WL500g Premium, прошивка 1.9.2.7-10
Подключаю флешку 2GB Kingston - все видится и работает OK.
[admin@shell root]$ ls /proc/scsi/
scsi usb-storage-0
[admin@shell root]$ cat /proc/scsi/usb-storage-0/0
Host scsi0: usb-storage
Vendor: KINGSTON
Product: DataTraveler 2.0
Serial Number: 001000000000000000000227
Protocol: Transparent SCSI
Transport: Bulk
GUID: 095116070000000000000227
Attached: Yes
Port: 2
Bus: 01:03.2-2
Подключаю USB 2.0 WD 320GB, говорит
Sep 10 08:49:00 kernel: hub.c: new USB device 01:03.0-1, assigned address 5
Sep 10 08:49:00 kernel: usb.c: USB device 5 (vend/prod 0x13fd/0x160e) is not claimed by any active driver.
Sep 10 08:49:00 kernel: usb.c: USB disconnect on device 01:03.0-1 address 5
Sep 10 08:49:02 kernel: hub.c: connect-debounce failed, port 1 disabled
и ничего не видно
Пробую другой HDD USB 2.0 WD 160GB
ошибки немного другие
hub.c: new USB device 01:03.2-1, assigned address 5
usb.c: USB device not accepting new address=5 (error=-71)
опять видно только флешку
[admin@shell root]$ ls /proc/scsi/
scsi usb-storage-0
делаю
[admin@shell root]$ rmmod usb-storage; rmmod sd_mod; rmmod scsi_mod;rmmod audio;rmmod printer; rmmod ehci-hcd;rmmod
usb-uhci;rmmod usbcore
[admin@shell root]$ insmod usb-storage; insmod sd_mod; insmod scsi_mod; insmod ehci-hcd;insmod usb-uhci;insmod usbcore
устройство 160GB видится
[admin@shell root]$ ls /proc/scsi/
scsi usb-storage-0 usb-storage-1
но attached: no
[admin@shell root]$ cat /proc/scsi/usb-storage-1/1
Host scsi1: usb-storage
Vendor: Western Digital
Product: External HDD
Serial Number: 5173973B99961DB2C4DFBF78
Protocol: Transparent SCSI
Transport: Bulk
GUID: 1058070299961db2c4dfbf78
Attached: No
и продолжаются ошибки
hub.c: new USB device 01:03.2-2, assigned address 4
usb.c: USB device not accepting new address=4 (error=-71)
hub.c: new USB device 01:03.2-2, assigned address 5
usb.c: USB device not accepting new address=5 (error=-71)
hub.c: new USB device 01:03.2-2, assigned address 6
usb.c: USB device not accepting new address=6 (error=-71)
hub.c: new USB device 01:03.2-2, assigned address 7
usb.c: USB device not accepting new address=7 (error=-71)
какие могут быть идеи?
Спасибо
PS если уже было на форуме, сори, что не мог найти... буду очень благодарен за ссылку...