Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

/sys/class/firmware-attributes

FieldValue
Subsystemfirmware attributes class (BIOS configuration interface); class device drivers include Dell dell-wmi-sysman, Lenovo think-lmi, HP; implementation files not in cached tree
Config gatenot verifiable from the cached sources (cached tree has no Kconfig or driver files); class absent on the live host
ABI documentationDocumentation/ABI/testing/sysfs-class-firmware-attributes (11 What entries)
Since5.11 (core, authentication, pending_reboot, reset_bios: February 2021); debug_cmd 5.14; save_settings 6.6; HP SPM entries 5.18
Live (5.10.134 host)class absent: not in live-sys/class-list.txt, no /sys/class/firmware-attributes
Ledger IDSYSC-firmware-attributes

What it represents

A sysfs interface for systems-management software to read and change BIOS/firmware configuration options on supported systems (the ABI was introduced by Dell, with documented vendor extensions for HP and Lenovo). Under a driver instance directory sit attributes/* (typed settings), an authentication/ subtree (BIOS admin, power-on and vendor-specific credentials) and per-vendor extras.

Relationship to the device model

The class path is /sys/class/firmware-attributes/<driver>/... where the top directory is the registering driver instance (the ABI shows thinklmi in examples). Attribute directories are dynamic per BIOS setting; which files exist inside depends on the attribute’s type (mandatory) - enumeration, integer, string, plus HP’s ordered-list - and on vendor extensions. Password changes and pending-reboot transitions emit KOBJ_CHANGE uevents for management daemons.

Attributes

AttributeR/WUnit/formatConditional?Source
attributes/*/typeROenumeration/integer/string/HP ordered-list; mandatoryper attributeABI, 5.11
attributes/*/current_valueRWcurrent setting; mandatoryper attributeABI, 5.11
attributes/*/default_value, display_name, display_name_language_codeROdefault and localized nameoptionalABI, 5.11
attributes/*/possible_valuesROsemicolon-separated valid valuesenumeration typeABI, 5.11
attributes/*/min_value, max_value, scalar_incrementROinteger bounds and stepinteger typeABI, 5.11
attributes/*/max_length, min_lengthROstring length boundsstring typeABI, 5.11
attributes/*/dell_modifier, dell_value_modifierROdependency rules like [SuppressIfNot:AutoOn=SelectDays]Dell systemsABI, 5.11
authentication/<mech>/is_enabled, role, mechanismRO0/1; role bios-admin, power-on, system-mgmt, HDD, NVMe; password or certificateauth objectABI, 5.11
authentication/<mech>/current_password, new_passwordWOsession password entry and resetpassword mechanismABI, 5.11
authentication/<mech>/certificate, signature, save_signature, certificate_thumbprint, certificate_to_passwordmixedBASE64 certificate material for signing-server authcertificate mechanismABI, 5.11
authentication/SPM/kek, SPM/skWOx509 DER kek <= 4095 bytes; RSA modulus skHP SPMABI, 5.18
authentication/SPM/statusROJSON state reportHP SPMABI, 5.18
attributes/pending_rebootRO1 if a reboot is needed to apply changes; emits KOBJ_CHANGEdriverABI, 5.11
attributes/reset_biosRWbuiltinsafe, lastknowngood, factory, custom (current in brackets)driverABI, 5.11
attributes/save_settingsRWsingle/bulk/save (Lenovo 48-save limit workaround)LenovoABI, 6.6
attributes/debug_cmdWOvendor-debug commands to BIOSLenovoABI, 5.14
attributes/Sure_Start/audit_log_entries, audit_log_entry_countROBIOS audit log contents; count,size,max tripleHPABI, 5.18

Safety and writes

This is the machine’s firmware policy surface. Writes to current_value change BIOS settings stored in NVRAM; reset_bios can wipe configuration to factory defaults; debug_cmd sends raw debug commands to the BIOS (ABI: use only when the BIOS vendor recommends it). Password handling is session-based by design: write current_password, perform changes, then clear it; when an admin password is set, attribute writes need that validation. Certificate changes require a reboot to take effect. Lenovo’s save_settings bulk mode locks further attribute writes after save (permissions error) to protect the 48-save hardware limit.

References

  • Documentation/ABI/testing/sysfs-class-firmware-attributes (cached copy; 495 lines, 11 What entries)
  • Implementation (drivers/platform/x86 firmware-attributes class and vendor drivers): not in cached tree
  • Coverage: ledger
  • Live check: /sys/class/firmware-attributes absent (kernel 5.10.134, read-only enumeration)