PDA

View Full Version : FD6 read USB HID device error


mt8901
12th February 2007, 12:28 AM
I made a USB HID device, which works perferctly in MS windows environment. But when it plug into FD6 PC, I got a timeout error when reeading HID report. After serveral tries in the USB firmware, I found a very strange solution. If the HID report length is odd number, I'll get timeout error. But if I send extra byte(zero) to USB for HID report, timeout error is gone.

This could be the error of the implementation in USB driver always tried to read USB data in the unit of WORD, instead of byte. Anybody can confirm this or fix this? Thanks.

h3lios
28th May 2008, 10:01 PM
I have exactly the same problem. I also use a custom USB-HID device working properly with Windows and with Linux, it only sends the first report and then it "stops" - no more reports. With the newer 2.6.23 kernel the behavoir is different: the first report comes through correctly and then every report is of id 0, value = 0, type = 0, everything is just zero...

I will have a look at the firmware of this device, if there is a report of odd length. Do you have any solution yet? Did you try to change the datatypes from word to byte? And where, in the kernel tree hid-core.c?

greetings,
christian