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
Kod: Zaznacz cały
hub 5-0:1.0: unable to enumerate USB device on port 1
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)
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
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 )?
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/
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
Pozdrawiam