On Thu, Jun 01, 2000 at 04:22:11AM +0000, Matthew Dharm wrote:
> A vendor sent me a device to test with the Linux usb-storage driver.
> Unfortunately, it doesn't work out of the box with any of the HCDs.
> However, the usb-uhci driver does spew some error message that might be
> informative. Could someone please explain to me what these mean?
>
> This one occurs when I submit an URB to do a bulk data in:
> usb-uhci.c: interrupt, status 3, frame# 1251
>
> Then the URB status is -32, so I call usb_clear_halt, which produces this
> message -- I've narrowed this down to the 2nd usb_control_msg() call in
> that function -- it winds up returning -110:
> usb_control/bulk_msg: timeout
>
> Now, whenever I try to send to the device the URB status winds up being
> -110. When I try to read from the device, the status is -32, and when I
> try to clear the indicated STALL condition, I get:
> usb-uhci.c: interrupt, status 2, frame# 161
> usb-uhci-debug.h: TD @ cdf6b080/0DF6B080, MaxLen=07 DT0 EP=0 Dev=3
> PID=(SETUP) buf=0df070a0
> usb-uhci-debug.h: Len=07 e0 Stalled CRC/Timeo
> usb-uhci-debug.h: Link points to TD @ 0df6b000, Breadth first
> usb-uhci.c: interrupt, status 2, frame# 163
> usb-uhci-debug.h: TD @ cded7fa0/0DED7FA0, MaxLen=07 DT0 EP=0 Dev=3
> PID=(SETUP) buf=0df070a0
> usb-uhci-debug.h: Len=07 e0 Stalled CRC/Timeo
> usb-uhci-debug.h: Link points to TD @ 0df6b2c0, Breadth first
>
> This last bit keeps happening over and over again (the attempt to send, the
> attempt to read, and these messages):
> usb-uhci.c: interrupt, status 2, frame# 1981
> usb-uhci-debug.h: TD @ cdf6b0c0/0DF6B0C0, MaxLen=07 DT0 EP=0 Dev=3
> PID=(SETUP) buf=0df07360
> usb-uhci-debug.h: Len=07 e0 Stalled CRC/Timeo
> usb-uhci-debug.h: Link points to TD @ 0df6b1c0, Breadth first
> usb-uhci.c: interrupt, status 2, frame# 1983
> usb-uhci-debug.h: TD @ cded7fa0/0DED7FA0, MaxLen=07 DT0 EP=0 Dev=3
> PID=(SETUP) buf=0df07360
> usb-uhci-debug.h: Len=07 e0 Stalled CRC/Timeo
> usb-uhci-debug.h: Link points to TD @ 0df6b2c0, Breadth first
>
> Can someone explain to me what the HCD is trying to tell me?
That you have encountered one of the ugliest errors on USB... The device is
simply not responding anymore (even no NAK). The "CRC/Timeout" should be
formatted as "crc/!!!TIMEOUT!!!".
I assume that the device's firmware gets so confused about the first bulk
message and the clear_halt, that it crashes. I know a similar behavior from
an Atmel hub, that crashes after a while when asked for string descriptors
it doesn't have. The CATC shows no unusual behavior from the HCD side.
For your device, I have no idea what can be done to avoid this...
--
Georg Acher, [EMAIL PROTECTED]
http://www.in.tum.de/~acher/
"Oh no, not again !" The bowl of petunias
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]