[libhid-discuss] usb_control_msg

Jorgen Lundman lundman at lundman.net
Fri Jun 22 12:53:59 UTC 2007



>>  ret=hid_interrupt_read(hid,0x00000081,data,URB_LENGTH,TIME_OUT);
> 
> That looks about right. Since the only "backend" to libhid is libusb (at 
> the moment), it's just a thin layer on top - not much translation of 
> parameters, as you can see in the code (src/hid_exchange.c).
> 

It took the same arguments so I felt confident that that part was right.


>> But what do I do about usb_control_msg() ? I tried doing something
>> naughty like:
>>
>>  ret=usb_control_msg(hid->dev_handle,USB_MSG_OUT,0x9,0x200,0x03,PACKET,length,TIME_OUT); 
> 
> Not sure what to tell you here. (BTW, you can use hid_strerror() to map 
> the return code to a real error message - beats counting lines in hid.h)
> 
> Can you generate any debug output on a platform where the code you're 
> porting actually runs properly? There's a new USB trace feature in 
> recent Linux kernels, if you can get the device to a Linux box.
> 

But, should I be de-referencing your struct hid to fiddle with your 
internal reference to usb? Is that normal? Or should I replace 
usb_control_msg() call with a hid_* method of some kind?


-- 
Jorgen Lundman       | <lundman at lundman.net>
Unix Administrator   | +81 (0)3 -5456-2687 ext 1017 (work)
Shibuya-ku, Tokyo    | +81 (0)90-5578-8500          (cell)
Japan                | +81 (0)3 -3375-1767          (home)



More information about the libhid-discuss mailing list