[Rozw] USB: device descriptor read/64, error -71

Gdy jakieś urządzenie nie chce w Slackware działać...

Moderatorzy: Moderatorzy, Administratorzy

Awatar użytkownika
SaraniS
Użytkownik
Posty: 176
Rejestracja: 2005-08-10, 08:22
Lokalizacja: Olesno Slaskie
Kontakt:

[Rozw] USB: device descriptor read/64, error -71

Post autor: SaraniS »

Witam
Rok temu kupiłem kartę TV na USB, Mediatech "USB TV Box" (brak konkretnej nazwy). Karta jest na chipie Empia em28xx (obsługiwanym przez jądro). Do niedawna nie było z nią żadnych problemów.
Od jakiegoś miesiąca (przypuszczam, że ma to związek z upgradem w systemie - mniej więcej w tym czasie zrobiłem upgrade z 12.0 do currenta, jak również w miarę regularnie odświeżam jądra) karta potrafi "zniknąć" podczas jej używania, a przy próbie ponownego jej podłączenia (w sensie: odłączam i po chwili podłączam) do laptopa dmesg wywala sekwencję błędów:

Kod: Zaznacz cały

usb 5-1: device not accepting address 3, error -71
usb 5-1: new full speed USB device using uhci_hcd and address 4
usb 5-1: device descriptor read/64, error -71
Jądro próbuje po kolei adresy, jednak na wszystkich nie potrafi odczytać deskryptora. Kończy się tak:

Kod: Zaznacz cały

hub 5-0:1.0: unable to enumerate USB device on port 1
W google ogólnie jest na temat błędu -71 dość sporo, jednak koncepcje są różne: uszkodzone urządzenie, uszkodzony kabel, błąd w nowym HAL/DBus, błędy w nowych usb_ehci... Jak to się ma do mnie: sprawdziłem kartę na tym samym kablu, na tym samym porcie, w Win XP - działa bez problemu i szybciej XP mi się zawiesi, niż karta zacznie "świrować" ;) Sprawdzałem też zresztą na 2 innych kablach i na 2 innych portach w Linuksie - te same objawy. Problem karty, kabla, portu - odpada. Pozostaje coś z softem.
Wyczytałem, że może mieć to związek z zarządzaniem energią i że należy wyłączyć w jądrze "wybiórcze usypianie urządzeń USB" - tylko, że ja mam tą opcję domyślnie wyłączoną!
Dodam, że w taki sam sposób zachowuje mi się czytnik kart SD/MMC - przez losowy czas działa a później "znika" z systemu (również z błędem -71).
Co ciekawe, wbudowana karta WiFi (która jest również USB) działa prawidłowo - może dlatego, że cały czas coś wysyła/ odbiera, bo z niej właśnie korzystam - ale przecież podczas oglądania TV czy kopiowania plików, też dane są przesyłane...
Próbowałem wczoraj zdowngradować system do 12.1 ale nic to nie dało, error -71 nadal mnie prześladuje. Spróbuję jeszcze powrócić do starego jądra (2.6.25.3), ale wolałbym nie, bo ono jeszcze natywnie nie obsługiwało mojej WiFi (RTL8187B - i o to "B" chodzi), potrzebny był "shackowany" moduł ;)
Innych pomysłów już nie mam...

Z ostatniej chwili - wczoraj i dziś pojawiło mi się coś jeszcze - czasem, nawet gdy karta zostanie poprawnie wykryta i moduły załadowane, i tak nie da się oglądać, bo:

Kod: Zaznacz cały

em28xx #0: Found Pinnacle PCTV USB 2
em28xx 2-4:1.1: usb_probe_interface
em28xx 2-4:1.1: usb_probe_interface - got id
em28xx audio device (eb1a:2821): interface 1, class 1
em28xx 2-4:1.2: usb_probe_interface
em28xx 2-4:1.2: usb_probe_interface - got id
em28xx audio device (eb1a:2821): interface 2, class 1
usbcore: registered new interface driver em28xx
snd-usb-audio 2-4:1.1: usb_probe_interface
snd-usb-audio 2-4:1.1: usb_probe_interface - got id
usbcore: registered new interface driver snd-usb-audio
usb 2-4: uevent
ehci_hcd 0000:00:1d.7: devpath 4 ep0out 3strikes
em28xx #0: cannot change alternate number to 6 (error=-71)
ehci_hcd 0000:00:1d.7: devpath 4 ep0out 3strikes
(... kilkanaście tych komunikatów...)
ehci_hcd 0000:00:1d.7: devpath 4 ep0out 3strikes
tuner-simple 0-0063: i2c i/o error: rc == -71 (should be 4)
ehci_hcd 0000:00:1d.7: devpath 4 ep0out 3strikes
(...powyższe sekwencje kilkakrotnie powtórzone a później, też kilkakrotnie - zapewne tyle razy, ile razy program próbuje odpytać driver)
usb 2-4: bogus endpoint ep2in in usb_submit_urb (bad maxpacket 0)
submit of urb 0 failed (error=-90)
Jak widać mam wkompilowany debugging, w nadziei że może coś ciekawego "powie" - niestety, nie mówi mi to zbyt wiele... Na temat error -90 nie ma już tyle informacji w google.

Aha, dla dopełnienia info:

Kod: Zaznacz cały

root@zubrzyk:~# uname -r
2.6.28.7
Slack 12.1
root@zubrzyk:~# lspci | grep USB
00:1a.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #4 (rev 03)
00:1a.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #5 (rev 03)
00:1a.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #2 (rev 03)
00:1d.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #1 (rev 03)
00:1d.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #2 (rev 03)
00:1d.2 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #3 (rev 03)
00:1d.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #1 (rev 03)
root@zubrzyk:~# lsusb
Bus 002 Device 004: ID eb1a:2821 eMPIA Technology, Inc. // ta karta, wykryta ale error -90
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 002: ID 062a:0000 Creative Labs Optical mouse // mysz co ciekawe Tracera :D
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 0bda:8197 Realtek Semiconductor Corp. RTL8187B Wireless Adapter //WiFi wbudowana, cały czas działa poprawnie
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Nie mam niestety więcej dysków czy innych urządzeń USB 2.0 żeby sprawdzić; urządzenia USB 1.1 jak myszy czy klawiatury działają bezproblemowo.
Aha, podłączałem też tą kartę poprzez hub z własnym zasilaniem - takie same objawy, więc nie chodzi tu o zbyt duży pobór prądu przez nią.
Co jeszcze mogę zrobić (poza kupnem nowej karty TV/ nowego laptopa :D )? :help:

Edyta:
Na 2.6.25.4 to samo :| Niezależnie od tego, czy obsługa USB jest modułem czy wkompilowana w jądro.
Wklepywanie parametrów do

Kod: Zaznacz cały

/sys/module/usbcore/parameters/
też nic nie daje - ani ustawienie old_scheme_first = Y ani, po włączeniu opcji ustawiania uśpienia/wybudzenia dla urządzeń USB, autosuspend = -1 (próbowałem też autosuspend = 0)...
I tyle, pomysły mi się już wyczerpały, siedzę na 2.6.28.7, bez TV i czekam na jakąś poradę (ewent. przejdę na XP tylko żeby TV pooglądać :/ )

I jeszcze - akurat teraz na opisy kodów wpadłem:
Documentation/usb/error-codes.txt pisze: -EPROTO (*, **) a) bitstuff error
b) no response packet received within the
prescribed bus turn-around time
c) unknown USB error
[ ... ]
(*) Error codes like -EPROTO, -EILSEQ and -EOVERFLOW normally
indicate hardware problems such as bad devices (including
firmware) or cables.

(**) This is also one of several codes that different kinds
of host controller use to indicate a transfer has failed
because of device disconnect. In the interval before
the hub driver starts disconnect processing, devices
may receive such fault reports for every request.


[ Dodano: 2009-04-06, 13:23 ]
Witam ponownie
Jednak problemem okazuje się być sa sprzęt - karta w Win zachowuje się tak samo, tyle, że Win jest bardziej tajemniczy i skarży się tylko, iż nie może rozpoznać urządzenia - żadnego numeru błędu ani nic takiego.
Gdy ostatnio znów przestała być wykrywana, "pobawiłem się" nią trochę i zauważyłem, że:
1) głowica w.cz. dość mocno się nagrzewa (tzn jej ekran) - do jakichś 50 stopni, nawet pomimo tego, że nie używam obecnie wejścia antenowego, a tylko AV.
2) problem z niewykrywaniem może też "siedzieć" gdzieś w okolicy gniazda USB w tej karcie (USB Mini-B) - poruszanie wtykiem w tym gnieździe, po uprzednim wypięciu drugiej strony kabla z komputera, powoduje po ponownym podpięciu prawidłowe rozpoznanie karty. Jednak może mieć to związek z tym przegrzewaniem się (jednak pozostałe elementy są chłodne).
Tym niemniej problem uważam za [Rozw] i na przyszłość nie polecam produktów firy MediaTech :evil:
Pozdrawiam
Ostatnio zmieniony 2009-04-06, 12:24 przez SaraniS, łącznie zmieniany 10 razy.
Toshiba Satellite L40-14B: Cel530 1.73GHz/ 2GiB RAM/ 320GiB HDD Slackware 14.0 Linux 3.2.29, KDE 4.8.5, Opera 12, Skype 4.2, XMMS/ amarok/ MPlayer
RLU #398894
Nickleodeon
Użytkownik
Posty: 3
Rejestracja: 2006-05-18, 11:36

Re: [Rozw] USB: device descriptor read/64, error -71

Post autor: Nickleodeon »

witam, mam podobnego kalibru problem
szerzej opisywałem to na
[url=http://]http://forum.dug.net.pl/viewtopic.php?id=14090[/url]
Awatar użytkownika
SaraniS
Użytkownik
Posty: 176
Rejestracja: 2005-08-10, 08:22
Lokalizacja: Olesno Slaskie
Kontakt:

Re: [Rozw] USB: device descriptor read/64, error -71

Post autor: SaraniS »

Witam
Ogólnie błąd o kodzie -71 oznacza problem ze sprzętem - od uwalonego kontrolera USB w komputerze poprzez uszkodzony kabel po padnięty sprzęt (mysz, pen, aparat) podpinany do komputera... Wg opisu może też oznaczać błędy w firmware urządzenia, no i oczywiście, błędy w samym kernelu (sterownikach USB, sterownikach danych źle działających urządzeń...).
Osobiście jednak przekompilowałbym jajko pod ten laptop, zawsze może to lepiej działać, niż 'fabryczne' ;) No i - im świeższy kernel, tym większa szansa na poprawione błędy ;)
Dobrze byłoby sprawdzić zachowanie całości sprzętu w innym systemie (np. Windows) - jeśli tam działa OK, to oznaczałoby jednak błąd w kernelu.
U siebie do końca nie wiem, co było przyczyną - po wyjęciu tej karty TV z obudowy działa poprawnie; miałem podobne problemy z czytnikiem SD/MMC (te chińskie badziewia wielkości pendrive po 9zł) - jednak ten padł całkowicie, a wcześniej problemy z nim były na dowolnym komputerze z dowolnym systemem, więc to chyba odrębny problem; inne urządzenia (kilka różnych marek aparatów foto, pendriwów, czytników SD...) działają prawidłowo, czyli problemy z komputerem/ systemem na nim/ okablowaniem mogę wykluczyć.
Często chodzi właśnie o brak/ zbyt wczesne sterowniki. Ja tak mam np. z kartą WiFi - rok temu, gdy kupiłem laptopa, musiałem używać ndiswrappera; później się pojawiły natywne, jednak do tej pory mają status beta i ostrzeżenie podczas ich ładowania, że "mogą zniszczyć sprzęt" ;) Na to lekarstwem, o ile nie jesteś programistą/ developerem jądra, jest tylko czas i nadzieja, że więcej osób wywrze na tych developerów nacisk ;)
Pozdrawiam
Toshiba Satellite L40-14B: Cel530 1.73GHz/ 2GiB RAM/ 320GiB HDD Slackware 14.0 Linux 3.2.29, KDE 4.8.5, Opera 12, Skype 4.2, XMMS/ amarok/ MPlayer
RLU #398894
ODPOWIEDZ