Mar 13 17:28:39 taniquetil kernel: hub 4-0:1.0: enabling power on all ports Mar 13 17:28:39 taniquetil kernel: uhci_hcd 0000:00:1d.0: Unlink after no-IRQ? Controller is probably using the wrong IRQ. Mar 13 17:28:39 taniquetil kernel: usb 1-2: khubd timed out on ep0in
Although something like this is expected, it shouldn't have happened that way. I don't see why that "Unlink after no-IRQ" message appeared. Can you try applying this diagnostic patch and post the log messages it gives?
(I don't think your problems are caused by bad IRQ assignments; they seem to be okay.)
Ok. A new log is attached (gzipped). I have also attached 'before_unplugging' which the file named uhci/0000:00:1d.0 in debugfs before I unplug the usb key the first time.
'after_plugging.after_rmmod' is after having removed and inserted again the driver and the key.
Mar 13 17:28:39 taniquetil kernel: usb-storage: waiting for device to settle before scanning Mar 13 17:28:39 taniquetil kernel: Vendor: IC35L120 Model: AVV207-0 Rev: V24O Mar 13 17:28:39 taniquetil kernel: Type: Direct-Access ANSI SCSI revision: 00 Mar 13 17:28:39 taniquetil kernel: usb-storage: device scan complete
Another thing I don't understand is why there isn't a five-second delay here before usb-storage scans your device. Did you do anything to shorten that delay?
I haven't done a single thing. But just a quick note: this device is USB2 and I had no problems at all with USB2.
However if I try to plug an USB 1 device on another bus then I get the first message until I reload again the driver.
At that moment I plug another USB storage key (USB1 key) on another port and I get this. However if I unload and reload the driver I get access to the key.
At first you said the USB-1.0 key was plugged on another bus, but here you say it's plugged into another port. In fact that port is on the _same_ bus as the Freebox device.
My fault. My first message should have been "I plug on another port". As a consequence I have made tests on nearly all ports of my computer. The result is quite disturbing: the first problem seems to happen on all port and whatever the device is but the second problem depends on the context. Basically I have two ports for each bus now I have made a few tests.
1) * freebox plugged * plug the key on the same bus => FAILURE * I unplug the key and the freebox. * I plug the key again and it works * I plug back the freebox, it works. * I unplug the key and plug it again, it works. I can do whatever I want on the bus now and it looks like working.
* rmmod uhci_hcd, modprobe uhci_hcd and the problem reappears.
* If I let the freebox unplugged at the startup time it does not change the result.
I have checked on 2 buses and it gives the same result.
If I try to plug an USB printer and the key on the same bus I get no problem.
So I conclude there must be something special with the freebox device which pollute the bus state.
Mar 13 17:30:37 taniquetil kernel: usb 1-1: new full speed USB device using uhci_hcd and address 3 Mar 13 17:30:37 taniquetil kernel: usb 1-1: ep0 maxpacket = 8 Mar 13 17:30:37 taniquetil kernel: uhci_hcd 0000:00:1d.0: uhci_result_control: failed with status 440000 Mar 13 17:30:37 taniquetil kernel: [d9ba5300] link (19ba51e2) element (1f102880) Mar 13 17:30:37 taniquetil kernel: Element != First TD Mar 13 17:30:37 taniquetil kernel: 0: [df102840] link (1f102880) e3 Length=7 MaxLen=7 DT0 EndPt=0 Dev=3, PID=2d(SETUP) (buf=1f5e7c40) Mar 13 17:30:37 taniquetil kernel: 1: [df102880] link (1f1028c0) e0 SPD Stalled CRC/Timeo Length=7ff MaxLen=7 DT1 EndPt=0 Dev=3, PID=69(IN) (buf=1f5e7640)
This doesn't look like the same kind of error as above. If you unplug the
key, rmmod uhci-hcd, modprobe it again, and then reinsert the key will it
work? Or does the key only work if it is plugged in at the time you modprobe uhci-hcd?
As said above, unplugging and plugging the key on the same port does not work. However if remove uhci_hcd and insert it again the key is detected and works.
Regards,
Guilhem Lavaux.
Here's something else you can do that might help. Make sure you have a debugfs filesystem mounted somewhere (typically /sys/kernel/debug), and get a copy of .../uhci/0000:00:1d.0 right before you rmmod uhci-hcd the first time and then again after first plugging in the USB key.
Alan Stern
syslog.gz
Description: Unix tar archiveHC status usbcmd = 00c1 Maxp64 CF RS usbstat = 0000 usbint = 0005 usbfrnum = (0)398 flbaseadd = 000eb398 sof = 40 stat1 = 0080 stat2 = 0091 Connected Frame List Skeleton QH'sHC status usbcmd = 00c1 Maxp64 CF RS usbstat = 0000 usbint = 000f usbfrnum = (1)e50 flbaseadd = 0b0ece50 sof = 40 stat1 = 0091 Connected stat2 = 0095 Enabled Connected Frame List Skeleton QH's - skel_bulk_qh [ced5f2d0] link (0ed5f212) element (0bbd7240) 0: [cbbd7240] link (0bbd7280) e3 SPD Active NAK Length=7ff MaxLen=3f DT1 EndPt=2 Dev=2, PID=69(IN) (buf=10051800) 1: [cbbd7280] link (0bbd72c0) e3 SPD Active Length=0 MaxLen=3f DT0 EndPt=2 Dev=2, PID=69(IN) (buf=10051840) 2: [cbbd72c0] link (0bbd7300) e3 SPD Active Length=0 MaxLen=3f DT1 EndPt=2 Dev=2, PID=69(IN) (buf=10051880) 3: [cbbd7300] link (0bbd7340) e3 SPD Active Length=0 MaxLen=3f DT0 EndPt=2 Dev=2, PID=69(IN) (buf=100518c0) 4: [cbbd7340] link (0bbd7384) e3 SPD Active Length=0 MaxLen=3f DT1 EndPt=2 Dev=2, PID=69(IN) (buf=10051900) 5: [cbbd7380] link (0bbd73c0) e3 SPD Active Length=0 MaxLen=3f DT0 EndPt=2 Dev=2, PID=69(IN) (buf=10051940) 6: [cbbd73c0] link (0bbd7400) e3 SPD Active Length=0 MaxLen=3f DT1 EndPt=2 Dev=2, PID=69(IN) (buf=10051980) 7: [cbbd7400] link (0bbd7440) e3 SPD Active Length=0 MaxLen=3f DT0 EndPt=2 Dev=2, PID=69(IN) (buf=100519c0) 8: [cbbd7440] link (0bbd7480) e3 SPD Active Length=0 MaxLen=3f DT1 EndPt=2 Dev=2, PID=69(IN) (buf=10051a00) 9: [cbbd7480] link (0bbd74c4) e3 SPD Active Length=0 MaxLen=3f DT0 EndPt=2 Dev=2, PID=69(IN) (buf=10051a40) 10: [cbbd74c0] link (0bbd7500) e3 SPD Active Length=0 MaxLen=3f DT1 EndPt=2 Dev=2, PID=69(IN) (buf=10051a80) [skipped 12 active TD's] 23: [cbbd7800] link (0ed5f302) e3 IOC Active Length=0 MaxLen=29 DT0 EndPt=2 Dev=2, PID=69(IN) (buf=10051dc0) -- Queued QH's: [ced5f300] link (0ed5f212) element (0bbd7840) 0: [cbbd7840] link (0bbd7880) e3 SPD Active Length=0 MaxLen=3f DT1 EndPt=2 Dev=2, PID=69(IN) (buf=10051000) 1: [cbbd7880] link (0bbd78c0) e3 SPD Active Length=0 MaxLen=3f DT0 EndPt=2 Dev=2, PID=69(IN) (buf=10051040) 2: [cbbd78c0] link (0bbd7900) e3 SPD Active Length=0 MaxLen=3f DT1 EndPt=2 Dev=2, PID=69(IN) (buf=10051080) 3: [cbbd7900] link (0bbd7940) e3 SPD Active Length=0 MaxLen=3f DT0 EndPt=2 Dev=2, PID=69(IN) (buf=100510c0) 4: [cbbd7940] link (0bbd7984) e3 SPD Active Length=0 MaxLen=3f DT1 EndPt=2 Dev=2, PID=69(IN) (buf=10051100) 5: [cbbd7980] link (0bbd79c0) e3 SPD Active Length=0 MaxLen=3f DT0 EndPt=2 Dev=2, PID=69(IN) (buf=10051140) 6: [cbbd79c0] link (0bbd7a00) e3 SPD Active Length=0 MaxLen=3f DT1 EndPt=2 Dev=2, PID=69(IN) (buf=10051180) 7: [cbbd7a00] link (0bbd7a40) e3 SPD Active Length=0 MaxLen=3f DT0 EndPt=2 Dev=2, PID=69(IN) (buf=100511c0) 8: [cbbd7a40] link (0bbd7a80) e3 SPD Active Length=0 MaxLen=3f DT1 EndPt=2 Dev=2, PID=69(IN) (buf=10051200) 9: [cbbd7a80] link (0bbd7ac4) e3 SPD Active Length=0 MaxLen=3f DT0 EndPt=2 Dev=2, PID=69(IN) (buf=10051240) 10: [cbbd7ac0] link (0bbd7b00) e3 SPD Active Length=0 MaxLen=3f DT1 EndPt=2 Dev=2, PID=69(IN) (buf=10051280) [skipped 12 active TD's] 23: [cbbd7e00] link (0ed5f242) e3 IOC Active Length=0 MaxLen=29 DT0 EndPt=2 Dev=2, PID=69(IN) (buf=100515c0) [ced5f240] link (0ed5f212) element (0b0f0000) 0: [cb0f0000] link (0b0f0040) e3 SPD Active Length=0 MaxLen=3f DT1 EndPt=2 Dev=2, PID=69(IN) (buf=10047000) 1: [cb0f0040] link (0b0f0080) e3 SPD Active Length=0 MaxLen=3f DT0 EndPt=2 Dev=2, PID=69(IN) (buf=10047040) 2: [cb0f0080] link (0b0f00c0) e3 SPD Active Length=0 MaxLen=3f DT1 EndPt=2 Dev=2, PID=69(IN) (buf=10047080) 3: [cb0f00c0] link (0b0f0100) e3 SPD Active Length=0 MaxLen=3f DT0 EndPt=2 Dev=2, PID=69(IN) (buf=100470c0) 4: [cb0f0100] link (0b0f0144) e3 SPD Active Length=0 MaxLen=3f DT1 EndPt=2 Dev=2, PID=69(IN) (buf=10047100) 5: [cb0f0140] link (0b0f0180) e3 SPD Active Length=0 MaxLen=3f DT0 EndPt=2 Dev=2, PID=69(IN) (buf=10047140) 6: [cb0f0180] link (0b0f01c0) e3 SPD Active Length=0 MaxLen=3f DT1 EndPt=2 Dev=2, PID=69(IN) (buf=10047180) 7: [cb0f01c0] link (0b0f0200) e3 SPD Active Length=0 MaxLen=3f DT0 EndPt=2 Dev=2, PID=69(IN) (buf=100471c0) 8: [cb0f0200] link (0b0f0240) e3 SPD Active Length=0 MaxLen=3f DT1 EndPt=2 Dev=2, PID=69(IN) (buf=10047200) 9: [cb0f0240] link (0b0f0284) e3 SPD Active Length=0 MaxLen=3f DT0 EndPt=2 Dev=2, PID=69(IN) (buf=10047240) 10: [cb0f0280] link (0b0f02c0) e3 SPD Active Length=0 MaxLen=3f DT1 EndPt=2 Dev=2, PID=69(IN) (buf=10047280) [skipped 12 active TD's] 23: [cb0f05c0] link (0ed5f272) e3 IOC Active Length=0 MaxLen=29 DT0 EndPt=2 Dev=2, PID=69(IN) (buf=100475c0) [ced5f270] link (0ed5f212) element (0b0f0600) 0: [cb0f0600] link (0b0f0640) e3 SPD Active Length=0 MaxLen=3f DT1 EndPt=2 Dev=2, PID=69(IN) (buf=10037800) 1: [cb0f0640] link (0b0f0680) e3 SPD Active Length=0 MaxLen=3f DT0 EndPt=2 Dev=2, PID=69(IN) (buf=10037840) 2: [cb0f0680] link (0b0f06c0) e3 SPD Active Length=0 MaxLen=3f DT1 EndPt=2 Dev=2, PID=69(IN) (buf=10037880) 3: [cb0f06c0] link (0b0f0700) e3 SPD Active Length=0 MaxLen=3f DT0 EndPt=2 Dev=2, PID=69(IN) (buf=100378c0) 4: [cb0f0700] link (0b0f0744) e3 SPD Active Length=0 MaxLen=3f DT1 EndPt=2 Dev=2, PID=69(IN) (buf=10037900) 5: [cb0f0740] link (0b0f0780) e3 SPD Active Length=0 MaxLen=3f DT0 EndPt=2 Dev=2, PID=69(IN) (buf=10037940) 6: [cb0f0780] link (0b0f07c0) e3 SPD Active Length=0 MaxLen=3f DT1 EndPt=2 Dev=2, PID=69(IN) (buf=10037980) 7: [cb0f07c0] link (0b0f0800) e3 SPD Active Length=0 MaxLen=3f DT0 EndPt=2 Dev=2, PID=69(IN) (buf=100379c0) 8: [cb0f0800] link (0b0f0840) e3 SPD Active Length=0 MaxLen=3f DT1 EndPt=2 Dev=2, PID=69(IN) (buf=10037a00) 9: [cb0f0840] link (0b0f0884) e3 SPD Active Length=0 MaxLen=3f DT0 EndPt=2 Dev=2, PID=69(IN) (buf=10037a40) 10: [cb0f0880] link (0b0f08c0) e3 SPD Active Length=0 MaxLen=3f DT1 EndPt=2 Dev=2, PID=69(IN) (buf=10037a80) [skipped 12 active TD's] 23: [cb0f0bc0] link (00000001) e3 IOC Active Length=0 MaxLen=29 DT0 EndPt=2 Dev=2, PID=69(IN) (buf=10037dc0)
