John Homppi wrote:
Long description follows..... the code to review is at the end of the message.
===========
I have a device that uses interrupt OUT endpoints and I need a Linux driver. It seems to me that the existing USB driver stack does not support OUTPUT on interrupt end-points.
Actually it does ... at least so far as some basic test programs show.
But there are issues to cope with on 2.4

I cloned the usb_bulk_msg routine in message.c to create a usb_int_msg routine. This seemed to be the easiest way to add Interrupt Out capablity without breaking anything (and without understanding the USB internals)

I then built a simple driver based on the usbtest.c skeleton program.
My driver appears to operate OK but I have been unable to fully test it since
work got really busy.

I tried to port the design back to the 2.4.20 kernel but it failed miserably. Perhaps my entire approach is invalid.
Finish getting new code to work on 2.5 first, THEN backport ... :)

The approach is fine, but you'll hit stumbling blocks on 2.4 since
there are issues with interrupt OUT handling there.  If you've got
a good 2.5-compatible solution, resolving the relevant 2.4 issues
shouldn't be too hard.


PROBLEM: The last parameter to the usb_fill_int is the interval. Using zero
supposedly means one-shot, but this is reported as an invalid argument?
So far that's a UHCI-only feature.  Ben Herrenschmidt recently posted
a patch for OHCI, you might want to give that a try.  (In 2.5, all
interrupt transfers are one-shot, and the period is just the period.)

Or:  don't try using one-shot, and instead just make sure that the
messages you send are NOPs.

- Dave





-------------------------------------------------------
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to