On Sun, Nov 04, 2001, Marcus Meissner <[EMAIL PROTECTED]> wrote: > On Sun, Nov 04, 2001 at 12:41:10PM -0500, Johannes Erdfelt wrote: > > On Sun, Nov 04, 2001, Marcus Meissner <[EMAIL PROTECTED]> wrote: > > > I have started doing a gphoto2 port of the Mustek MDC 800 driver. > > > > > > Everything looks good, except that the userspace USB stuff is acting > > > flaky when reading from the INTERRUPT Endpoint. While gets the 'camera busy' > > > and 'camera ready' packets just fine, and sometimes also the data packets, > > > it sometimes appears to skip datapackets coming from the Interrupt Endpoint. > > > > > > I had a deeper look at the whole thing and it appears that libusb 0.1.4 > > > reads data always using the Bulk readmode. This works just fine, but > > > not in all cases. > > > > > > Also further investigations showed that the linux kernel currently does > > > not support reliable reading of Interrupt endpoint data at all, not even > > > by using URBs. > > > > Umm, I beg to differ. I'm using a USB keyboard and mouse right now which > > reliably uses Interrupt endpoints, using URB's (the HUD driver). > > > > That isn't to say you aren't having a problem, but you are definately > > overstating it. > > Err. I think I did not correctly expressed my problem. > > The in-kernel drivers work just fine. > > However I want to use Interrupt Endpoints from USER space, without a > special kernel driver. > > gphoto2 (or better, libusb) currently opens /proc/bus/pci/001/00x and > issues USBDEVFS_BULK ioctls to write/read from Bulk and Interrupt endpoints. > > So I think what I am observing is that interrupt endpoint access from > userspace is not very reliable. > > (I haven't yet booted 2.4.13-ac7 to test the single shot interrupt endpoint > URB reader.)
libusb doesn't have native interrupt support (in fact, it doesn't even have a function to do it). It's all been done by overloading the bulk interrupt interface. However, it should still work. The one shot interrupt urb support recently added is only useful if you need to do it asynchronously, or are really worried about bandwidth allocation. There may be a bug, but it shouldn't be anything that couldn't be fixed. FWIW - I'm going to check in some interrupt functions for libusb 0.1.5 and libusb 1.0 will have a fully asynchronous interface. JE _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
