You are using ioctl to talk directly to the kernel driver, bypassing libusb. Maybe it is time to download libusb sources and check it out.
The call I am doing is run upto 10000x. It is part of a tunning scanner ;-)

Thnx,
Nikos


On Tue, Jan 14, 2014 at 3:10 AM, Pete Zaitcev <zaitcev@kotori.zaitcev.us> wrote:
On Tue, 14 Jan 2014 01:14:26 +0200
Nikos Balkanas <nikos.balkanas@eyeonix.com> wrote:

> What function from the libusb API are you using for the read?

I wrote usbfs, not libusb. Of course it's no use for you if you're on OSX,
but it works on Linux. See here:
 http://people.redhat.com/zaitcev/linux/canonf50.tar.gz

-- Pete