The situation is this: I have a USB device (a custom device I'm trying to talk to) with two endpoints, one write to the device, one read from the device. Both are mass transmissions. Each communication transaction takes the form (1) Write a command to a device (2) Read the answer. I use libusb (version 0.1, not 1.0 beta) to actually execute messages.
Everything is fine on Windows. I can connect the device, request an interface and communicate with pleasure. However, in Ubuntu (the default Hardy installation for the desktop), while I can connect to and write to the device, all read operations fail with the error message "Error sending URB: invalid argument" from the libusb file (error code is 22).
If I check / var / log / messages, I see a warning message registered at the same time as when I tried to read: "sysfs: duplicate filename" usbdev4.3_ep81 "could not be created" - this matches the device (this is really on this bus, and this is the endpoint 81 I'm trying to read about).
So ... has anyone seen a similar problem with libusb or any idea how to fix it?
source share