I am experiencing a frustrating problem with a USB device. The device
has linux support and uses libusb in asynchronous mode via
libusb_fill_interrupt_transfer(). The device is a multi-button device
). The problem is that, after a random
amount of time, the callback registered with
libusb_fill_interrupt_transfer() is called with the status
LIBUSB_TRANSFER_CANCELLED. There is no need for there to be any user
interaction with the device when this happens. It just appears. After
this happens, libusb no longer provides any events.
In a search, I see some info about this when packets larger than 16k are
involved. In the case of this device, the packets are more on the order
of 80 bytes. The solution was a newer kernel and libusb. But that was
only for devices sending >16k packets.
Unfortunately this is on openSUSE 11.2. I cannot update these systems at
this time. So I need to see what is happening to see if there is
anything I can do.
Has anyone come across this kind of behavior on openSUSE? I am using
libusb 1.0.2, which seems to be the one that goes with kernel 2.6.31.
I have of course asked the supplier. But I get a feeling that may not
lead anywhere. The officially support Ubuntu. Support requests seem to
OPQ Systems / Ramböll RST
Office: Int +46 10-615 60 20
Mobile: Int +46 70-815 1696
Ramböll Sverige AB
P.O. Box 17009
SE-104 62 Stockholm, Sweden
To unsubscribe, e-mail: opensuse-programming+unsubscribe(a)opensuse.org
To contact the owner, e-mail: opensuse-programming+owner(a)opensuse.org