Hi Ken,
If you look at the bug filed in the Linux Kernel Bugzilla (http://bugzilla.kernel.org/show_bug.cgi?id=1048), there is an explanation of the problem and a proposed patch. In hid-core.c, in function hid_input_field(), there is the following code:
if (field->flags & HID_MAIN_ITEM_RELATIVE) { if (!value[n]) continue; } else { if (value[n] == field->value[n]) continue; }
I think this is completely bogus: it compares the value to the one stored from the previous report, and throws away the report if the value is the same. The fix is simply to remove that code. We have been using this approach in production for almost a year now, and it did not cause any problems.
What I am surprised to hear, though, is that 2.6 is not working for you. The experience has been exactly the opposite for me. 2.6.6, 2.6.9, 2.6.10, all work like a charm for us, and 2.4.21 to 29 proved to cause all kinds of pain. In general, I'd describe my experience with HID in 2.4 as "doesn't work". Did you try inserting debug printk()'s in early stages of input report processing to see if you are getting any USB transfers at all, or the report gets lost somewhere in the hid-land?
Regards,
Boris Shingarov Development Manager, Linux systems CRYPTOCard Corp. 340 March Road, Suite 600 Kanata, ON K2K 2E2 Toll Free: (800) 307-7042 Int'l: +1-613-599-2441 mailto: [EMAIL PROTECTED] http://www.cryptocard.com
------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel