Strona 1 z 2

Dodanie portu USB do WRT54gl-eu

: 2010-12-24, 15:05
autor: bojleros
Witam.

Pomimo tego że to forum jest dedykowane dla slackware zdecydowałem się napisać ten post ze względu na szerokie zainteresowania i bogatą wiedzę użytkowników.



Jest sobie router WRT54GL-EU 1.1 Linksysa. Mam na nim przerobione openwrt. Zachęcony opisami znalezionymi w sieci próbuję uruchomić USB.

Mam załadowane następujące moduły.

Kod: Zaznacz cały

sch_hfsc               15960   2
sch_prio                3224   7
usb-storage            69648   0 (unused)
wlcompat                9504   0 (unused)
usb-ohci               19252   0 (unused)
ipt_ULOG                3772   0 (unused)
ip_conntrack_tftp       1628   0 (unused)
ip_nat_irc              2296   0 (unused)
ip_conntrack_irc        3028   1
ip_nat_ftp              2920   0 (unused)
ip_conntrack_ftp        4172   1
ipt_TOS                  988   0 (unused)
ipt_tos                  316   0 (unused)
ipt_TTL                  956   0 (unused)
ipt_MARK                 604   0 (unused)
ipt_ECN                 1628   0 (unused)
ipt_DSCP                 972   0 (unused)
ipt_CLASSIFY             716   4
ipt_unclean             6844   0 (unused)
ipt_ttl                  508   0 (unused)
ipt_tcpmss               668   0 (unused)
ipt_mark                 316   0 (unused)
ipt_length               348   0 (unused)
ipt_ecn                  668   0 (unused)
ipt_dscp                 316   0 (unused)
ipt_pkttype              300   0 (unused)
ipt_owner               1292   0 (unused)
ipt_condition           1372   0 (unused)
ipt_MASQUERADE          1316   1
iptable_nat            20856   3 [ip_nat_irc ip_nat_ftp ipt_MASQUERADE]
ipt_state                408  14
ip_conntrack           22368   3 [ip_conntrack_tftp ip_nat_irc ip_conntrack_irc ip_nat_ftp ip_conntrack_ftp ipt_MASQUERADE iptable_nat ipt_state]
sd_mod                 12500   0 (unused)
ipt_REJECT              3932   2
ipt_TCPMSS              2316   1
ipt_LOG                 3804   3
ipt_multiport            748   4
ipt_mac                  556   7
ipt_limit                892   0 (unused)
iptable_mangle          2156   1
iptable_filter          1676   1
ip_tables              16960  31 [ipt_ULOG ipt_TOS ipt_tos ipt_TTL ipt_MARK ipt_ECN ipt_DSCP ipt_CLASSIFY ipt_unclean ipt_ttl ipt_tcpmss ipt_mark ipt_length ipt_ecn ipt_dscp ipt_pkttype ipt_owner ipt_condition ipt_MASQUERADE iptable_nat ipt_state ipt_REJECT ipt_TCPMSS ipt_LOG ipt_multiport ipt_mac ipt_limit iptable_mangle iptable_filter]
ext2                   40304   1
wl                    666560   0 (unused)
usbcore                71296   1 [usb-storage usb-ohci]
scsi_mod               66048   1 [usb-storage sd_mod]
mmc                    26540   1
switch-robo             5180   0 (unused)
switch-core             5104   0 [switch-robo]
diag                   50448   0 (unused)
lspci pokazuje:

Kod: Zaznacz cały

# lspci
00:00.0 FLASH memory: Broadcom Corporation Sentry5 Chipcommon I/O Controller
00:01.0 Ethernet controller: Broadcom Corporation Sentry5 Ethernet Controller
00:02.0 MIPS: Broadcom Corporation BCM3302 Sentry5 MIPS32 CPU
00:03.0 USB Controller: Broadcom Corporation BCM47xx Sentry5 USB Host Controller
00:04.0 RAM memory: Broadcom Corporation Sentry5 DDR/SDR RAM Controller
00:05.0 Network controller: Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller
00:06.0 Network controller: Broadcom Corporation BCM47xx/53xx RoboSwitch Core
lsusb pokazuje:

Kod: Zaznacz cały

# lsusb
Bus 001 Device 001: ID 0000:0000


Po próbie podłączenia pendrive dostaje komunikat:

Kod: Zaznacz cały

hub.c: new USB device 00:03.0-1, assigned address 12               
usb.c: USB device not accepting new address=12 (error=-145)
hub.c: new USB device 00:03.0-1, assigned address 13       
usb.c: USB device not accepting new address=13 (error=-145)

Kod: Zaznacz cały

Linux *.servebeer.com 2.4.35.4 #12 Tue Dec 29 15:30:20 UTC 2009 mips unknown
Pytałem się ludzi i dowiedziałem się że u nich usb (włączenie z usb-storage i obsługą drukarek) działa (i to na rezystorach standardowych).

Czy ktoś wie co oznacza , i czym może być spowodowany zwracany błąd ?
Czy może być jakimś problemem fakt że używam zmodyfikowanego drivera mmc.o (obsługa karty sd z diodek)?
Czy problemem może być za miękkie zasilanie ? Przy zaciskach kabelka mam kondensator 1000uF !

Z góry dziękuję

Re: Dodanie portu USB do WRT54gl-eu

: 2010-12-24, 21:17
autor: darjerz
Ja obstawiam za mały prąd, ale ... to tylko zakład :d

Re: Dodanie portu USB do WRT54gl-eu

: 2010-12-24, 22:24
autor: Pajaczek
A ten 1000uF masz na zasilaniu urządzenia, czy na wyjściu USB??

Re: Dodanie portu USB do WRT54gl-eu

: 2010-12-26, 08:52
autor: bojleros
Kondzior jest już na 5V , za stabilizatorem liniowym 7805. Przylutowałem go bezpośrednio do kabelka zakończonego gniazdem usb (taki ze starej płyty AT) tak żeby dawał zapas energii możliwie jak najbliżej (po najmniejszej impedancji) do obciążenia.

Zapad napięcia jest możliwi no ale ile tego kondensatora jeszcze by dawać..... 1000uF to już sporo po mojemu ... Według dawnej szkoły daje się tyle tysięcy uF ile się pobiera amper ciągłego prądu ....

Re: Dodanie portu USB do WRT54gl-eu

: 2010-12-26, 10:12
autor: PITbull
Popróbuj inne obrazy i moduły usb może pomoże.

http://eko.one.pl/?p=openwrt-wersja

Re: Dodanie portu USB do WRT54gl-eu

: 2010-12-26, 16:18
autor: jacol
Witam.
bojleros pisze: Czy może być jakimś problemem fakt że używam zmodyfikowanego drivera mmc.o (obsługa karty sd z diodek)?
Myślę że przyczyną wadliwego działania usb jest podłączenie czytnika kart. Podobne komunikaty otrzymywałem podczas gdy do jednego z gniazd usb podłączony był czytnik kart (uszkodzony??). Tutaj jest trochę inna sytuacja. Nic nie szkodzi odłączyć kilka przewodów i sprawdzić. Ten stabilizator 7805 jest oryginalnie wstawiony do sprzętu? Jeżeli nie to należy blokować do GND wejście i wyjście kondensatorami 100 nF. jacol

Re: Dodanie portu USB do WRT54gl-eu

: 2010-12-26, 21:36
autor: bojleros
jacol, Troszkę nie łapie o jakim czytniku piszesz. Dla jasności, normalnie do wrt mam podpiętą kartę SD na liniach gpio. Ta karta działa na sterowniku mmc.o. Teraz mam pendrive i inną kartę na przejściówce na usb i to nie działa, uzupełnijmy, nawet nokia podłączona w trybie pc-siute nie dostaje adresu na magistrali usb....

Co do kondensatorów to mam 2x100nF ceramiczne, pisząc zaokrągliłem bo takie kondensatory to standard przy obciążeniach impulsowych.

PITbull, Nie pamiętam do końca jak instalowałem to openwrt, dlatego wymianę softu uważam za ostateczność.


Znalazłem w sieci nową sugestię http://wl500g.info/showthread.php?t=1830

EDIT1: Są też sugestie że jakiś rejestr nie jest ustawiny poprawnie na mipsie i to z tego problemy. Hub nie musi wcale pomóc ...

Z kernela jestem tępy ...

Re: Dodanie portu USB do WRT54gl-eu

: 2010-12-27, 09:45
autor: jacol
Witam.
"
jacol, Troszkę nie łapie o jakim czytniku piszesz.
"
Na zdjęciach tego projektu widziałem w miarę porządnie wykonane podłączenie gniazda na kartę SD dlatego nazwałem to czytnikiem... O czytniku kart na usb wspomniałem ponieważ jak był podłączony to w momencie wkładania pendriva kernel wysyłał podobne komunikaty do tych które cytujesz.Ostatnie zdanie dotyczy pcta. jacol

Re: Dodanie portu USB do WRT54gl-eu

: 2010-12-27, 21:29
autor: bojleros
Dla zainteresowanych dołączam dmesg z najnowszej wersji openwrt (kernel 2.6.32.25)

Kod: Zaznacz cały

usb 1-1: new full speed USB device using ohci_hcd and address 19
usb 1-1: device descriptor read/64, error -62
Jan  1 00:10:39 OpenWrt user.info kernel: usb 1-1: new full speed USB device using ohci_hcd and address 19
Jan  1 00:10:39 OpenWrt user.err kernel: usb 1-1: device descriptor read/64, error -62
usb 1-1: device descriptor read/64, error -62
usb 1-1: new full speed USB device using ohci_hcd and address 20
usb 1-1: device descriptor read/64, error -62
usb 1-1: device descriptor read/64, error -62
usb 1-1: new full speed USB device using ohci_hcd and address 21
Jan  1 00:10:40 OpenWrt user.err kernel: usb 1-1: device descriptor read/64, error -62
Jan  1 00:10:40 OpenWrt user.info kernel: usb 1-1: new full speed USB device using ohci_hcd and address 20
Jan  1 00:10:40 OpenWrt user.err kernel: usb 1-1: device descriptor read/64, error -62
Jan  1 00:10:40 OpenWrt user.err kernel: usb 1-1: device descriptor read/64, error -62
Jan  1 00:10:40 OpenWrt user.info kernel: usb 1-1: new full speed USB device using ohci_hcd and address 21
usb 1-1: device not accepting address 21, error -62
usb 1-1: new full speed USB device using ohci_hcd and address 22
usb 1-1: device not accepting address 22, error -62
hub 1-0:1.0: unable to enumerate USB device on port 1
Jan  1 00:10:41 OpenWrt user.err kernel: usb 1-1: device not accepting address 21, error -62
Jan  1 00:10:41 OpenWrt user.info kernel: usb 1-1: new full speed USB device using ohci_hcd and address 22
Jan  1 00:10:41 OpenWrt user.err kernel: usb 1-1: device not accepting address 22, error -62
Jan  1 00:10:41 OpenWrt user.err kernel: hub 1-0:1.0: unable to enumerate USB device on port 1
Napięcie jest na 100% sztywne. Zmieniłem kabelek na własny i też du**.

Re: Dodanie portu USB do WRT54gl-eu

: 2010-12-28, 10:02
autor: kazek3018
Podobny problem miałem z TomTomem zakupionym jako uszkodzony.

Problem w tym, że tam były dwie rzeczy zepsute i dodatkowo nie pamiętam który numer błędu wywalał.
1) Taśma od dysku twardego była źle wpięta do płyty głównej na tomku.
2) Tablica partycji była błędnie zapisana na dysku.

Zakładam, że z pamięcią USB wszystko w porządku, więc obstawiałbym brak styku na którejś linii albo problemy z zasilaniem.

Re: Dodanie portu USB do WRT54gl-eu

: 2010-12-28, 19:17
autor: bojleros
Za zasilanie jestem pewny. Kabelek zmieniłem i po zmianie go dzwoniłem. Zresztą wystarczy zobaczyć wątek http://voidmain.is-a-geek.net/wrt/wrt_usb_mod.html żeby się przekonać że zasilacz mam lepszy, z większym filtrem na wyjściu. Kabelki też mam lepszej jakości, mniej pajęczyny która mogłaby coś zbierać. Zamianę D+ z D- mam też już za sobą...

Re: Dodanie portu USB do WRT54gl-eu

: 2010-12-28, 19:37
autor: Pajaczek
Zamianę D+ z D- mam też już za sobą..
Zamieniałeś D+/D- ?? Ale zdajesz sobie sprawę, że zależnie od wersji USB (Full/Hi) odpowiednia linia jest ściągnięta do masy rezystorkiem W URZĄDZENIU SLAVE. Może tu jest jakiś konflikt? Jakie były przesłanki tej zamiany??
Tak właśnie wcześniej pytałem o kondka, bo coś mi się nie zgadzało, ale dla samego zasilania nie powinno mieć takiego wpływu... co innego dla rzeczonego ustalania wersji standardu.

Re: Dodanie portu USB do WRT54gl-eu

: 2010-12-28, 20:10
autor: kazek3018
Podaj co pokazuje:

Kod: Zaznacz cały

lsusb
lsusb -v
lsusb -t
lsmod | grep usb
Tutaj są opisane podobne problemy związane ze zmianą taktowania procka:https://forum.openwrt.org/viewtopic.php ... 62#p106962 więc to może być problemem.

Re: Dodanie portu USB do WRT54gl-eu

: 2010-12-28, 20:28
autor: bojleros
Pajączek Jeżeli się rozchodzi o rezystory to na obydwu liniach od strony hosta jest 4k7 do masy i tego nie ruszałem na razie bo najmniejsze co mam to 0805. Jak na tym obrazku: http://voidmain.is-a-geek.net/si/?i=wrt ... =USB%20Mod . Na stronie Voidmana jest sugestia żeby je zastąpić na 15k. Co do mojej znajomości usb to jest nikła ... Masz może schemat na którym jest narysowane jak powinien wyglądać kontroler hosta 1.1 , rezystory na liniach D, część przeciwzakłóceniowa .... ?

kazek3018

Kod: Zaznacz cały

# lsusb -v

Bus 001 Device 001: ID 0000:0000  
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         0 Full speed (or root) hub
  bMaxPacketSize0         8
  idVendor           0x0000 
  idProduct          0x0000 
  bcdDevice            0.00
  iManufacturer           0 
  iProduct                2 USB OHCI Root Hub
  iSerial                 1 b8003000
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           25
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x40
      (Missing must-be-set bit!)
      Self Powered
    MaxPower                0mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         9 Hub
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0 Full speed (or root) hub
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0002  1x 2 bytes
        bInterval             255
Hub Descriptor:
  bLength               9
  bDescriptorType      41
  nNbrPorts             2
  wHubCharacteristic 0x0010
    Ganged power switching
    No overcurrent protection
  bPwrOn2PwrGood        2 * 2 milli seconds
  bHubContrCurrent      0 milli Ampere
  DeviceRemovable    0x00
  PortPwrCtrlMask    0xff
 Hub Port Status:
   Port 1: 0000.0100 power
   Port 2: 0000.0100 power
Device Status:     0x0001
  Self Powered

Kod: Zaznacz cały

# lsusb -t
Bus#  1
`-Dev#   1 Vendor 0x0000 Product 0x0000

Pozostałe dwa podałem już w pierwszym poście więc nie będę zaspamiał :)

Re: Dodanie portu USB do WRT54gl-eu

: 2010-12-28, 23:25
autor: Pajaczek
bojleros, też nie robię projektów USB na codzień ;)
TU coś, co na szybko znalazłem, a m/w opisuje to co miałem na myśli z rezystorami i wyborem prędkości (btw. ten tekst poprawia moje wcześniejsze sugestie, nie pull-down, tylko pull-up).

btw. kazek3018 coś wspomniał o zmianie częstotliwości, czy zmieniałeś częstotliwość (a mi coś umknęło)?? USB może być na to wrażliwe (zwłaszcza w trybie Hi) jeżeli nie jest na oddzielnego kwarcu.