On Wed, 25 Jul 2007, David Hooker wrote: > I'm trying to communicate with a device over USB from Java. I have > the LibusbJava jar which is basically a thin wrapper around libusb, > and I have that all working. I can open the device and claim the > interface (for some reason I have to forcibly kick the hub's claim > off first sometimes). > > The device's communication specification says that I must poll an > interrupt pipe every 10ms or so to see if it has data ready on the > bulk in pipe. So I send a message to the device on their bulk out > pipe, and start polling - however, I'm never seeing data from the > device. So I decided to usbmon the conversation and see what I get. > Here's a sampling: > > c294ba20 3312458830 S Co:2:007:0 s 00 09 0001 0000 0000 0 > c294ba20 3312460393 C Co:2:007:0 0 0 > c294ba20 3312534562 S Ii:2:007:1 -115:8 64 < > c294ba20 3312554363 C Ii:2:007:1 -2:8 0 > c294ba20 3312555645 S Ii:2:007:1 -115:8 64 < > c294ba20 3312567360 C Ii:2:007:1 -2:8 0
No bulk-out messages there. > The "Ii" lines repeat in the groups of 2, for each poll I do of the > device. My question is, why am I getting the -2 (ENOENT) reply? > What does that error mean - just that the device isn't replying (as > the spec says it won't unless it has data), or does it mean that the > USB system can't speak to the device at all? It means that the your poll is being cancelled, possibly because of a timeout. According to the log, it gets cancelled 10-20 ms after submission. What do you specify for the timeout parameter? Alan Stern ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ Linux-usb-users@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-users