Запустите с -DDDDD.Code:# megatec_usb -a Ippon -u root -DDDDDDDDDDDDDDDDDDDDDDDDD Network UPS Tools - Megatec protocol driver 1.6 (2.4.1) Serial-over-USB transport layer 0.10 debug level is '25' Checking device (0000/0000) (002/001) - VendorID: 0000 - ProductID: 0000 - Manufacturer: Linux 2.4.20 ehci_hcd - Product: PCI device 14e4:471a - Serial Number: 00:03.1 - Bus: 002 Trying to match device Device does not match - skipping Checking device (0424/2502) (002/002) - VendorID: 0424 - ProductID: 2502 - Manufacturer: unknown - Product: unknown - Serial Number: unknown - Bus: 002 Trying to match device Device does not match - skipping Checking device (0665/5161) (002/003) - VendorID: 0665 - ProductID: 5161 - Manufacturer: Cypress Semiconductor - Product: USB to Serial - Serial Number: unknown - Bus: 002 Trying to match device Device matches none (-22) DTR=1, RTS=0 Starting UPS detection process... Asking for UPS information [I]... none (-22) I => FAILED [short read] I detail: (1 bytes) => 49 Asking for UPS status [Q1]... none (-22) Q1 => FAILED [timeout] Asking for UPS status [Q1]... none (-22) none (-22) Q1 => FAILED [timeout] Asking for UPS status [Q1]... none (-22) none (-22) Q1 => FAILED [timeout] Asking for UPS status [Q1]... none (-22) none (-22) Q1 => FAILED [timeout] Asking for UPS status [Q1]... none (-22) ser_send_pace: Device detached? (error -1: error sending control message: Broken pipe) ================================================== = device has been disconnected, try to reconnect = ================================================== Checking device (0000/0000) (002/001) - VendorID: 0000 - ProductID: 0000 - Manufacturer: Linux 2.4.20 ehci_hcd - Product: PCI device 14e4:471a - Serial Number: 00:03.1 - Bus: 002 Trying to match device Device does not match - skipping Checking device (0424/2502) (002/002) - VendorID: 0424 - ProductID: 2502 - Manufacturer: unknown - Product: unknown - Serial Number: unknown - Bus: 002 Trying to match device Device does not match - skipping Checking device (0665/5161) (002/003) - VendorID: 0665 - ProductID: 5161 - Manufacturer: Cypress Semiconductor - Product: USB to Serial - Serial Number: unknown - Bus: 002 Trying to match device Device matches Successfully reconnected none (-22) Q1 => FAILED [timeout] 5 out of 5 detection attempts failed (minimum failures: 2). Megatec protocol UPS not detected.
А megatec.c подправили?Code:$ awk 'NR==71 {print $0}' megatec.c #define READ_PACE 100000 /* interval to wait between sending a command and reading the response (usec) */С какой именно прошивкой экспериментируете?Product ID: WL500gpv2
Firmware Version: 1.9.2.7
Firmware Release: 1.9.2.7-10
UPS через хаб подключаете или напрямую?Подключаю напрямую в нижний USB разъём, в верхний воткнут хард на 250 гигов.
usb 2.0 выключать пробовали (модуль ehci-hcd)?Только-что попробовал, если я выполняю # rmmod ehci-hcd, то у меня отрубается винчестер и я его примонтировать снова не могу, я даже не могу после этого выполнить команду # ls /dev, выдаёт что-то типа "Юзер сигнал 1".
Last edited by kvazimoda24; 11-06-2009 at 17:52.
Понял, ядро старенькое 2.4.20. Придется тебе самому в нем копаться... Могу только дать некоторые наводки:
- Если окажется, что после отключения usb 2.0 всё заработало, то причина в дополнительных проверках в ehci-hcd. А именно, скорее всего, urb->interval не выставляется в drivers/usb/devio.c в функции proc_submiturb(). Код можно слизать из 2.6, для ядра 2.4.37 это должно выглядить так - 242-usb-devio.patch
- Ежели отключение usb 2.0 не поможет, то единственный быстрый и тупой вариант пройтись по drivers/usb/usb.c, hcd.c, drivers/usb/host/*.c и вставить доп. отладку везде, где возвращается -EINVAL. Или расставить уникальные коды, и по изменившемуся коду ошибки понять где-же сбоит проверка.
надо отключить usb 2.0 до подключения винта или отмонтировать винт в момент передергивания.Только-что попробовал, если я выполняю # rmmod ehci-hcd, то у меня отрубается винчестер и я его примонтировать снова не могу, я даже не могу после этого выполнить команду # ls /dev, выдаёт что-то типа "Юзер сигнал 1".
Last edited by lly; 11-06-2009 at 20:28.
Я не знал, что есть более новые прошивки, только что скачал и установил самую новую, которую нашёл:Понял, ядро старенькое 2.4.20.
Firmware Release: 1.9.2.7-d-r308
После этого я всё-таки смог отключить USB 2.0, прямо через WEB-интерфейс. И бесперебойник заработал.
А не могли бы выложить готовый собранный модуль ehci-hcd, если он, конечно уже есть собранный. Потому как, я не представляю себе как собрать ядро для роутера, чтобы оно работало на нём. Я так понимаю, надо же собирать под конкретный процессор, а выбрать такой процессор в настройщике ядра нельзя
Или я чего-то не понимаю?
Last edited by kvazimoda24; 12-06-2009 at 10:45.
ASUS WL5xx: FW 1.9.2.7-d-rXXXX / обсуждение прошивки [RU] / firmware discussion [EN] | bip irc proxy
ASUS RT-N1x: FW 1.9.2.7-rtn-rXXXX / обсуждение прошивки [RU] / firmware discussion [EN] | fake ident daemon
Это наша коллективная помощь Олегу Если у него вновь появится время, тогда вообще будет супер-круто
Я уже подправил в SVN, проще попробовать собрать r358 и посмотреть насколько я был прав. Ну а нет, дальше будем копать...После этого я всё-таки смог отключить USB 2.0, прямо через WEB-интерфейс. И бесперебойник заработал.
Буду пробовать исправлять драйвера usb
У меня уже мозги кипят, будте добры, киньте в меня ссылкой чтоли, где можно прочитать про то, что такое SVN и как можно собрать самому прошивку r358. И где куча предыдущих прошиок, я на сайте http://code.google.com/p/wl500g/ смог найти толь WL500gpv2-1.9.2.7-d-r308.trx. Я так понимаю есть где-то еще 49 версий...Я уже подправил в SVN, проще попробовать собрать r358 и посмотреть насколько я был прав. Ну а нет, дальше будем копать...
Спасибо, вечерком попробую, будем надеяться, что после такой прошивки этот серебристый зверёк не умрёт
Еще уменьшите задержку! У меня стоит 10000, а увас 100000 т.е. в десять раз больше! USB 2.0 я не отключал, IPPON 2000 работает на ура!
Когдя я, наткнувшись на эту проблему, ковырял этот драйвер, то обнаружил, что UPS гонит данные в USB, в отличии от COM, без задержекn и на большей скорости, в результате из-за задержки буфер переполняется и начинает переписываться! Совсем убирать задержку не стал, т.к. не знал, на что она еще влияет, по этому просто стал ее уменьшать, при уменьшении значения до 100000 срабатывало, но как-то не стабильно, а вот с уменьшением еще в 10 раз, т.е. до 10 000 работает отлично!
Last edited by smi; 12-06-2009 at 12:52.
Попробовал написать десять тысяч. Ничего не изменилось, ну разве что пролетает все гораздо быстрее, а так, ни ответа, ни привета, а при отключенном USB 2.0, всё работает, но уж больно медленно работает с винчестером, так что занялся я сборкой прошивки. О результатах отпишу.Еще уменьшите задержку! У меня стоит 10000, а увас 100000 т.е. в десять раз больше! USB 2.0 я не отключал, IPPON 2000 работает на ура!
Когдя я, наткнувшись на эту проблему, ковырял этот драйвер, то обнаружил, что UPS гонит данные в USB, в отличии от COM, без задержекn и на большей скорости, в результате из-за задержки буфер переполняется и начинает переписываться! Совсем убирать задержку не стал, т.к. не знал, на что она еще влияет, по этому просто стал ее уменьшать, при уменьшении значения до 100000 срабатывало, но как-то не стабильно, а вот с уменьшением еще в 10 раз, т.е. до 10 000 работает отлично!
Значит так, начал собирать прошивку и застопорился на пункте 4.3:
Судя по тому, что я смог разобрать, сборка стопорится на чем-то, что связано как раз с usb...Code:$ make [ ! -d libbcmcrypto ] || make -C libbcmcrypto EXTRACFLAGS="-mips32 -mtune=mips32 -Wno-pointer-sign -DBCMWPA2 " find: `/home/kvazimoda/Загрузки/For_Router/New_Firmware/Derevo/broadcom/src/gateway/mipsel-uclibc/target': No such file or directory make[1]: Entering directory `/home/kvazimoda/Загрузки/For_Router/New_Firmware/Derevo/broadcom/src/gateway/libbcmcrypto' make[1]: Nothing to be done for `all'. make[1]: Leaving directory `/home/kvazimoda/Загрузки/For_Router/New_Firmware/Derevo/broadcom/src/gateway/libbcmcrypto' [ ! -d libusb ] || make -C libusb EXTRACFLAGS="-mips32 -mtune=mips32 -Wno-pointer-sign -DBCMWPA2 " make[1]: Entering directory `/home/kvazimoda/Загрузки/For_Router/New_Firmware/Derevo/broadcom/src/gateway/libusb' make all-recursive make[2]: Entering directory `/home/kvazimoda/Загрузки/For_Router/New_Firmware/Derevo/broadcom/src/gateway/libusb' Making all in . make[3]: Entering directory `/home/kvazimoda/Загрузки/For_Router/New_Firmware/Derevo/broadcom/src/gateway/libusb' make[3]: Nothing to be done for `all-am'. make[3]: Leaving directory `/home/kvazimoda/Загрузки/For_Router/New_Firmware/Derevo/broadcom/src/gateway/libusb' Making all in tests make[3]: Entering directory `/home/kvazimoda/Загрузки/For_Router/New_Firmware/Derevo/broadcom/src/gateway/libusb/tests' /bin/sh ../libtool --mode=link mipsel-uclibc-gcc -O2 -mips32 -mtune=mips32 -Wno-pointer-sign -Wall -o testlibusb testlibusb.o ../libusb.la mipsel-uclibc-gcc -O2 -mips32 -mtune=mips32 -Wno-pointer-sign -Wall -o .libs/testlibusb testlibusb.o ../.libs/libusb.so /home/kvazimoda/Загрузки/For_Router/New_Firmware/brcm/hndtools-mipsel-uclibc-4.1.2/bin/../lib/gcc/mipsel-linux-uclibc/4.1.2/../../../../mipsel-linux-uclibc/bin/ld: BFD 2.17 assertion fail elflink.c:6261 /home/kvazimoda/Загрузки/For_Router/New_Firmware/brcm/hndtools-mipsel-uclibc-4.1.2/bin/../lib/gcc/mipsel-linux-uclibc/4.1.2/../../../../mipsel-linux-uclibc/bin/ld: .libs/testlibusb: hidden symbol `__fini_array_end' in .libs/testlibusb is referenced by DSO /home/kvazimoda/Загрузки/For_Router/New_Firmware/brcm/hndtools-mipsel-uclibc-4.1.2/bin/../lib/gcc/mipsel-linux-uclibc/4.1.2/../../../../mipsel-linux-uclibc/bin/ld: final link failed: Nonrepresentable section on output collect2: ld returned 1 exit status make[3]: *** [testlibusb] Error 1 make[3]: Leaving directory `/home/kvazimoda/Загрузки/For_Router/New_Firmware/Derevo/broadcom/src/gateway/libusb/tests' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/home/kvazimoda/Загрузки/For_Router/New_Firmware/Derevo/broadcom/src/gateway/libusb' make[1]: *** [all] Error 2 make[1]: Leaving directory `/home/kvazimoda/Загрузки/For_Router/New_Firmware/Derevo/broadcom/src/gateway/libusb' make: *** [libusb] Ошибка 2
Кстати, посмотрел ваше первое сообщение и нашел там такое:
, у меня стоит port = auto$ cat /opt/etc/ups.conf
[Ippon]
driver = megatec_usb
port = /dev/usb/hiddev0Народ, может кто соберёт прошивочку для меня, а то ну никак не могу разобраться в чём дело, почему стопорится... Делаю все по инструкции: Сборка прошивки. Стопорюсь на пункте 4.3. Вывод команды make приводил чуть выше.Code:$ cat /opt/etc/ups.conf [Ippon] driver = megatec_usb port = auto vendorid = 0665