Host Protocols Direct Protocol PROTOCOL class GET DESCRIPTOR
September 3, 2025 at 8:28 AMGET DESCRIPTOR instruction
Use the GET DESCRIPTOR instruction to gather the device’s main meta-data.
INS value
INS = 06
Command
Field | Value | Explanations |
---|---|---|
CLA | 00 |
Class = PROTOCOL |
INS | 06 |
Instruction = GET DESCRIPTOR |
Data | (empty) |
Response
Field | Value | Explanations |
---|---|---|
CLA | 00 |
Class = PROTOCOL |
STA | 00 |
Success |
Data | (var) | See below |
Format of Response Data
The device descriptor uses a Tag-Length-Value (TLV) data representation. All tags (T) are optionnal, present only if the corresponding value is significant and not empty. Since no value (V) is longer than 127B, it could be assumed that all tags (T) and lengths (L) are on 1 byte. Also the order of tags is fixed, so a lighweight parser can be used.
T | L | V | Format |
---|---|---|---|
01 |
var. | The device’s Vendor Name (same as string 01 in the standard USB descriptor) |
Text |
02 |
var. | The device’s Product Name (same as string 02 in the standard USB descriptor) |
Text |
03 |
var. | The device’s Serial Number (same as string 03 in the standard USB descriptor) |
Text |
04 |
4 | The USB Vendor ID and Product ID | Raw |
05 |
4 | The Version: - Major version (1 byte) - Minor version (1 byte) - Build number (2 bytes) |
Raw |
06 |
var. | The Profile Name (same as string 04 in the standard USB descriptor) |
Text |
07 |
var. | The firmware name | Text |
08 |
var. | The firmware revision | Text |
0A |
6 | The Ethernet (MAC) address | Raw |
0D |
1 | 00 if the device is in the protected state, i.e. if an authentification is required before proceeding01 if the device is in the unprotected state, i.e. no authentication is expected or the authentification has already been performed by the host |
Boolean |
0E |
16 | The configuration GUID (see configuration register 0200) | Raw |
0F |
var. | The hardware reference (see constant register 0108) | Text |