[libhid-discuss] libhid problems with interrupt_read/write

Charles Lepple clepple at ghz.cc
Fri Apr 6 12:21:17 UTC 2007


On Apr 5, 2007, at 4:07 PM, Thomas Maclean wrote:

> I'm also getting writes that return with value 23!  My count of the  
> enum
> for the hid_return values doesn't go that high!

SVN rev 330 (hid.h last changed: 313) says that we added two items to  
hid_return, so 23 is HID_RET_TIMEOUT.

100 ms is short for a 1.5 Mbit/sec USB device. Bear in mind that it's  
both the time needed to transmit the bits (which can be long for a  
multi-frame packet) plus whatever response time the device needs to  
ACK the whole packet (which might take a while if it is a slow  
processor).

Are you sure that your code is linking against the same installation  
of libhid as the hid.h header file?

Also, you might want to make sure all compiler warnings are turned  
on. I might have accidentally introduced a regression somewhere.

> 'cat /proc/bus/usb/devices' returns
>
> T:  Bus=03 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  3 Spd=1.5 MxCh= 0
> D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
> P:  Vendor=10bf ProdID=0004 Rev= 4.00
> S:  Manufacturer=SmartHome
> S:  Product=SmartHome PowerLinc USB E
> C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=  0mA
> I:  If#= 0 Alt= 0 #EPs= 2 Cls=03(HID  ) Sub=00 Prot=00 Driver=(none)

"Driver=(none)" means that the kernel is not claiming the HID  
interface, which is good (as I don't know if libusb-0.1.8 has the  
detach function needed to kick the kernel out of the way).

-- 
Charles Lepple
clepple at ghz.cc





More information about the libhid-discuss mailing list