Created
August 18, 2021 23:01
-
-
Save tmk/a247a9ca9638aa8738a99f049cf69308 to your computer and use it in GitHub Desktop.
DREVO.Inc BladeMaster TE - 87K 1A2C:B51F
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
0x12, // bLength | |
0x01, // bDescriptorType (Device) | |
0x00, 0x02, // bcdUSB 2.00 | |
0x00, // bDeviceClass (Use class information in the Interface Descriptors) | |
0x00, // bDeviceSubClass | |
0x00, // bDeviceProtocol | |
0x08, // bMaxPacketSize0 8 | |
0x2C, 0x1A, // idVendor 0x1A2C | |
0x1F, 0xB5, // idProduct 0xB51F | |
0x00, 0x01, // bcdDevice 2.00 | |
0x01, // iManufacturer (String Index) | |
0x02, // iProduct (String Index) | |
0x00, // iSerialNumber (String Index) | |
0x01, // bNumConfigurations 1 | |
0x09, // bLength | |
0x02, // bDescriptorType (Configuration) | |
0x3B, 0x00, // wTotalLength 59 | |
0x02, // bNumInterfaces 2 | |
0x01, // bConfigurationValue | |
0x00, // iConfiguration (String Index) | |
0xA0, // bmAttributes Remote Wakeup | |
0x32, // bMaxPower 100mA | |
0x09, // bLength | |
0x04, // bDescriptorType (Interface) | |
0x00, // bInterfaceNumber 0 | |
0x00, // bAlternateSetting | |
0x01, // bNumEndpoints 1 | |
0x03, // bInterfaceClass | |
0x01, // bInterfaceSubClass | |
0x01, // bInterfaceProtocol | |
0x00, // iInterface (String Index) | |
0x09, // bLength | |
0x21, // bDescriptorType (HID) | |
0x10, 0x01, // bcdHID 1.10 | |
0x00, // bCountryCode | |
0x01, // bNumDescriptors | |
0x22, // bDescriptorType[0] (HID) | |
0xCF, 0x00, // wDescriptorLength[0] 207 | |
0x07, // bLength | |
0x05, // bDescriptorType (Endpoint) | |
0x82, // bEndpointAddress (IN/D2H) | |
0x03, // bmAttributes (Interrupt) | |
0x40, 0x00, // wMaxPacketSize 64 | |
0x01, // bInterval 1 (unit depends on device speed) | |
0x09, // bLength | |
0x04, // bDescriptorType (Interface) | |
0x01, // bInterfaceNumber 1 | |
0x00, // bAlternateSetting | |
0x01, // bNumEndpoints 1 | |
0x03, // bInterfaceClass | |
0x01, // bInterfaceSubClass | |
0x01, // bInterfaceProtocol | |
0x00, // iInterface (String Index) | |
0x09, // bLength | |
0x21, // bDescriptorType (HID) | |
0x10, 0x01, // bcdHID 1.10 | |
0x00, // bCountryCode | |
0x01, // bNumDescriptors | |
0x22, // bDescriptorType[0] (HID) | |
0x40, 0x00, // wDescriptorLength[0] 64 | |
0x07, // bLength | |
0x05, // bDescriptorType (Endpoint) | |
0x81, // bEndpointAddress (IN/D2H) | |
0x03, // bmAttributes (Interrupt) | |
0x40, 0x00, // wMaxPacketSize 64 | |
0x01, // bInterval 1 (unit depends on device speed) | |
// 77 bytes | |
0x05, 0x01, // Usage Page (Generic Desktop Ctrls) | |
0x09, 0x06, // Usage (Keyboard) | |
0xA1, 0x01, // Collection (Application) | |
0x85, 0x02, // Report ID (2) | |
0x05, 0x07, // Usage Page (Kbrd/Keypad) | |
0x19, 0xE0, // Usage Minimum (0xE0) | |
0x29, 0xE7, // Usage Maximum (0xE7) | |
0x15, 0x00, // Logical Minimum (0) | |
0x25, 0x01, // Logical Maximum (1) | |
0x75, 0x01, // Report Size (1) | |
0x95, 0x08, // Report Count (8) | |
0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position) | |
0x95, 0x01, // Report Count (1) | |
0x75, 0x08, // Report Size (8) | |
0x81, 0x03, // Input (Const,Var,Abs,No Wrap,Linear,Preferred State,No Null Position) | |
0x95, 0x05, // Report Count (5) | |
0x75, 0x01, // Report Size (1) | |
0x05, 0x08, // Usage Page (LEDs) | |
0x19, 0x01, // Usage Minimum (Num Lock) | |
0x29, 0x05, // Usage Maximum (Kana) | |
0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) | |
0x95, 0x01, // Report Count (1) | |
0x75, 0x03, // Report Size (3) | |
0x91, 0x03, // Output (Const,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) | |
0x95, 0x3D, // Report Count (61) | |
0x75, 0x08, // Report Size (8) | |
0x15, 0x00, // Logical Minimum (0) | |
0x26, 0x98, 0x00, // Logical Maximum (152) | |
0x05, 0x07, // Usage Page (Kbrd/Keypad) | |
0x19, 0x00, // Usage Minimum (0x00) | |
0x29, 0x98, // Usage Maximum (0x98) | |
0x81, 0x00, // Input (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position) | |
0xC0, // End Collection | |
0x05, 0x0C, // Usage Page (Consumer) | |
0x09, 0x01, // Usage (Consumer Control) | |
0xA1, 0x01, // Collection (Application) | |
0x85, 0x03, // Report ID (3) | |
0x09, 0xE9, // Usage (Volume Increment) | |
0x09, 0xEA, // Usage (Volume Decrement) | |
0x09, 0xE2, // Usage (Mute) | |
0x0A, 0x92, 0x01, // Usage (AL Calculator) | |
0x0A, 0x94, 0x01, // Usage (AL Local Machine Browser) | |
0x0A, 0x23, 0x02, // Usage (AC Home) | |
0x0A, 0x8A, 0x01, // Usage (AL Email Reader) | |
0x0A, 0x21, 0x02, // Usage (AC Search) | |
0x0A, 0x83, 0x01, // Usage (AL Consumer Control Configuration) | |
0x09, 0xB6, // Usage (Scan Previous Track) | |
0x09, 0xCD, // Usage (Play/Pause) | |
0x09, 0xB5, // Usage (Scan Next Track) | |
0x09, 0xB7, // Usage (Stop) | |
0x0A, 0x2A, 0x02, // Usage (AC Bookmarks) | |
0x0A, 0x24, 0x02, // Usage (AC Back) | |
0x0A, 0x25, 0x02, // Usage (AC Forward) | |
0x15, 0x00, // Logical Minimum (0) | |
0x25, 0x01, // Logical Maximum (1) | |
0x95, 0x10, // Report Count (16) | |
0x75, 0x01, // Report Size (1) | |
0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position) | |
0xC0, // End Collection | |
0x05, 0x01, // Usage Page (Generic Desktop Ctrls) | |
0x09, 0x02, // Usage (Mouse) | |
0xA1, 0x01, // Collection (Application) | |
0x85, 0x04, // Report ID (4) | |
0x09, 0x01, // Usage (Pointer) | |
0xA1, 0x00, // Collection (Physical) | |
0x05, 0x09, // Usage Page (Button) | |
0x19, 0x01, // Usage Minimum (0x01) | |
0x29, 0x05, // Usage Maximum (0x05) | |
0x15, 0x00, // Logical Minimum (0) | |
0x25, 0x01, // Logical Maximum (1) | |
0x75, 0x01, // Report Size (1) | |
0x95, 0x05, // Report Count (5) | |
0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position) | |
0x75, 0x03, // Report Size (3) | |
0x95, 0x01, // Report Count (1) | |
0x81, 0x01, // Input (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position) | |
0x05, 0x01, // Usage Page (Generic Desktop Ctrls) | |
0x09, 0x30, // Usage (X) | |
0x09, 0x31, // Usage (Y) | |
0x09, 0x38, // Usage (Wheel) | |
0x15, 0x81, // Logical Minimum (-127) | |
0x25, 0x7F, // Logical Maximum (127) | |
0x75, 0x08, // Report Size (8) | |
0x95, 0x03, // Report Count (3) | |
0x81, 0x06, // Input (Data,Var,Rel,No Wrap,Linear,Preferred State,No Null Position) | |
0xC0, // End Collection | |
0xC0, // End Collection | |
0x06, 0x00, 0xFF, // Usage Page (Vendor Defined 0xFF00) | |
0x09, 0x01, // Usage (0x01) | |
0xA1, 0x01, // Collection (Application) | |
0x85, 0x05, // Report ID (5) | |
0x75, 0x08, // Report Size (8) | |
0x95, 0x07, // Report Count (7) | |
0x15, 0x00, // Logical Minimum (0) | |
0x26, 0xFF, 0x00, // Logical Maximum (255) | |
0x09, 0x05, // Usage (0x05) | |
0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) | |
0x09, 0x06, // Usage (0x06) | |
0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) | |
0xC0, // End Collection | |
// 207 bytes | |
0x05, 0x01, // Usage Page (Generic Desktop Ctrls) | |
0x09, 0x06, // Usage (Keyboard) | |
0xA1, 0x01, // Collection (Application) | |
0x05, 0x07, // Usage Page (Kbrd/Keypad) | |
0x19, 0xE0, // Usage Minimum (0xE0) | |
0x29, 0xE7, // Usage Maximum (0xE7) | |
0x15, 0x00, // Logical Minimum (0) | |
0x25, 0x01, // Logical Maximum (1) | |
0x75, 0x01, // Report Size (1) | |
0x95, 0x08, // Report Count (8) | |
0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position) | |
0x95, 0x01, // Report Count (1) | |
0x75, 0x08, // Report Size (8) | |
0x81, 0x03, // Input (Const,Var,Abs,No Wrap,Linear,Preferred State,No Null Position) | |
0x95, 0x05, // Report Count (5) | |
0x75, 0x01, // Report Size (1) | |
0x05, 0x08, // Usage Page (LEDs) | |
0x19, 0x01, // Usage Minimum (Num Lock) | |
0x29, 0x05, // Usage Maximum (Kana) | |
0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) | |
0x95, 0x01, // Report Count (1) | |
0x75, 0x03, // Report Size (3) | |
0x91, 0x03, // Output (Const,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) | |
0x95, 0x3E, // Report Count (62) | |
0x75, 0x08, // Report Size (8) | |
0x15, 0x00, // Logical Minimum (0) | |
0x26, 0x98, 0x00, // Logical Maximum (152) | |
0x05, 0x07, // Usage Page (Kbrd/Keypad) | |
0x19, 0x00, // Usage Minimum (0x00) | |
0x29, 0x98, // Usage Maximum (0x98) | |
0x81, 0x00, // Input (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position) | |
0xC0, // End Collection | |
// 64 bytes | |
////////////////////////////////////////////////////////////////////// | |
// USB_desc_dump | |
// Address: 01 | |
// Lowspeed: 00 | |
// Devicer dump: | |
12 01 00 02 00 00 00 08 2C 1A 1F B5 00 01 01 02 | |
00 01 | |
// Device: | |
bLength: 12 | |
bDescriptorType: 01 | |
bcdUSB: 0200 | |
bDeviceClass: 00 | |
bDeviceSubClass: 00 | |
bDeviceProtocol: 00 | |
bMaxPacketSize0: 08 | |
idVendor: 1A2C | |
idProduct: B51F | |
bcdDevice: 0100 | |
iManufacturer: 01 | |
iProduct: 02 | |
iSerialNumber: 00 | |
bNumConfigurations: 01 | |
// String Zero: len: 04 | |
// 04 03 09 04 | |
// LangId: 0409 | |
// iManufacturer: String1(0409): len: 14 | |
// 14 03 44 00 52 00 45 00 56 00 4F 00 2E 00 49 00 | |
// 6E 00 63 00 | |
// DREVO.Inc | |
// iProduct: String2(0409): len: 26 | |
// 26 03 42 00 6C 00 61 00 64 00 65 00 4D 00 61 00 | |
// 73 00 74 00 65 00 72 00 20 00 54 00 45 00 20 00 | |
// 38 00 37 00 4B 00 | |
// BladeMaster TE 87K | |
// Config0 dump: len: 003B | |
09 02 3B 00 02 01 00 A0 32 09 04 00 00 01 03 01 | |
01 00 09 21 10 01 00 01 22 CF 00 07 05 82 03 40 | |
00 01 09 04 01 00 01 03 01 01 00 09 21 10 01 00 | |
01 22 40 00 07 05 81 03 40 00 01 | |
// Config: | |
bLength: 09 | |
bDescriptorType: 02 | |
wTotalLength: 003B | |
bNumInterfaces: 02 | |
bConfigurationValue: 01 | |
iConfiguration: 00 | |
bmAttributes: A0 | |
bMaxPower: 32 | |
// Interface0.0: | |
bLength: 09 | |
bDescriptorType: 04 | |
bInterfaceNumber: 00 | |
bAlternateSetting: 00 | |
bNumEndpoints: 01 | |
bInterfaceClass: 03 | |
bInterfaceSubClass: 01 | |
bInterfaceProtocol: 01 | |
iInterface: 00 | |
// HID: | |
bLength: 09 | |
bDescriptorType: 21 | |
bcdHID: 0110 | |
bCountryCode: 00 | |
bNumDescriptors: 01 | |
bDescrType: 22 | |
wDescriptorLength: 00CF | |
// Report0 dump: len: 00CF | |
05 01 09 06 A1 01 85 02 05 07 19 E0 29 E7 15 00 | |
25 01 75 01 95 08 81 02 95 01 75 08 81 03 95 05 | |
75 01 05 08 19 01 29 05 91 02 95 01 75 03 91 03 | |
95 3D 75 08 15 00 26 98 00 05 07 19 00 29 98 81 | |
00 C0 05 0C 09 01 A1 01 85 03 09 E9 09 EA 09 E2 | |
0A 92 01 0A 94 01 0A 23 02 0A 8A 01 0A 21 02 0A | |
83 01 09 B6 09 CD 09 B5 09 B7 0A 2A 02 0A 24 02 | |
0A 25 02 15 00 25 01 95 10 75 01 81 02 C0 05 01 | |
09 02 A1 01 85 04 09 01 A1 00 05 09 19 01 29 05 | |
15 00 25 01 75 01 95 05 81 02 75 03 95 01 81 01 | |
05 01 09 30 09 31 09 38 15 81 25 7F 75 08 95 03 | |
81 06 C0 C0 06 00 FF 09 01 A1 01 85 05 75 08 95 | |
07 15 00 26 FF 00 09 05 B1 02 09 06 91 02 C0 | |
// Report: | |
Usage Page Gen Desktop Ctrls(01) | |
Usage Keypad | |
Collection Application | |
Report Id(02) | |
Usage Page Kbrd/Keypad(07) | |
Usage Min(E0) | |
Usage Max(E7) | |
Logical Min(00) | |
Logical Max(01) | |
Report Size(01) | |
Report Count(08) | |
Input(00000010) | |
Report Count(01) | |
Report Size(08) | |
Input(00000011) | |
Report Count(05) | |
Report Size(01) | |
Usage Page LEDs(08) | |
Usage Min(01) | |
Usage Max(05) | |
Output(00000010) | |
Report Count(01) | |
Report Size(03) | |
Output(00000011) | |
Report Count(3D) | |
Report Size(08) | |
Logical Min(00) | |
Logical Max(9800) | |
Usage Page Kbrd/Keypad(07) | |
Usage Min(00) | |
Usage Max(98) | |
Input(00000000) | |
End Collection | |
Usage Page Consumer(0C) | |
Usage Consumer Ctrl | |
Collection Application | |
Report Id(03) | |
Usage Vol Inc | |
Usage Vol Dec | |
Usage Mute | |
Usage AL Calc | |
Usage AL Loc Mach Brow | |
Usage AC Scroll Up | |
Usage AL E-mail Rdr | |
Usage AC Norm View | |
Usage AL Cons Ctrl Cfg | |
Usage Prev Track | |
Usage Play/Pause | |
Usage Next Track | |
Usage Stop | |
Usage AC Tile Horiz | |
Usage AC Scroll Down | |
Usage AC Scroll | |
Logical Min(00) | |
Logical Max(01) | |
Report Count(10) | |
Report Size(01) | |
Input(00000010) | |
End Collection | |
Usage Page Gen Desktop Ctrls(01) | |
Usage Mouse | |
Collection Application | |
Report Id(04) | |
Usage Pointer | |
Collection Physical | |
Usage Page Button(09) | |
Usage Min(01) | |
Usage Max(05) | |
Logical Min(00) | |
Logical Max(01) | |
Report Size(01) | |
Report Count(05) | |
Input(00000010) | |
Report Size(03) | |
Report Count(01) | |
Input(00000001) | |
Usage Page Gen Desktop Ctrls(01) | |
Usage X | |
Usage Y | |
Usage Wheel | |
Logical Min(81) | |
Logical Max(7F) | |
Report Size(08) | |
Report Count(03) | |
Input(00000110) | |
End Collection | |
End Collection | |
Usage Page Undef(00) | |
Usage | |
Collection Application | |
Report Id(05) | |
Report Size(08) | |
Report Count(07) | |
Logical Min(00) | |
Logical Max(FF00) | |
Usage | |
Feature(00000010) | |
Usage | |
Output(00000010) | |
End Collection | |
// Endpoint: | |
bLength: 07 | |
bDescriptorType: 05 | |
bEndpointAddress: 82 | |
bmAttributes: 03 | |
wMaxPacketSize: 0040 | |
bInterval: 01 | |
// Interface1.0: | |
bLength: 09 | |
bDescriptorType: 04 | |
bInterfaceNumber: 01 | |
bAlternateSetting: 00 | |
bNumEndpoints: 01 | |
bInterfaceClass: 03 | |
bInterfaceSubClass: 01 | |
bInterfaceProtocol: 01 | |
iInterface: 00 | |
// HID: | |
bLength: 09 | |
bDescriptorType: 21 | |
bcdHID: 0110 | |
bCountryCode: 00 | |
bNumDescriptors: 01 | |
bDescrType: 22 | |
wDescriptorLength: 0040 | |
// Report0 dump: len: 0040 | |
05 01 09 06 A1 01 05 07 19 E0 29 E7 15 00 25 01 | |
75 01 95 08 81 02 95 01 75 08 81 03 95 05 75 01 | |
05 08 19 01 29 05 91 02 95 01 75 03 91 03 95 3E | |
75 08 15 00 26 98 00 05 07 19 00 29 98 81 00 C0 | |
// Report: | |
Usage Page Gen Desktop Ctrls(01) | |
Usage Keypad | |
Collection Application | |
Usage Page Kbrd/Keypad(07) | |
Usage Min(E0) | |
Usage Max(E7) | |
Logical Min(00) | |
Logical Max(01) | |
Report Size(01) | |
Report Count(08) | |
Input(00000010) | |
Report Count(01) | |
Report Size(08) | |
Input(00000011) | |
Report Count(05) | |
Report Size(01) | |
Usage Page LEDs(08) | |
Usage Min(01) | |
Usage Max(05) | |
Output(00000010) | |
Report Count(01) | |
Report Size(03) | |
Output(00000011) | |
Report Count(3E) | |
Report Size(08) | |
Logical Min(00) | |
Logical Max(9800) | |
Usage Page Kbrd/Keypad(07) | |
Usage Min(00) | |
Usage Max(98) | |
Input(00000000) | |
End Collection | |
// Endpoint: | |
bLength: 07 | |
bDescriptorType: 05 | |
bEndpointAddress: 81 | |
bmAttributes: 03 | |
wMaxPacketSize: 0040 | |
bInterval: 01 | |
// Parse data here: http://eleccelerator.com/usbdescreqparser/ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment