chid command

Synopsis

chid compat
chid list
chid show
chid detail <variant>

Description

The chid command provides access to Computer Hardware IDs (CHIDs) generated from SMBIOS data. CHIDs are used by Windows Update and fwupd for hardware identification and firmware-update targeting.

CHIDs are generated according to Microsoft’s specification, which defines 15 different hardware ID variants (HardwareID-00 through HardwareID-14), each using different combinations of SMBIOS fields. The variants range from most specific (including all identifying fields) to least specific (manufacturer only).

Subcommands

show

Show the relevant SMBIOS values for the current board. These are used to calculate CHIDs.

compat

Find the compatible string that matches the current hardware’s CHID and set the fdtcompat environment variable. This examines the devicetree under /chid for nodes with hardware-id child nodes containing CHID data that matches the system’s generated CHIDs.

list

Display all 15 CHID variants with their generated UUIDs

detail <variant>

Display details for a specific CHID variant (0-14), including which SMBIOS fields are used and the generated UUID

Examples

=> chid show
Manufacturer:      Sandbox Corp
Family:            Sandbox_Family
Product Name:      Sandbox Computer
Product SKU:       SANDBOX-SKU
Baseboard Manuf:   Sandbox Boards
Baseboard Product: Sandbox Motherboard
BIOS Vendor:       U-Boot
BIOS Version:      2025.08-g167811e037b5-dirty
BIOS Major:        25
BIOS Minor:        8
Enclosure Type:    2
=>

This shows how to obtain the CHIDs for all variants:

=> chid list
HardwareID-00: 133e2a0f-2299-5874-b475-40f5a1744a35
HardwareID-01: a9648aa2-bb0e-5e53-95d7-432ac18f041f
HardwareID-02: cbb458c8-4d1a-5898-9a2c-6657c6664a9a
HardwareID-03: a07db1d8-e0f9-5d47-a507-8c358eb7edf4
HardwareID-04: 5efd2af9-23d6-5fe6-bdb0-e040b9e5b054
HardwareID-05: 48aede6f-65db-51a5-8905-fdabdbc0685e
HardwareID-06: d1c25f0a-6eb8-5c23-961c-e46694384fa0
HardwareID-07: 84398dad-5de1-553b-87b9-1b7c4b02c505
HardwareID-08: ed1fa480-f06b-52ba-b203-56562c52c7e2
HardwareID-09: c0185db1-6111-5432-955a-e5ecdac0d351
HardwareID-10: 6b7ad4ae-1f41-52dd-8499-ab9ab9e8688c
HardwareID-11: 72523836-a3fc-57b0-8d3c-4ce56cbf6b96
HardwareID-12: e93b37fb-5592-55dd-8e4b-9df3fbc9abde
HardwareID-13: d67e233f-5cad-541c-87f8-ee9bca569e5e
HardwareID-14: 45c5e2e7-db48-556b-aae4-0a03c5a15eae

Show details for a specific variant:

=> chid detail 14
HardwareID-14: 45c5e2e7-db48-556b-aae4-0a03c5a15eae
Fields: Manufacturer

Find compatible string and set environment variable:

=> chid compat
google,veyron-speedy
=> printenv fdtcompat
fdtcompat=google,veyron-speedy

Configuration

The chid command is available when CONFIG_CMD_CHID is enabled.

Return value

The return value $? is 0 (true) on success, 1 (false) on failure.

See also