IntergatedCircuits / HidSharp

HIDSharp is a multiplatform C# library for USB HID devices by James F. Bellinger
https://www.zer7.com/software/hidsharp
Other
121 stars 34 forks source link

Report descriptor reconstruction fails #15

Open benedekkupper opened 2 years ago

benedekkupper commented 2 years ago

Let's collect some HID devices which produce a failure from the library when trying to reconstruct the HID report descriptor on Windows.

benedekkupper commented 2 years ago

Jabra Speak 510 HID report descriptor: 0000 05 0c 09 01 a1 01 85 01 05 0c 15 00 25 01 09 ea 0010 09 e9 09 cd 09 b7 09 b5 09 b6 09 b3 09 b4 75 01 0020 95 08 81 02 c0 06 00 ff 09 01 a1 01 85 02 09 01 0030 15 00 26 ff 00 75 08 95 20 92 02 01 09 01 15 00 0040 26 ff 00 75 08 95 20 82 02 01 85 05 06 20 ff 15 0050 00 25 01 09 ea 09 e9 09 e2 75 01 95 03 81 07 75 0060 01 95 0d 81 01 15 00 25 01 0a fb ff 0a fa ff 75 0070 01 95 02 91 06 75 01 95 06 91 01 0a ff ff 75 01 0080 95 01 b1 22 75 01 95 07 b1 01 85 04 06 30 ff 15 0090 00 25 01 09 20 09 97 09 2b 09 2a 75 01 95 04 81 00a0 23 09 2f 09 21 09 24 0a fd ff 09 50 75 01 95 05 00b0 81 07 0a fc ff 75 01 95 01 81 23 09 06 a1 02 19 00c0 b0 29 bb 15 00 25 0c 75 04 95 01 81 40 c0 75 01 00d0 95 02 81 01 0a ff ff 15 00 25 01 75 01 95 01 b1 00e0 22 75 01 95 07 b1 01 06 40 ff 15 00 25 01 09 17 00f0 09 1e 09 09 09 18 09 20 09 21 09 2a 75 01 95 07 0100 91 22 06 30 ff 15 00 25 01 09 9e 75 01 95 01 91 0110 22 75 01 95 08 91 01 c0 05 0b 09 05 a1 01 85 03 0120 05 0b 15 00 25 01 09 20 09 97 09 2b 09 2a 75 01 0130 95 04 81 23 09 2f 09 21 09 24 09 50 75 01 95 04 0140 81 07 09 06 a1 02 19 b0 29 bb 15 00 25 0c 75 04 0150 95 01 81 40 c0 09 07 05 09 09 01 15 00 25 01 75 0160 01 95 01 81 02 95 03 81 01 05 08 15 00 25 01 09 0170 17 09 1e 09 09 09 18 09 20 09 21 09 2a 75 01 95 0180 07 91 22 05 0b 15 00 25 01 09 9e 75 01 95 01 91 0190 22 75 01 95 08 91 01 c0

benedekkupper commented 1 year ago

More detailed discussion over at hidapi, also see their PR

Joop-Schilder commented 1 year ago

Raw Name: Granite devices Simucube 2 Sport Raw Info: bustype: 3 (USB) vendor: 0x16d0 product: 0x0d61 Report Descriptor Size: 1464 Report Descriptor: 05 01 09 04 A1 01 85 04 09 01 A1 00 09 30 16 00 00 27 FF FF 00 00 35 00 47 FF FF 00 00 75 10 95 01 81 02 09 31 16 00 00 27 FF FF 00 00 35 00 47 FF FF 00 00 75 10 95 01 81 02 09 32 16 00 00 27 FF FF 00 00 35 00 47 FF FF 00 00 75 10 95 01 81 02 09 33 16 00 00 27 FF FF 00 00 35 00 47 FF FF 00 00 75 10 95 01 81 02 09 34 16 00 00 27 FF FF 00 00 35 00 47 FF FF 00 00 75 10 95 01 81 02 09 35 16 00 00 27 FF FF 00 00 35 00 47 FF FF 00 00 75 10 95 01 81 02 09 36 16 00 00 27 FF FF 00 00 35 00 47 FF FF 00 00 75 10 95 01 81 02 09 37 16 00 00 27 FF FF 00 00 35 00 47 FF FF 00 00 75 10 95 01 81 02 15 00 25 01 75 01 95 80 05 09 19 01 29 80 81 02 C0 05 0F 09 92 A1 02 85 02 09 9F 09 A0 09 A4 09 A5 09 A6 15 00 25 01 35 00 45 01 75 01 95 05 81 02 95 03 81 03 09 94 15 00 25 01 35 00 45 01 75 01 95 01 81 02 09 22 15 01 25 28 35 01 45 28 75 07 95 01 81 02 C0 09 21 A1 02 85 01 09 22 15 01 25 28 35 01 45 28 75 08 95 01 91 02 09 25 A1 02 09 26 09 27 09 30 09 31 09 32 09 33 09 34 09 40 09 41 09 42 09 43 09 28 25 0C 15 01 35 01 45 0C 75 08 95 01 91 00 C0 09 50 09 54 09 51 15 00 26 FF 7F 35 00 46 FF 7F 66 03 10 55 FD 75 10 95 03 91 02 55 00 66 00 00 09 52 15 00 26 FF 00 35 00 46 10 27 75 08 95 01 91 02 09 53 15 01 25 08 35 01 45 08 75 08 95 01 91 02 09 55 A1 02 05 01 09 30 15 00 25 01 35 00 45 01 75 01 95 01 91 02 C0 05 0F 09 56 95 01 91 02 95 06 91 03 09 57 A1 02 0B 01 00 0A 00 0B 02 00 0A 00 66 14 00 55 FE 15 00 26 B4 00 35 00 47 A0 8C 00 00 75 08 95 02 91 02 55 00 66 00 00 C0 05 0F 09 A7 66 03 10 55 FD 15 00 26 FF 7F 35 00 46 FF 7F 75 10 95 01 91 02 66 00 00 55 00 C0 05 0F 09 5A A1 02 85 02 09 22 15 01 25 28 35 01 45 28 75 08 95 01 91 02 09 5B 09 5D 15 00 26 FF 00 35 00 46 10 27 95 02 91 02 09 5C 09 5E 66 03 10 55 FD 26 FF 7F 46 FF 7F 75 10 91 02 45 00 66 00 00 55 00 C0 09 5F A1 02 85 03 09 22 15 01 25 28 35 01 45 28 75 08 95 01 91 02 09 23 15 00 25 01 35 00 45 01 75 08 95 01 91 02 16 00 80 26 FF 7F 36 00 80 46 FF 7F 09 60 75 10 95 01 91 02 36 00 80 46 FF 7F 09 61 09 62 95 02 91 02 16 00 00 26 FF 7F 36 00 00 46 FF 7F 09 63 09 64 75 10 95 02 91 02 09 65 46 FF 7F 95 01 91 02 C0 09 6E A1 02 85 04 09 22 15 01 25 28 35 01 45 28 75 08 95 01 91 02 09 70 16 00 00 26 10 27 36 00 00 46 10 27 75 10 95 01 91 02 09 6F 16 F0 D8 26 10 27 36 F0 D8 46 10 27 95 01 75 10 91 02 09 71 66 14 00 55 FE 15 00 27 9F 8C 00 00 35 00 47 9F 8C 00 00 75 10 95 01 91 02 09 72 15 00 27 FF 7F 00 00 35 00 47 FF 7F 00 00 66 03 10 55 FD 75 20 95 01 91 02 66 00 00 55 00 C0 09 73 A1 02 85 05 09 22 15 01 25 28 35 01 45 28 75 08 95 01 91 02 09 70 16 F0 D8 26 10 27 36 F0 D8 46 10 27 75 10 95 01 91 02 C0 09 74 A1 02 85 06 09 22 15 01 25 28 35 01 45 28 75 08 95 01 91 02 09 75 09 76 15 80 25 7F 36 F0 D8 46 10 27 75 08 95 02 91 02 C0 09 68 A1 02 85 07 09 22 15 01 25 28 35 01 45 28 75 08 95 01 91 02 09 6C 15 00 26 10 27 35 00 46 10 27 75 10 95 01 91 02 09 69 15 81 25 7F 35 00 46 FF 00 75 08 95 0C 92 02 01 C0 09 66 A1 02 85 08 05 01 09 30 09 31 15 81 25 7F 35 00 46 FF 00 75 08 95 02 91 02 C0 05 0F 09 77 A1 02 85 0A 09 22 15 01 25 28 35 01 45 28 75 08 95 01 91 02 09 78 A1 02 09 79 09 7A 09 7B 15 01 25 03 75 08 95 01 91 00 C0 09 7C 15 00 26 FF 00 35 00 46 FF 00 91 02 C0 09 90 A1 02 85 0B 09 22 25 28 15 01 35 01 45 28 75 08 95 01 91 02 C0 09 96 A1 02 85 0C 09 97 09 98 09 99 09 9A 09 9B 09 9C 15 01 25 06 75 08 95 01 91 00 C0 09 7D A1 02 85 0D 09 7E 15 00 26 FF 00 35 00 46 10 27 75 08 95 01 91 02 C0 09 6B A1 02 85 0E 09 22 15 01 25 28 35 01 45 28 75 08 95 01 91 02 09 6D 15 00 26 FF 00 35 00 46 FF 00 75 08 95 01 91 02 09 51 66 03 10 55 FD 15 00 26 FF 7F 35 00 46 FF 7F 75 10 95 01 91 02 55 00 66 00 00 C0 09 AB A1 02 85 05 09 25 A1 02 09 26 09 27 09 30 09 31 09 32 09 33 09 34 09 40 09 41 09 42 09 43 09 28 25 0C 15 01 35 01 45 0C 75 08 95 01 B1 00 C0 05 01 09 3B 15 00 26 FF 01 35 00 46 FF 01 75 0A 95 01 B1 02 75 06 B1 01 C0 05 0F 09 89 A1 02 85 06 09 22 25 28 15 01 35 01 45 28 75 08 95 01 B1 02 09 8B A1 02 09 8C 09 8D 09 8E 25 03 15 01 35 01 45 03 75 08 95 01 B1 00 C0 09 AC 15 00 27 FF FF 00 00 35 00 47 FF FF 00 00 75 10 95 01 B1 00 C0 09 7F A1 02 85 07 09 80 75 10 95 01 15 00 35 00 27 FF FF 00 00 47 FF FF 00 00 B1 02 09 83 26 FF 00 46 FF 00 75 08 95 01 B1 02 09 A9 09 AA 75 01 95 02 15 00 25 01 35 00 45 01 B1 02 75 06 95 01 B1 03 C0 06 00 FF 09 01 A1 01 09 01 85 6B 75 08 95 3C 15 00 26 FF 00 91 00 09 01 85 6C 81 00 C0 06 00 FF 09 01 A1 01 09 01 85 4D 75 08 95 3C 15 00 27 FF FF 00 00 91 00 C0 C0