Re: EHCI problem ?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 27 Jun 2011, Felipe Balbi wrote:

> Hi Alan
> 
> recently (since -rc2) I started seeing some weird transaction errors on
> EHCI, but not with all devices, so I'm not sure if my device is broken
> or EHCI is buggy.
> 
> Today I also saw a control message timing out with two different
> controllers (peripheral side controllers). Below the messages I'm
> seeing.
> 
> Just connected the device and left it sitting for a while:
> 
> [  346.394308] hub 2-1:1.0: state 7 ports 8 chg 0000 evt 0004
> [  346.394631] hub 2-1:1.0: port 2, status 0101, change 0001, 12 Mb/s
> [  346.519291] hub 2-1:1.0: debounce: port 2: total 100ms stable 100ms status 0x101
> [  346.591196] usb 2-1.2: new high speed USB device number 6 using ehci_hcd
> 
> after 5 seconds, we see the timeout:
> 
> [  351.582267] usb 2-1.2: khubd timed out on ep0in len=0/64
> [  356.573727] usb 2-1.2: khubd timed out on ep0in len=0/64
> [  361.564855] usb 2-1.2: khubd timed out on ep0in len=0/64
> [  361.636733] usb 2-1.2: device descriptor read/64, error -110
> [  366.731821] usb 2-1.2: khubd timed out on ep0in len=0/64
> [  371.722924] usb 2-1.2: khubd timed out on ep0in len=0/64
> [  376.714197] usb 2-1.2: khubd timed out on ep0in len=0/64
> [  376.786095] usb 2-1.2: device descriptor read/64, error -110
...

> then I removed the gadget driver from the peripheral side (a beagle
> board xM, if you wanna know):
> 
> [  548.030699] hub 2-1:1.0: state 7 ports 8 chg 0000 evt 0004
> [  548.030903] hub 2-1:1.0: port 2, status 0100, change 0001, 12 Mb/s
> [  548.156648] hub 2-1:1.0: debounce: port 2: total 100ms stable 100ms status 0x100
> [  555.441769] hub 2-1:1.0: state 7 ports 8 chg 0000 evt 0004
> [  555.441995] hub 2-1:1.0: port 2, status 0100, change 0001, 12 Mb/s
> [  555.631500] hub 2-1:1.0: debounce: port 2: total 150ms stable 100ms status 0x101
> 
> after reloading the gadget driver (g_zero, in this case), I saw:
> 
> [  555.703342] usb 2-1.2: new high speed USB device number 10 using ehci_hcd
> [  557.743903] ehci_hcd 0000:00:1d.0: detected XactErr len 0/64 retry 1
> [  557.744026] ehci_hcd 0000:00:1d.0: detected XactErr len 0/64 retry 2
> [  557.744148] ehci_hcd 0000:00:1d.0: detected XactErr len 0/64 retry 3
...
> [  557.747769] ehci_hcd 0000:00:1d.0: devpath 1.2 ep0in 3strikes
> [  557.748018] ehci_hcd 0000:00:1d.0: detected XactErr len 0/8 retry 1
> [  557.748140] ehci_hcd 0000:00:1d.0: detected XactErr len 0/8 retry 2
> [  557.748266] ehci_hcd 0000:00:1d.0: detected XactErr len 0/8 retry 3
...
> [  557.756026] ehci_hcd 0000:00:1d.0: devpath 1.2 ep0in 3strikes
> [  557.771914] hub 2-1:1.0: unable to enumerate USB device on port 2
> [  557.772058] hub 2-1:1.0: state 7 ports 8 chg 0000 evt 0004
> [  557.772303] hub 2-1:1.0: port 2, status 0100, change 0001, 12 Mb/s
> [  557.899469] hub 2-1:1.0: debounce: port 2: total 100ms stable 100ms status 0x100
> 
> So, what actually _are_ these transaction errors ? What is EHCI
> complaining about ? I'm also attaching usbmon traces FYI.

Transaction errors are low-level bus protocol errors.  They could be
caused by noise or by failure to receive a proper response packet.  
For example, when the host sends a SETUP packet the device is supposed
to reply with an ACK within a few microseconds.  If no ACK is received,
the SETUP is retried.  After three failed attempts you get a
transaction error.

In your case it does look like a hardware failure of some kind.  Hard 
to tell exactly what is broken, though.  The best way to find out is to 
plug the device into a different computer and to plug a different 
device into that EHCI controller.

Since you have already tried different UDCs, the problem probably isn't 
at that end.  It might even be something wrong with the USB cable.

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux