J. Dosher wrote:
Is there a good example module for writing USB interrupt-based drivers, or
a particular driver that's good to examine?

I don't think so. The basic idea (in 2.6 anyway) is that you can have a queue of such periodic transfers, and the host performs them in sequence. On 2.4 there were lots of special cases, and often code to work around them.


I've been able to get my interrupt driver working for a usb 2.0 device
(Cypress CY68001), but only at a 2ms frame rate or slower. Thinking (and

I'd expect such limits in 2.4, which restricted that queue to a single packet ... versus N urbs of M packets each. The timings work out badly, so 1msec rates aren't sustainable in most configurations.


reading) that the 2.4.x kernel's ehci might be part of the problem, I've
started porting my driver over to 2.6, and looking at various usb drivers
in the 2.6 tree. (Maybe I should ask: Is that a correct assessment of the
limitation in the 2.4.x ehci code? I *assume* that switching over to a
2.6.x kernel is really the only way to get the fast, low-latency transfers
that we're looking for. ?)

I don't know that anyone's really worked on getting latency down in the USB stack. I think 2.6 probably has less cruft in those round-trip paths than 2.4, but that's not why you should switch!

Anyway, latency really needn't affect the ability to have 1msec rates.
Just use more than one packet in your queue, so there's enough to
keep the queue busy at all times.

- Dave




------------------------------------------------------- This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer Conference, June 28 - July 1 at the Moscone Center in San Francisco, CA REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code NWMGYKND _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to