Hello,

I recommend that you look mailing list for libusb: https://sourceforge.net/mailarchive/forum.php?forum_id=5425
Into CVS you have a new version with functions to handle interruption USB, I think.: http://cvs.sourceforge.net/viewcvs.py/libusb/libusb/linux.c


Regards,
  Josep

En/na Peter Stuge ha escrit:

Hi all, and thanks for the heads up on the side, John!

On Sun, Dec 21, 2003 at 10:33:06PM +0300, Sergey Vlasov wrote:


On Sun, Dec 21, 2003 at 01:40:05PM -0500, John Homppi wrote:


libusb-0.1.7 does NOT provide interrupt endpoint handling.


Yes, this is a problem.



What is the reason for this? Is something making it particularly problematic or is it just unimplemented as yet? Is this off topic? Guess so since there's a libusb list, if noone tells me I'll go there.




devio.c does NOT provide ioctls for interrupt writes and reads.


In fact, this is not entirely correct.  While a simple interface like
USBDEVFS_CONTROL or USBDEVFS_BULK is not provided, the more generic
USBDEVFS_SUBMITURB ioctl can be used to work with interrupt endpoints
(USBDEVFS_URB_TYPE_INTERRUPT).  Even better, this interface is already
available even in 2.4.x.



My Solution
============
I modified my version of libusb to add usb_interrupt_write and usb_interrupt_read entry points. This required minor additions to
the underlying devio.c and message.c routines in the 2.6.0 kernel.
Preliminary testing shows that it works properly.


Probably it would be better to use the existing ioctls instead of
adding new ones - this way your program will not require to upgrade
the kernel.



Clearly the way to go. I'd be interested in putting together some code if it "just" needs to be implemented and there are no difficulties, but on the other hand I'm a little unsure of anything timing related - all of that should actually be taken care of by linux-usb already, though, right? :)




The change provides user-space access to the ADU200 and possibly to other PIC16C745-based boards. (and hopefully any other USB peripherals that use low-speed interrupt endpoint I/O without
the capability of bulk endpoints).


Offer
=======
If anyone wants to use this approach I can create patch files for libusb and the 2.6.0 kernel routines that are affected.



I'm quite interested in getting interrupt transfers in user land working with low speed devices, I'm actually surprised noone has had this interest before..


Thanks in advance!



//Peter



------------------------------------------------------- This SF.net email is sponsored by: IBM Linux Tutorials. Become an expert in LINUX or just sharpen your skills. Sign up for IBM's Free Linux Tutorials. Learn everything from the bash shell to sys admin. Click now! http://ads.osdn.com/?ad_id=1278&alloc_id=3371&op=click _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel









------------------------------------------------------- This SF.net email is sponsored by: IBM Linux Tutorials. Become an expert in LINUX or just sharpen your skills. Sign up for IBM's Free Linux Tutorials. Learn everything from the bash shell to sys admin. Click now! http://ads.osdn.com/?ad_id=1278&alloc_id=3371&op=click _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to