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
Computer Hardware IDs (CHID) - CHID developer documentation
smbios - SMBIOS table information