2004-06-14 17:34:04

by Matthias Thomae

[permalink] [raw]
Subject: [Bluez-users] Epox Barton keyboard: HID create error 53

Hello,

I am trying to connect a Epox Barton Keyboard to a Thinkpad R50 with
internal bluetooth, Kernel 2.6.6-mh3 and debian bluez-utils 2.7-2.

But I get:
> hidd --connect 00:04:61:XX:XX:XX
HID create error 53 (Invalid request descriptor)

syslog says:
Jun 14 19:24:11 tyron hidd: New HID device 00:04:61:XX:XX:XX (Epox
HIDEngine Keyboard)

Tried with and without encryption, both failed. Any ideas?

Greetings
Matthias



> hciconfig -a
hci0: Type: USB
BD Address: 00:20:E0:XX:XX:XX ACL MTU: 192:8 SCO MTU: 64:8
UP RUNNING PSCAN
RX bytes:2756580 acl:10594 sco:0 events:3821 errors:0
TX bytes:443471 acl:4191 sco:0 commands:110 errors:0
Features: 0xff 0xff 0x0f 0x00 0x00 0x00 0x00 0x00
Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
Link policy: RSWITCH HOLD SNIFF PARK
Link mode: SLAVE ACCEPT
Name: 'BlueTyron'
Class: 0x000100
Service Classes: Unspecified
Device Class: Computer, Uncategorized
HCI Ver: 1.1 (0x1) HCI Rev: 0x222 LMP Ver: 1.1 (0x1) LMP Subver: 0x222
Manufacturer: Cambridge Silicon Radio (10)

> hcitool info 00:04:61:XX:XX:XX
Requesting information ...
BD Address: 00:04:61:XX:XX:XX
Device Name: Bluetooth-Keyboard 817324
LMP Version: 1.1 (0x1) LMP Subversion: 0x356
Manufacturer: Cambridge Silicon Radio (10)
Features: 0xff 0xff 0x0b 0x00 0x00 0x00 0x00 0x00
<3-slot packets> <5-slot packets> <encryption> <slot offset>
<timing accuracy> <role switch> <hold mode> <sniff mode>
<park state> <RSSI> <channel quality> <SCO link> <HV2 packets>
<HV3 packets> <u-law log> <A-law log> <CVSD> <paging scheme>
<transparent SCO>
r


-------------------------------------------------------
This SF.Net email is sponsored by the new InstallShield X.
>From Windows to Linux, servers to mobile, InstallShield X is the
one installation-authoring solution that does it all. Learn more and
evaluate today! http://www.installshield.com/Dev2Dev/0504
_______________________________________________
Bluez-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-users


2004-06-30 07:59:10

by Matthias Thomae

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

Hello Marcel,

Marcel Holtmann wrote:
> don't rely on that you will get a fixed device very soon. I reported
> that bug to EPoX, but I don't expect anything. I will fix it directly in
> the hidd and swap the bytes in the HID descriptor before handling the
> connection over to the HIDP module.

I think I could live very well with a quirk, if it makes the device
work. I didn't plan to use other BT stacks anyway :)

Regards.
Matthias

2004-06-29 21:11:53

by Marcel Holtmann

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

Hi Matthias,

> > I will notify EPoX about it, so they can correct their bug. We must
> > introduce a quirk for it, but I don't know how to trigger. The keyboard
> > don't uses Bluetooth DeviceID and the presenter DeviceID is also wrong.
> > At Cebit I told them that they should take care of DeviceID :(
>
> Ok. Please keep me (or the list) up-to-date on your findings, I'd like
> to know if I have to return this device to the dealer...

don't rely on that you will get a fixed device very soon. I reported
that bug to EPoX, but I don't expect anything. I will fix it directly in
the hidd and swap the bytes in the HID descriptor before handling the
connection over to the HIDP module.

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 http://www.blackhat.com
_______________________________________________
Bluez-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-users

2004-06-29 19:55:08

by Matthias Thomae

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

Hi Marcel,

Marcel Holtmann wrote:
>>So what do we do?
>
> I will notify EPoX about it, so they can correct their bug. We must
> introduce a quirk for it, but I don't know how to trigger. The keyboard
> don't uses Bluetooth DeviceID and the presenter DeviceID is also wrong.
> At Cebit I told them that they should take care of DeviceID :(

Ok. Please keep me (or the list) up-to-date on your findings, I'd like
to know if I have to return this device to the dealer...

Thanks a lot for your work so far.

Regards.
Matthias

2004-06-29 09:09:05

by Marcel Holtmann

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

Hi Matthias,

> the HID Specification 1.11 states on page 19:
>
> "Multibyte numeric values in reports are represented in little-endian
> format, with the least significant byte at the lowest address."

this makes is clear the EPoX HID descriptor is buggy and the only reason
their mouse works is, because it doesn't uses a multibyte value.

> So it really is 65280, isn't it? Also, I got this value by use of the
> HID Descriptor Tool.
> Moreover, the descriptor of the Apple keyboard, according to your web
> page, has a similar sequence the other way round: "2a ff 00"

I know. I checked my HID devices to see what the other manufacturer did
and if some other one uses multibyte.

> The funny thing is, the Windows Widcomm Bluetooth stack seems to cope
> with this, I tried it on a Thinkpad.

That is not so funny, because even the bthid was able to work with EPoX
keyboard. Everything depends on how you implement the parser. The Linux
kernel HID parser stores some values for faster access. We are inside
the kernel, we can't parse it everytime a report arrives.

> So what do we do?

I will notify EPoX about it, so they can correct their bug. We must
introduce a quirk for it, but I don't know how to trigger. The keyboard
don't uses Bluetooth DeviceID and the presenter DeviceID is also wrong.
At Cebit I told them that they should take care of DeviceID :(

For a future safe code I will implement the boot protocol, so we can use
it if the parsing of the report descriptor fails.

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 http://www.blackhat.com
_______________________________________________
Bluez-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-users

2004-06-29 08:57:57

by Matthias Thomae

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

Hi Marcel,

the HID Specification 1.11 states on page 19:

"Multibyte numeric values in reports are represented in little-endian
format, with the least significant byte at the lowest address."

So it really is 65280, isn't it? Also, I got this value by use of the
HID Descriptor Tool.
Moreover, the descriptor of the Apple keyboard, according to your web
page, has a similar sequence the other way round: "2a ff 00"

The funny thing is, the Windows Widcomm Bluetooth stack seems to cope
with this, I tried it on a Thinkpad.

So what do we do?

Greetings
Matthias


Marcel Holtmann wrote:
>>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
>
>

2004-06-28 19:55:26

by Marcel Holtmann

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

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 http://www.blackhat.com
_______________________________________________
Bluez-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-users

2004-06-28 14:01:17

by Matthias Thomae

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

Hi Marcel and list,

Matthias Thomae wrote:
> I did, attached is how far I got in decoding the descriptor, using the
> HID Specifications and the Descriptor Tool.
> There are some values (marked with '?') which I can't find in
> Hut1_11.pdf, but the basic structure should be there.
>
> Next I would have a closer look at the hid parser, but I'm not sure when
> I get to do this...

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?

Regards.
Matthias


> ------------------------------------------------------------------------
>
> USAGE_PAGE (Generic Desktop) 05 01
> USAGE (Keyboard) 09 06
> COLLECTION (Application) A1 01
> USAGE_PAGE (Keyboard) 05 07
> REPORT_ID (1) 85 01
> USAGE_MINIMUM (Keyboard LeftControl) 19 E0
> USAGE_MAXIMUM (Keyboard Right GUI) 29 E7
> LOGICAL_MINIMUM (0) 15 00
> LOGICAL_MAXIMUM (1) 25 01
> REPORT_SIZE (1) 75 01
> REPORT_COUNT (8) 95 08
> INPUT (Data,Var,Abs) 81 02
> REPORT_SIZE (8) 75 08
> REPORT_COUNT (1) 95 01
> INPUT (Cnst,Ary,Abs) 81 01
> USAGE_PAGE (Keyboard) 05 07
> USAGE_MINIMUM (Reserved (no event indicated)) 19 00
> USAGE_MAXIMUM (65280) 2A 00 FF

this seems to be the problem

> LOGICAL_MINIMUM (0) 15 00
> LOGICAL_MAXIMUM (65280) 26 00 FF
> REPORT_SIZE (8) 75 08
> REPORT_COUNT (6) 95 06
> INPUT (Data,Ary,Abs) 81 00
> USAGE_PAGE (LEDs) 05 08
> REPORT_ID (1) 85 01
> USAGE_MINIMUM (Num Lock) 19 01
> USAGE_MAXIMUM (Kana) 29 05
> REPORT_SIZE (1) 75 01
> REPORT_COUNT (5) 95 05
> OUTPUT (Data,Var,Abs) 91 02
> REPORT_SIZE (3) 75 03
> REPORT_COUNT (1) 95 01
> OUTPUT (Cnst,Ary,Abs) 91 01
> END_COLLECTION C0
> USAGE_PAGE (Consumer Devices) 05 0C
> USAGE (Consumer Control) 09 01
> COLLECTION (Application) A1 01
> REPORT_ID (2) 85 02
> USAGE_PAGE (Consumer Devices) 05 0C
> LOGICAL_MINIMUM (0) 15 00
> LOGICAL_MAXIMUM (1) 25 01
> REPORT_SIZE (1) 75 01
> REPORT_COUNT (18) 95 12
> USAGE (Stop) 09 B7
> USAGE (Play/Pause) 09 CD
> USAGE (Scan Next Track) 09 B5
> USAGE (Scan Previous Track) 09 B6
> USAGE (AL Consumer Control Configuration) 0A 83 01
> USAGE (Volume Down) 09 EA
> USAGE (Volume Up) 09 E9
> USAGE (Mute) 09 E2
> USAGE (AC Bookmarks ) 0A 2A 02
> USAGE (AL Email Reader) 0A 8A 01
> USAGE (AC Home ) 0A 23 02
> USAGE (AL Local Machine Browser ) 0A 94 01
> USAGE (AL Calculator) 0A 92 01
> USAGE (AC Refresh ) 0A 27 02
> USAGE (AC Stop ) 0A 26 02
> USAGE (AC Search ) 0A 21 02
> USAGE (AC Forward ) 0A 25 02
> USAGE (AC Back ) 0A 24 02
> INPUT (Data,Var,Abs) 81 02
> REPORT_SIZE (1) 75 01
> REPORT_COUNT (6) 95 06
> INPUT (Cnst,Ary,Abs) 81 01
> END_COLLECTION C0
> USAGE_PAGE (Generic Desktop) 05 01
> USAGE (System Control) 09 80
> COLLECTION (Application) A1 01
> REPORT_ID (3) 85 03
> LOGICAL_MINIMUM (0) 15 00
> LOGICAL_MAXIMUM (1) 25 01
> USAGE (Keyboard Volume Down) 09 81
> USAGE (Keyboard Locking Caps Lock) 09 82
> USAGE (Keyboard Locking Num Lock) 09 83
> REPORT_SIZE (3) 75 03
> REPORT_COUNT (1) 95 01
> INPUT (Data,Var,Abs) 81 02
> REPORT_COUNT (5) 95 05
> REPORT_SIZE (1) 75 01
> INPUT (Cnst,Ary,Abs) 81 01
> END_COLLECTION C0
> USAGE_PAGE (Generic Device Controls) 05 06
> USAGE (?) 09 01
> COLLECTION (Application) A1 01
> REPORT_ID (255) 85 FF
> REPORT_COUNT (1) 95 01
> REPORT_SIZE (2) 75 02
> USAGE (?) 09 24
> USAGE (?) 09 26
> INPUT (Data,Var,Abs) 81 02
> REPORT_SIZE (6) 75 06
> INPUT (Cnst,Ary,Abs) 81 01
> END_COLLECTION C0

2004-06-23 00:49:34

by Matthias Thomae

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

USAGE_PAGE (Generic Desktop) 05 01
USAGE (Keyboard) 09 06
COLLECTION (Application) A1 01
USAGE_PAGE (Keyboard) 05 07
REPORT_ID (1) 85 01
USAGE_MINIMUM (Keyboard LeftControl) 19 E0
USAGE_MAXIMUM (Keyboard Right GUI) 29 E7
LOGICAL_MINIMUM (0) 15 00
LOGICAL_MAXIMUM (1) 25 01
REPORT_SIZE (1) 75 01
REPORT_COUNT (8) 95 08
INPUT (Data,Var,Abs) 81 02
REPORT_SIZE (8) 75 08
REPORT_COUNT (1) 95 01
INPUT (Cnst,Ary,Abs) 81 01
USAGE_PAGE (Keyboard) 05 07
USAGE_MINIMUM (Reserved (no event indicated)) 19 00
USAGE_MAXIMUM (?) 2A 00 FF
LOGICAL_MINIMUM (0) 15 00
LOGICAL_MAXIMUM (65280) 26 00 FF
REPORT_SIZE (8) 75 08
REPORT_COUNT (6) 95 06
INPUT (Data,Ary,Abs) 81 00
USAGE_PAGE (LEDs) 05 08
REPORT_ID (1) 85 01
USAGE_MINIMUM (Num Lock) 19 01
USAGE_MAXIMUM (Kana) 29 05
REPORT_SIZE (1) 75 01
REPORT_COUNT (5) 95 05
OUTPUT (Data,Var,Abs) 91 02
REPORT_SIZE (3) 75 03
REPORT_COUNT (1) 95 01
OUTPUT (Cnst,Ary,Abs) 91 01
END_COLLECTION C0
USAGE_PAGE (Consumer Devices) 05 0C
USAGE (Consumer Control) 09 01
COLLECTION (Application) A1 01
REPORT_ID (2) 85 02
USAGE_PAGE (Consumer Devices) 05 0C
LOGICAL_MINIMUM (0) 15 00
LOGICAL_MAXIMUM (1) 25 01
REPORT_SIZE (1) 75 01
REPORT_COUNT (18) 95 12
USAGE (Stop) 09 B7
USAGE (Play/Pause) 09 CD
USAGE (Scan Next Track) 09 B5
USAGE (Scan Previous Track) 09 B6
USAGE (AL Consumer Control Configuration) 0A 83 01
USAGE (Volume Down) 09 EA
USAGE (Volume Up) 09 E9
USAGE (Mute) 09 E2
USAGE (AC Bookmarks ) 0A 2A 02
USAGE (AL Email Reader) 0A 8A 01
USAGE (AC Home ) 0A 23 02
USAGE (AL Local Machine Browser ) 0A 94 01
USAGE (AL Calculator) 0A 92 01
USAGE (AC Refresh ) 0A 27 02
USAGE (AC Stop ) 0A 26 02
USAGE (AC Search ) 0A 21 02
USAGE (AC Forward ) 0A 25 02
USAGE (AC Back ) 0A 24 02
INPUT (Data,Var,Abs) 81 02
REPORT_SIZE (1) 75 01
REPORT_COUNT (6) 95 06
INPUT (Cnst,Ary,Abs) 81 01
END_COLLECTION C0
USAGE_PAGE (Generic Desktop) 05 01
USAGE (System Control) 09 80
COLLECTION (Application) A1 01
REPORT_ID (3) 85 03
LOGICAL_MINIMUM (0) 15 00
LOGICAL_MAXIMUM (1) 25 01
USAGE (Keyboard Volume Down) 09 81
USAGE (Keyboard Locking Caps Lock) 09 82
USAGE (Keyboard Locking Num Lock) 09 83
REPORT_SIZE (3) 75 03
REPORT_COUNT (1) 95 01
INPUT (Data,Var,Abs) 81 02
REPORT_COUNT (5) 95 05
REPORT_SIZE (1) 75 01
INPUT (Cnst,Ary,Abs) 81 01
END_COLLECTION C0
USAGE_PAGE (Generic Device Controls) 05 06
USAGE (?) 09 01
COLLECTION (Application) A1 01
REPORT_ID (255) 85 FF
REPORT_COUNT (1) 95 01
REPORT_SIZE (2) 75 02
USAGE (?) 09 24
USAGE (?) 09 26
INPUT (Data,Var,Abs) 81 02
REPORT_SIZE (6) 75 06
INPUT (Cnst,Ary,Abs) 81 01
END_COLLECTION C0


Attachments:
barton.txt (2.94 kB)

2004-06-22 09:40:07

by Marcel Holtmann

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

Hi Matthias,

> Hmm, I had a look at the USB "Device Class Definiton for HID" document,
> and at net/bluetooth/hidp/hid.[h,c], but I think I will need much more
> time to understand how to analyse a HID Report Descriptor.
>
> Do you know of any tools to faciliate analysing/generating Report
> Descriptors?

look at the links on my HID page.

> BTW, I think to remember that the Descriptor of your Barton Keyboard was
> on your web pages, but I can't find it any more. Can you please put it
> back or mail it to the list?

I splitted the content of my HID page, but I can't remember that I put
the EPoX descriptors online. However now they are.

http://www.holtmann.org/linux/bluetooth/epox.html

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 http://www.blackhat.com
_______________________________________________
Bluez-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-users

2004-06-22 07:20:13

by Matthias Thomae

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

Hi Marcel,

Marcel Holtmann wrote:
>>>someone has to fix the HID parser to get it working with the keyboard
>>>and the presenter from EPoX. I am a little bit busy in getting the boot
>>>protocol support ready, so that we can at least include HID boot support
>>>into the mainline kernel. The full report protocol support has to wait
>>>until the kernel gets its device independent HID support.
>>
>>Alright, thank you meanwhile.
>
> feel free to investigate and send me a patch.

Hmm, I had a look at the USB "Device Class Definiton for HID" document,
and at net/bluetooth/hidp/hid.[h,c], but I think I will need much more
time to understand how to analyse a HID Report Descriptor.

Do you know of any tools to faciliate analysing/generating Report
Descriptors?

BTW, I think to remember that the Descriptor of your Barton Keyboard was
on your web pages, but I can't find it any more. Can you please put it
back or mail it to the list?

Regards.
Matthias

2004-06-15 22:48:35

by Marcel Holtmann

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

Hi Matthias,

> > someone has to fix the HID parser to get it working with the keyboard
> > and the presenter from EPoX. I am a little bit busy in getting the boot
> > protocol support ready, so that we can at least include HID boot support
> > into the mainline kernel. The full report protocol support has to wait
> > until the kernel gets its device independent HID support.
>
> Alright, thank you meanwhile.

feel free to investigate and send me a patch.

> > Please do so. I want to compare it with my devices. The keyboard looks
> > the same as mine. It seems they only choosed a newer CSR firmware.
>
> Hopefully a better one ;)

I think my EPoX keyboard and mouse were a prototype and this is why I
had a different build id. The SPD records and the HID descriptor are the
same.

Regards

Marcel




-------------------------------------------------------
This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference
Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer
Conference, June 28 - July 1 at the Moscone Center in San Francisco, CA
REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code NWMGYKND
_______________________________________________
Bluez-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-users

2004-06-15 19:16:39

by Matthias Thomae

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

Sequence
Attribute 0x0000 - Service record handle
UINT32 0x00010000
Attribute 0x0001 - Service class ID list
Sequence
UUID16 0x1124 - Human Interface Device Service
Attribute 0x0004 - Protocol descriptor list
Sequence
Sequence
UUID16 0x0100 - L2CAP
UINT16 0x0011
Sequence
UUID16 0x0011 - HIDP
Attribute 0x0006 - Language base attribute ID list
Sequence
UINT16 0x656e
UINT16 0x006a
UINT16 0x0100
Attribute 0x0009 - Bluetooth profile descriptor list
Sequence
Sequence
UUID16 0x1124 - Human Interface Device Service
UINT16 0x0100
Attribute 0x000d - Additional protocol descriptor lists
Sequence
Sequence
Sequence
UUID16 0x0100 - L2CAP
UINT16 0x0013
Sequence
UUID16 0x0011 - HIDP
Attribute 0x0100
String CSR Mouse
Attribute 0x0101
String Three Button Mouse
Attribute 0x0102
String CSR HIDEngine
Attribute 0x0200
UINT16 0x0100
Attribute 0x0201
UINT16 0x0100
Attribute 0x0202
UINT8 0x80
Attribute 0x0203
UINT8 0x33
Attribute 0x0204
Bool True
Attribute 0x0205
Bool True
Attribute 0x0206
Sequence
Sequence
UINT8 0x22
String 05 01 09 02 a1 01 09 01 a1 00 85 02 05 09 19 01 29 03 15 00 25 01 95 03 75 01 81 02 95 01 75 05 81 03 05 01 09 30 09 31 09 38 15 81 25 7f 75 08 95 03 81 06 c0 c0
Attribute 0x0207
Sequence
Sequence
UINT16 0x0409
UINT16 0x0100
Attribute 0x0208
Bool False
Attribute 0x0209
Bool True
Attribute 0x020a
Bool True
Attribute 0x020b
UINT16 0x0100
Attribute 0x020c
UINT16 0x1f40
Attribute 0x020d
Bool False
Attribute 0x020e
Bool True


Attachments:
BT-MS02B-sdptest-records.txt (1.56 kB)

2004-06-15 09:48:07

by Marcel Holtmann

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

Hi Matthias,

> > it is a problem of the HID parser. If you enable debugging with "#define
> > DEBUG" in net/bluetooth/hidp/hid.h then you should see those lines with
> > dmesg:
> >
> > 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
> >
> > Do you see it, too?
>
> Yes, I see exactly the same.

someone has to fix the HID parser to get it working with the keyboard
and the presenter from EPoX. I am a little bit busy in getting the boot
protocol support ready, so that we can at least include HID boot support
into the mainline kernel. The full report protocol support has to wait
until the kernel gets its device independent HID support.

> > Please send me the output of your mouse too and use
>
> I`ll send it tonight, 'cause I haven't got it with me now.
>
> > sdptest records 00:04:61:xx:xx:xx > file
> >
> > from the utils2 CVS to get the full SDP record information.
>
> It's attached. Do you need the same from the mouse, too?
> Anything else I can do?

Please do so. I want to compare it with my devices. The keyboard looks
the same as mine. It seems they only choosed a newer CSR firmware.

Regards

Marcel




-------------------------------------------------------
This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference
Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer
Conference, June 28 - July 1 at the Moscone Center in San Francisco, CA
REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code NWMGYKND
_______________________________________________
Bluez-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-users

2004-06-15 09:23:44

by Matthias Thomae

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

Sequence
Attribute 0x0000 - Service record handle
UINT32 0x00010000
Attribute 0x0001 - Service class ID list
Sequence
UUID16 0x1124 - Human Interface Device Service
Attribute 0x0004 - Protocol descriptor list
Sequence
Sequence
UUID16 0x0100 - L2CAP
UINT16 0x0011
Sequence
UUID16 0x0011 - HIDP
Attribute 0x0006 - Language base attribute ID list
Sequence
UINT16 0x656e
UINT16 0x006a
UINT16 0x0100
Attribute 0x0009 - Bluetooth profile descriptor list
Sequence
Sequence
UUID16 0x1124 - Human Interface Device Service
UINT16 0x0100
Attribute 0x000d - Additional protocol descriptor lists
Sequence
Sequence
Sequence
UUID16 0x0100 - L2CAP
UINT16 0x0013
Sequence
UUID16 0x0011 - HIDP
Attribute 0x0100
String Epox Keyboard
Attribute 0x0101
String Keyboard
Attribute 0x0102
String Epox HIDEngine
Attribute 0x0200
UINT16 0x0100
Attribute 0x0201
UINT16 0x0100
Attribute 0x0202
UINT8 0x40
Attribute 0x0203
UINT8 0x33
Attribute 0x0204
Bool True
Attribute 0x0205
Bool True
Attribute 0x0206
Sequence
Sequence
UINT8 0x22
String 05 01 09 06 a1 01 05 07 85 01 19 e0 29 e7 15 00 25 01 75 01 95 08 81 02 75 08 95 01 81 01 05 07 19 00 2a 00 ff 15 00 26 00 ff 75 08 95 06 81 00 05 08 85 01 19 01 29 05 75 01 95 05 91 02 75 03 95 01 91 01 c0 05 0c 09 01 a1 01 85 02 05 0c 15 00 25 01 75 01 95 12 09 b7 09 cd 09 b5 09 b6 0a 83 01 09 ea 09 e9 09 e2 0a 2a 02 0a 8a 01 0a 23 02 0a 94 01 0a 92 01 0a 27 02 0a 26 02 0a 21 02 0a 25 02 0a 24 02 81 02 75 01 95 06 81 01 c0 05 01 09 80 a1 01 85 03 15 00 25 01 09 81 09 82 09 83 75 03 95 01 81 02 95 05 75 01 81 01 c0 05 06 09 01 a1 01 85 ff 95 01 75 02 09 24 09 26 81 02 75 06 81 01 c0
Attribute 0x0207
Sequence
Sequence
UINT16 0x0409
UINT16 0x0100
Attribute 0x0208
Bool False
Attribute 0x0209
Bool True
Attribute 0x020a
Bool True
Attribute 0x020b
UINT16 0x0100
Attribute 0x020c
UINT16 0x1f40
Attribute 0x020d
Bool False
Attribute 0x020e
Bool True


Attachments:
BT-KB01B-sdptest-records.txt (1.98 kB)

2004-06-15 07:34:19

by Marcel Holtmann

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

Hi Matthias,

> Yes, the mouse works perfectly.
> The keyboard does work with WinXP.

it is a problem of the HID parser. If you enable debugging with "#define
DEBUG" in net/bluetooth/hidp/hid.h then you should see those lines with
dmesg:

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

Do you see it, too?

> >> > hcitool info 00:04:61:XX:XX:XX
> >>Requesting information ...
> >> BD Address: 00:04:61:XX:XX:XX
> >> Device Name: Bluetooth-Keyboard 817324
> >> LMP Version: 1.1 (0x1) LMP Subversion: 0x356
> >> Manufacturer: Cambridge Silicon Radio (10)
> >> Features: 0xff 0xff 0x0b 0x00 0x00 0x00 0x00 0x00
> >> <3-slot packets> <5-slot packets> <encryption> <slot offset>
> >> <timing accuracy> <role switch> <hold mode> <sniff mode>
> >> <park state> <RSSI> <channel quality> <SCO link> <HV2 packets>
> >> <HV3 packets> <u-law log> <A-law log> <CVSD> <paging scheme>
> >> <transparent SCO>
> >
> >
> > Mine is much older, when do you bought it?
>
> I bought it about 3 weeks ago, from http://www.bauers.com

Please send me the output of your mouse too and use

sdptest records 00:04:61:xx:xx:xx > file

from the utils2 CVS to get the full SDP record information.

Regards

Marcel




-------------------------------------------------------
This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference
Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer
Conference, June 28 - July 1 at the Moscone Center in San Francisco, CA
REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code NWMGYKND
_______________________________________________
Bluez-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-users

2004-06-15 06:26:48

by Matthias Thomae

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

Hi Marcel,

Marcel Holtmann wrote:
>>I am trying to connect a Epox Barton Keyboard to a Thinkpad R50 with
>>internal bluetooth, Kernel 2.6.6-mh3 and debian bluez-utils 2.7-2.
>>
>>But I get:
>> > hidd --connect 00:04:61:XX:XX:XX
>>HID create error 53 (Invalid request descriptor)
>>
>>syslog says:
>>Jun 14 19:24:11 tyron hidd: New HID device 00:04:61:XX:XX:XX (Epox
>>HIDEngine Keyboard)
>>
>>Tried with and without encryption, both failed. Any ideas?
>
>
> this is not an encryption problem. The HID parser can't interpret the
> HID report descriptor. I've seen the same problem with the new HID
> version of the presenter and actually I don't know why this happens. Do
> the mouse works?

Yes, the mouse works perfectly.
The keyboard does work with WinXP.

>> > hciconfig -a
>>hci0: Type: USB
>> BD Address: 00:20:E0:XX:XX:XX ACL MTU: 192:8 SCO MTU: 64:8
>> UP RUNNING PSCAN
>> RX bytes:2756580 acl:10594 sco:0 events:3821 errors:0
>> TX bytes:443471 acl:4191 sco:0 commands:110 errors:0
>> Features: 0xff 0xff 0x0f 0x00 0x00 0x00 0x00 0x00
>> Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
>> Link policy: RSWITCH HOLD SNIFF PARK
>> Link mode: SLAVE ACCEPT
>> Name: 'BlueTyron'
>> Class: 0x000100
>> Service Classes: Unspecified
>> Device Class: Computer, Uncategorized
>> HCI Ver: 1.1 (0x1) HCI Rev: 0x222 LMP Ver: 1.1 (0x1) LMP Subver: 0x222
>> Manufacturer: Cambridge Silicon Radio (10)
>
>
> What kind of dongle is this?

This is the built-in bluetooth of the IBM Thinkpad R50, Model Number
1829-7RG.

>> > hcitool info 00:04:61:XX:XX:XX
>>Requesting information ...
>> BD Address: 00:04:61:XX:XX:XX
>> Device Name: Bluetooth-Keyboard 817324
>> LMP Version: 1.1 (0x1) LMP Subversion: 0x356
>> Manufacturer: Cambridge Silicon Radio (10)
>> Features: 0xff 0xff 0x0b 0x00 0x00 0x00 0x00 0x00
>> <3-slot packets> <5-slot packets> <encryption> <slot offset>
>> <timing accuracy> <role switch> <hold mode> <sniff mode>
>> <park state> <RSSI> <channel quality> <SCO link> <HV2 packets>
>> <HV3 packets> <u-law log> <A-law log> <CVSD> <paging scheme>
>> <transparent SCO>
>
>
> Mine is much older, when do you bought it?

I bought it about 3 weeks ago, from http://www.bauers.com

Regards.
Matthias

2004-06-14 23:27:58

by Marcel Holtmann

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

Hi Matthias,

> I am trying to connect a Epox Barton Keyboard to a Thinkpad R50 with
> internal bluetooth, Kernel 2.6.6-mh3 and debian bluez-utils 2.7-2.
>
> But I get:
> > hidd --connect 00:04:61:XX:XX:XX
> HID create error 53 (Invalid request descriptor)
>
> syslog says:
> Jun 14 19:24:11 tyron hidd: New HID device 00:04:61:XX:XX:XX (Epox
> HIDEngine Keyboard)
>
> Tried with and without encryption, both failed. Any ideas?

this is not an encryption problem. The HID parser can't interpret the
HID report descriptor. I've seen the same problem with the new HID
version of the presenter and actually I don't know why this happens. Do
the mouse works?

> > hciconfig -a
> hci0: Type: USB
> BD Address: 00:20:E0:XX:XX:XX ACL MTU: 192:8 SCO MTU: 64:8
> UP RUNNING PSCAN
> RX bytes:2756580 acl:10594 sco:0 events:3821 errors:0
> TX bytes:443471 acl:4191 sco:0 commands:110 errors:0
> Features: 0xff 0xff 0x0f 0x00 0x00 0x00 0x00 0x00
> Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
> Link policy: RSWITCH HOLD SNIFF PARK
> Link mode: SLAVE ACCEPT
> Name: 'BlueTyron'
> Class: 0x000100
> Service Classes: Unspecified
> Device Class: Computer, Uncategorized
> HCI Ver: 1.1 (0x1) HCI Rev: 0x222 LMP Ver: 1.1 (0x1) LMP Subver: 0x222
> Manufacturer: Cambridge Silicon Radio (10)

What kind of dongle is this?

> > hcitool info 00:04:61:XX:XX:XX
> Requesting information ...
> BD Address: 00:04:61:XX:XX:XX
> Device Name: Bluetooth-Keyboard 817324
> LMP Version: 1.1 (0x1) LMP Subversion: 0x356
> Manufacturer: Cambridge Silicon Radio (10)
> Features: 0xff 0xff 0x0b 0x00 0x00 0x00 0x00 0x00
> <3-slot packets> <5-slot packets> <encryption> <slot offset>
> <timing accuracy> <role switch> <hold mode> <sniff mode>
> <park state> <RSSI> <channel quality> <SCO link> <HV2 packets>
> <HV3 packets> <u-law log> <A-law log> <CVSD> <paging scheme>
> <transparent SCO>

Mine is much older, when do you bought it?

Regards

Marcel




-------------------------------------------------------
This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference
Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer
Conference, June 28 - July 1 at the Moscone Center in San Francisco, CA
REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code NWMGYKND
_______________________________________________
Bluez-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-users

2004-07-10 17:29:31

by Marcel Holtmann

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

Hi Matthias,

> I just tried bluez-libs/utils 2.8 and the 2.6.7-mh2 patch, and got my
> "broken" keyboard running with it :)
>
> Great work, please keep it up!

not really, but the 2.6.7-mh2 is capable of switching back into boot
protocol mode if the HID descriptor is buggy. I will implement the quirk
for the EPoX bug in the hidd when I got more time.

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 http://www.blackhat.com
_______________________________________________
Bluez-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-users

2004-07-10 17:24:36

by Matthias Thomae

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

Hi Marcel,

I just tried bluez-libs/utils 2.8 and the 2.6.7-mh2 patch, and got my
"broken" keyboard running with it :)

Great work, please keep it up!

Cheers,
Matthias


Marcel Holtmann wrote:
>>>I will notify EPoX about it, so they can correct their bug. We must
>>>introduce a quirk for it, but I don't know how to trigger. The keyboard
>>>don't uses Bluetooth DeviceID and the presenter DeviceID is also wrong.
>>>At Cebit I told them that they should take care of DeviceID :(
>>
>>Ok. Please keep me (or the list) up-to-date on your findings, I'd like
>>to know if I have to return this device to the dealer...
>
>
> don't rely on that you will get a fixed device very soon. I reported
> that bug to EPoX, but I don't expect anything. I will fix it directly in
> the hidd and swap the bytes in the HID descriptor before handling the
> connection over to the HIDP module.