Skip to content

Instantly share code, notes, and snippets.

@tmk
Created July 30, 2021 01:17
Show Gist options
  • Save tmk/c2cd88429e08e6b9f8e381c04be80d3b to your computer and use it in GitHub Desktop.
Save tmk/c2cd88429e08e6b9f8e381c04be80d3b to your computer and use it in GitHub Desktop.
Arduino Uno Rev3 - 2a03:0043
Bus 003 Device 094: ID 2a03:0043 dog hunter AG Arduino Uno Rev3
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 2 Communications
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x2a03 dog hunter AG
idProduct 0x0043 Arduino Uno Rev3
bcdDevice 0.01
iManufacturer 1
iProduct 2
iSerial 220
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x003e
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 2 Communications
bInterfaceSubClass 2 Abstract (modem)
bInterfaceProtocol 1 AT-commands (v.25ter)
iInterface 0
CDC Header:
bcdCDC 10.01
CDC ACM:
bmCapabilities 0x06
sends break
line coding and serial state
CDC Union:
bMasterInterface 0
bSlaveInterface 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 255
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 10 CDC Data
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x04 EP 4 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 1
//////////////////////////////////////////////////////////////////////
// USB_desc_dump
// Address: 01
// Lowspeed: 00
// Devicer dump:
12 01 10 01 02 00 00 08 03 2A 43 00 01 00 01 02
DC 01
// Device:
bLength: 12
bDescriptorType: 01
bcdUSB: 0110
bDeviceClass: 02
bDeviceSubClass: 00
bDeviceProtocol: 00
bMaxPacketSize0: 08
idVendor: 2A03
idProduct: 0043
bcdDevice: 0001
iManufacturer: 01
iProduct: 02
iSerialNumber: DC
bNumConfigurations: 01
// String Zero: len: 04
// 04 03 09 04
// LangId: 0409
// iManufacturer: String1(0409): len: 32
// 32 03 41 00 72 00 64 00 75 00 69 00 6E 00 6F 00
// 20 00 53 00 72 00 6C 00 20 00 20 00 20 00 20 00
// 20 00 20 00 20 00 20 00 20 00 20 00 20 00 20 00
// 00 00
// Arduino Srl .
// iProduct: String2(0409): len: 18
// 18 03 41 00 72 00 64 00 75 00 69 00 6E 00 6F 00
// 20 00 55 00 6E 00 6F 00
// Arduino Uno
// iSerialNumber: String220(0409): len: 2A
// 2A 03 35 00 35 00 36 00 33 00 32 00 33 00 31 00
// 33 00 30 00 33 00 39 00 33 00 35 00 31 00 32 00
// 31 00 42 00 31 00 45 00 30 00
// 5563231303935121B1E0
// Config0 dump: len: 003E
09 02 3E 00 02 01 00 C0 32 09 04 00 00 01 02 02
01 00 05 24 00 01 10 04 24 02 06 05 24 06 00 01
07 05 82 03 08 00 FF 09 04 01 00 02 0A 00 00 00
07 05 04 02 40 00 01 07 05 83 02 40 00 01
// Config:
bLength: 09
bDescriptorType: 02
wTotalLength: 003E
bNumInterfaces: 02
bConfigurationValue: 01
iConfiguration: 00
bmAttributes: C0
bMaxPower: 32
// Interface0.0:
bLength: 09
bDescriptorType: 04
bInterfaceNumber: 00
bAlternateSetting: 00
bNumEndpoints: 01
bInterfaceClass: 02
bInterfaceSubClass: 02
bInterfaceProtocol: 01
iInterface: 00
// Unknown Desc: type: 24 len: 05
05 24 00 01 10
// Unknown Desc: type: 24 len: 04
04 24 02 06
// Unknown Desc: type: 24 len: 05
05 24 06 00 01
// Endpoint:
bLength: 07
bDescriptorType: 05
bEndpointAddress: 82
bmAttributes: 03
wMaxPacketSize: 0008
bInterval: FF
// Interface1.0:
bLength: 09
bDescriptorType: 04
bInterfaceNumber: 01
bAlternateSetting: 00
bNumEndpoints: 02
bInterfaceClass: 0A
bInterfaceSubClass: 00
bInterfaceProtocol: 00
iInterface: 00
// Endpoint:
bLength: 07
bDescriptorType: 05
bEndpointAddress: 04
bmAttributes: 02
wMaxPacketSize: 0040
bInterval: 01
// Endpoint:
bLength: 07
bDescriptorType: 05
bEndpointAddress: 83
bmAttributes: 02
wMaxPacketSize: 0040
bInterval: 01
----
https://eleccelerator.com/usbdescreqparser/
0x12, // bLength
0x01, // bDescriptorType (Device)
0x10, 0x01, // bcdUSB 1.10
0x02, // bDeviceClass (Communications and CDC Control)
0x00, // bDeviceSubClass
0x00, // bDeviceProtocol
0x08, // bMaxPacketSize0 8
0x03, 0x2A, // idVendor 0x2A03
0x43, 0x00, // idProduct 0x43
0x01, 0x00, // bcdDevice 0.01
0x01, // iManufacturer (String Index)
0x02, // iProduct (String Index)
0xDC, // iSerialNumber (String Index)
0x01, // bNumConfigurations 1
0x09, // bLength
0x02, // bDescriptorType (Configuration)
0x3E, 0x00, // wTotalLength 62
0x02, // bNumInterfaces 2
0x01, // bConfigurationValue
0x00, // iConfiguration (String Index)
0xC0, // bmAttributes Self Powered
0x32, // bMaxPower 100mA
0x09, // bLength
0x04, // bDescriptorType (Interface)
0x00, // bInterfaceNumber 0
0x00, // bAlternateSetting
0x01, // bNumEndpoints 1
0x02, // bInterfaceClass
0x02, // bInterfaceSubClass
0x01, // bInterfaceProtocol
0x00, // iInterface (String Index)
0x05, // bLength
0x24, // bDescriptorType (Dependant on Type)
0x00, 0x01, 0x10,
0x04, // bLength
0x24, // bDescriptorType (Dependant on Type)
0x02, 0x06,
0x05, // bLength
0x24, // bDescriptorType (Dependant on Type)
0x06, 0x00, 0x01,
0x07, // bLength
0x05, // bDescriptorType (Endpoint)
0x82, // bEndpointAddress (IN/D2H)
0x03, // bmAttributes (Interrupt)
0x08, 0x00, // wMaxPacketSize 8
0xFF, // bInterval 255 (unit depends on device speed)
0x09, // bLength
0x04, // bDescriptorType (Interface)
0x01, // bInterfaceNumber 1
0x00, // bAlternateSetting
0x02, // bNumEndpoints 2
0x0A, // bInterfaceClass
0x00, // bInterfaceSubClass
0x00, // bInterfaceProtocol
0x00, // iInterface (String Index)
0x07, // bLength
0x05, // bDescriptorType (Endpoint)
0x04, // bEndpointAddress (OUT/H2D)
0x02, // bmAttributes (Bulk)
0x40, 0x00, // wMaxPacketSize 64
0x01, // bInterval 1 (unit depends on device speed)
0x07, // bLength
0x05, // bDescriptorType (Endpoint)
0x83, // bEndpointAddress (IN/D2H)
0x02, // bmAttributes (Bulk)
0x40, 0x00, // wMaxPacketSize 64
0x01, // bInterval 1 (unit depends on device speed)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment