Re: [Bluez-users] Epox Barton keyboard: HID create error 53

Marcel Holtmann
2004-06-28T19:55:26Z

Hi Matthias,

> Well, I looked a little closer, and it seems that the debugging message
>
> net/bluetooth/hidp/hid.c: usage index exceeded
> net/bluetooth/hidp/hid.c: hid_add_usage failed
> net/bluetooth/hidp/hid.c: item 0 2 2 2 parsing failed
>
> is caused by the item USAGE_MAXIMUM(65280) which corresponds to "2A 00
> FF", the 18th item of the descriptor (see below). The maximum number of
> usages is set in net/bluetooth/hidp/hid.h
>
> #define HID_MAX_USAGES 1024
>
> I tried to increase this to 65535 (FFFF), the theoretical max according
> to HUT 1.11, but it didn't help, because then the max page size is exceeded.
>
> But this doesn't seem reasonable anyway, since the codes E8-FFFF are not
> defined yet (and which keyboard has several tens of thousand keys? ;).
>
> So, can we assume the HID descriptor is "broken"? If yes, what would be
> the way to deal with this? Can we re-set the USAGE_MAXIMUM to a
> reasonable value?

I don't know if the descriptor is broken or if the HID parser has a bug.

The value you are talking about is 255 and not 65280. The questions is
if the descriptor encodes these values in big or in little endian. If
they must be in little endian than EPoX made a mistake here, otherwise
our HID parser is broken. Please check the specification for the used
endian encoding, because I will not have time to read it.

Regards

Marcel

-------------------------------------------------------
This SF.Net email sponsored by Black Hat Briefings & Training.
Attend Black Hat Briefings & Training, Las Vegas July 24-29 -
digital self defense, top technical experts, no vendor pitches,
unmatched networking opportunities. Visit www.blackhat.com