HP/HPE USB Device Correlation Record (Type 239)

Source: dmidecode, dmioem.c. No dumps of the data corpus hold the structure.

Describes a USB device the firmware has found at boot on a USB port (type 238), and the UEFI boot entries naming it. Devices plugged in later are not described. The structure is decoded from Gen9 onwards, UEFI firmware only.

Table 1. HP/HPE USB Device Correlation Record structure
Offset Version Name Length Value Description

0x00

2.0+

Type

BYTE

239

HP/HPE USB Device Correlation Record indicator

0x01

2.0+

Length

BYTE

0x17

Length of the structure

0x02

2.0+

Handle

WORD

Varies

0x04

2.0+

USB Port Handle

WORD

HANDLE

Handle of the USB port connector correlation record (type 238)

0x06

2.0+

Vendor ID

WORD

NUMBER

USB vendor ID

0x08

2.0+

Flags

WORD

BITFIELD

Bit 0: an embedded SD card is present

0x0A

2.0+

Class

BYTE

NUMBER

USB class code

0x0B

2.0+

Subclass

BYTE

NUMBER

USB subclass code, see Mass storage subclasses for the mass storage class (0x08)

0x0C

2.0+

Protocol

BYTE

NUMBER

USB protocol code, see Mass storage protocols for the mass storage class (0x08) and Hub protocols for the hub class (0x09)

0x0D

2.0+

Product ID

WORD

NUMBER

USB product ID

0x0F

2.0+

Capacity

DWORD

NUMBER

Capacity in megabytes, zero if not applicable

0x13

2.0+

UEFI Device Path

BYTE

STRING

0x14

2.0+

UEFI Device Structured Name

BYTE

STRING

0x15

2.0+

Device Name

BYTE

STRING

0x16

2.0+

Location

BYTE

STRING

The codes are the ones the USB Implementers Forum defines for the classes, named the way dmidecode names them. The codes of the other classes are shown as they are.

Table 2. Mass storage subclass
Value Meaning

0x00

SCSI command set not reported

0x01

Reduced block commands (RBC)

0x02

ATAPI

0x03

QIC-157, obsolete

0x04

USB floppy interface (UFI)

0x05

SFF-8070i, obsolete

0x06

SCSI transparent command set

0x07

LSD FS

0x08

IEEE 1667

0xFF

Vendor-specific

Subclasses 0x09 to 0xFE are reserved.

Table 3. Mass storage protocol
Value Meaning

0x00

Control/bulk/interrupt transport with command completion interrupt

0x01

Control/bulk/interrupt transport without command completion interrupt

0x02

Obsolete

0x50

Bulk-only transport

0x62

USB attached SCSI (UAS)

0xFF

Vendor-specific

Table 4. Hub protocol
Value Meaning

0x00

Full speed

0x01

Hi-speed with a single transaction translator

0x02

Hi-speed with multiple transaction translators