Jochen-of-Borg
Member
Hi!
Ich hab einen neuen 4 GB Stick von Sandisk. Leider funktioniert er bei mir nicht mit USB2. An einem USB1.1 Hub läuft er einwandfrei.
Ich hab Kernel 2.6.24.1 laufen, mit aktivierten USB-Debug Meldungen (auf Opensuse 10.3), und einen Via KT133 Chipsatz.
Ich konnte das Problem schon auf den Treiber ehci_hcd eingrenzen (also den USB2-Treiber). Mit uhci_hcd oder ohci_hcd läuft der Stick, aber eben nur sehr langsam.
Hier mal das Systemlog beim einstecken:
Meine Suche hat bislang nicht viel ergeben. Das beste Ergebnis war noch das hier:
Allerdings ist mir die Beschreibung jetzt nicht ausfühlich genug, um den Kernel entsprechend anzupassen...
Hat jemand eine Idee, wie ich den Stick mit USB2-Tempo zum laufen bekomme?
Ich hab einen neuen 4 GB Stick von Sandisk. Leider funktioniert er bei mir nicht mit USB2. An einem USB1.1 Hub läuft er einwandfrei.
Ich hab Kernel 2.6.24.1 laufen, mit aktivierten USB-Debug Meldungen (auf Opensuse 10.3), und einen Via KT133 Chipsatz.
Ich konnte das Problem schon auf den Treiber ehci_hcd eingrenzen (also den USB2-Treiber). Mit uhci_hcd oder ohci_hcd läuft der Stick, aber eben nur sehr langsam.
Hier mal das Systemlog beim einstecken:
- Mar 28 21:03:09 jochen kernel: usb usb2: usb resume
Mar 28 21:03:09 jochen kernel: ehci_hcd 0000:00:10.3: resume root hub
Mar 28 21:03:09 jochen kernel: hub 2-0:1.0: hub_resume
Mar 28 21:03:09 jochen kernel: hub 2-0:1.0: state 7 ports 6 chg 0000 evt 0000
Mar 28 21:03:09 jochen kernel: ehci_hcd 0000:00:10.3: GetStatus port 2 status 001803 POWER sig=j CSC CONNECT
Mar 28 21:03:09 jochen kernel: hub 2-0:1.0: port 2, status 0501, change 0001, 480 Mb/s
Mar 28 21:03:09 jochen kernel: hub 2-0:1.0: debounce: port 2: total 100ms stable 100ms status 0x501
Mar 28 21:03:09 jochen kernel: ehci_hcd 0000:00:10.3: port 2 high speed
Mar 28 21:03:09 jochen kernel: ehci_hcd 0000:00:10.3: GetStatus port 2 status 001005 POWER sig=se0 PE CONNECT
Mar 28 21:03:09 jochen kernel: usb 2-2: new high speed USB device using ehci_hcd and address 6
Mar 28 21:03:09 jochen kernel: ehci_hcd 0000:00:10.3: port 2 high speed
Mar 28 21:03:09 jochen kernel: ehci_hcd 0000:00:10.3: GetStatus port 2 status 001005 POWER sig=se0 PE CONNECT
Mar 28 21:03:09 jochen kernel: usb 2-2: default language 0x0409
Mar 28 21:03:14 jochen kernel: usb 2-2: khubd timed out on ep0in len=0/255
Mar 28 21:03:19 jochen kernel: usb 2-2: khubd timed out on ep0in len=0/2
Mar 28 21:03:19 jochen kernel: usb 2-2: uevent
Mar 28 21:03:19 jochen kernel: usb 2-2: usb_probe_device
Mar 28 21:03:19 jochen kernel: usb 2-2: configuration #1 chosen from 1 choice
Mar 28 21:03:24 jochen kernel: usb 2-2: khubd timed out on ep0out len=0/0
Mar 28 21:03:24 jochen kernel: usb 2-2: can't set config #1, error -110
Mar 28 21:03:24 jochen kernel: drivers/usb/core/inode.c: creating file '006'
Mar 28 21:03:24 jochen kernel: usb 2-2: new device strings: Mfr=1, Product=2, SerialNumber=3
Mar 28 21:03:24 jochen kernel: usb 2-2: Product: U3 Cruzer Micro
Mar 28 21:03:24 jochen kernel: usb 2-2: Manufacturer: SanDisk
Meine Suche hat bislang nicht viel ergeben. Das beste Ergebnis war noch das hier:
http://famschmid.net/linuxtutorial.html#usbmonI needed USB-Mon to debug a flaky USB stick from SanDisk.
I got the error message: can't set config #1, error -110
-110 is a timeout error. Because other sticks work well, it cannot be a kernel problem per se.
After monitoring the traffic with USB-Mon I found out that the Linux driver has difficulty to read the string descriptors from the stick.
Because string descriptors are not necessary for operation, I disabled them in ~/linux-2.6.x/drivers/usb/core/message.c.
Without reading the string descriptors the stick worked.
Allerdings ist mir die Beschreibung jetzt nicht ausfühlich genug, um den Kernel entsprechend anzupassen...
Hat jemand eine Idee, wie ich den Stick mit USB2-Tempo zum laufen bekomme?