GET 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 proceeding
01 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