Hello,

On Monday 30 September 2002 16:24, Alan Stern wrote:
> Actually, it is possible to receive EPIPE for a control endpoint.  But it
> shouldn't happen very often.  In fact, with normal use we shouldn't see it
> at all.

Oh yes, I have seen it. EPIPE on control endpoints. Mostly with the usb-uhci 
driver (Linux 2.4.10). It was no STALL but a transmission error. There was a
spike on the USB data lines, and the host is doing 3 retries. All 3 retries 
failed because the spike was longer than all the retries.

An additional problem was that the device (Infineon SAF C161U) was not
able to flush the endpoint FIFO of the control endpoint if used with 24 MHz 
Clock so it was very difficult to do error recovery.

The two main reasons for the spike were:

a) some EMI blocking in form of a common-mode-choke at the device side.
   In fact, common-mode-chokes should not be used on USB data lines because
   of the common-mode EOP condition. (!#@)

b) the USB device has an own AC adaptor with a return path to ground. So there
   is a possible ground loop between PC and device.

A good test for this problem is to set the retry count from "3" to "0" (which 
means forever) in the host controler driver. The error should disapear.

best regards
Wolfgang





-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to