On Wed, 5 Apr 2006, Florian Echtler wrote: > Hello everybody, > > I have some USB WLAN device (based on the Atmel AT76C503A) which works > when connected to a UHCI host controller, but not with an OHCI. I know > that this would be a question for the driver developer in the first > place, but the respective mailing list is long dead, so I tried to fix > it myself and ran into some problems. > > When transmitting data, the driver first builds an URB with > usb_fill_bulk_urb and sends it via usb_submit_urb. In the callback, > urb->status is checked and if not zero, the packet error counter is > increased - which happens at least half of the time. > > I've put in a printk to check the error code, it's -110, and that is > supposed to be ETIMEDOUT. According to ohci.h, this code is returned > on TD_DEVNOTRESP.. but now, I'm out of clues. > > Is this error code really caused by some kind of timeout? If so, does > anybody know how to give the device a bit more time to process the URB?
The error is caused by a timeout on the USB bus. The device has a limited time (a few microseconds) to respond to a packet; if it doesn't respond in that time you get this error. There's no way to increase the time limit; it's built into the hardware and is part of the USB specification. There are two main reasons for a device not to respond to a packet: (1) the device's firmware has crashed; (2) noise in the USB data lines prevents the computer from recognizing the response or prevents the device from recognizing the original packet. Alan Stern ------------------------------------------------------- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 _______________________________________________ [email protected] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
