System Management BIOS explained

System Management BIOS
Status:Published
Version:3.7.1
Organization:Distributed Management Task Force (DMTF)
Related Standards:Common Information Model (CIM), Web-Based Enterprise Management (WBEM), Redfish
Abbreviation:SMBIOS
Domain:Systems management

In computing, the System Management BIOS (SMBIOS) specification defines data structures (and access methods) that can be used to read management information produced by the BIOS of a computer.[1] This eliminates the need for the operating system to probe hardware directly to discover what devices are present in the computer. The SMBIOS specification is produced by the Distributed Management Task Force (DMTF), a non-profit standards development organization. The DMTF estimates that two billion client and server systems implement SMBIOS.[2]

SMBIOS was originally known as Desktop Management BIOS (DMIBIOS), since it interacted with the Desktop Management Interface (DMI).[3]

The DMTF released the version 3.7.1 of the specification on May 24, 2024.[4]

History

Version 1 of the Desktop Management BIOS (DMIBIOS) specification was produced by Phoenix Technologies in or before 1996.[5] [6]

Version 2.0 of the Desktop Management BIOS specification was released on March 6, 1996 by American Megatrends (AMI), Award Software, Dell, Intel, Phoenix Technologies, and SystemSoft Corporation. It introduced 16-bit plug-and-play functions used to access the structures from Windows 95.[7]

The last version to be published directly by vendors was 2.3 on August 12, 1998. The authors were American Megatrends, Award Software, Compaq, Dell, Hewlett-Packard, Intel, International Business Machines (IBM), Phoenix Technologies, and SystemSoft Corporation.

Circa 1999, the Distributed Management Task Force (DMTF) took ownership of the specification. The first version published by the DMTF was 2.3.1 on March 16, 1999. At approximately the same time Microsoft started to require that OEMs and BIOS vendors support the interface/data-set in order to have Microsoft certification.

Version 3.0.0, introduced in February 2015, added a 64-bit entry point, which can coexist with the previously defined 32-bit entry point.

Version 3.4.0 was released in August 2020.[8]

Version 3.5.0 was released in September 2021.[9]

Version 3.6.0 was released in June 2022.[10]

Version 3.7.0 was released in July 2023.[11]

Contents

The SMBIOS table consists of an entry point (two types are defined, 32-bit and 64-bit), and a variable number of structures that describe platform components and features. These structures are occasionally referred to as "tables" or "records" in third-party documentation.

Structure types

As of version 3.3.0, the SMBIOS specification defines the following structure types:[12] [13]

Accessing SMBIOS data

The EFI configuration table (EFI_CONFIGURATION_TABLE) contains entries pointing to the SMBIOS 2 and/or SMBIOS 3 tables.[14] There are several ways to access the data, depending on the platform and operating system.

From UEFI

In the UEFI Shell, the command can retrieve and display the SMBIOS data.[15] [16] One can often enter the UEFI shell by entering the system firmware settings, and then selecting the shell as a boot option (as opposed to a DVD drive or hard drive).

From Unix

For Linux, FreeBSD, etc., the dmidecode utility can be used.

From Windows

Microsoft specifies WMI as the preferred mechanism for accessing SMBIOS information from Microsoft Windows.[17] [18]

On Windows systems that support it (XP and later), some SMBIOS information can be viewed with either the WMIC utility with 'BIOS'/'MEMORYCHIP'/'BASEBOARD' and similar parameters, or by looking in the Windows Registry under HKLM\HARDWARE\DESCRIPTION\System.

Various software utilities can retrieve raw SMBIOS data, including FirmwareTablesView[19] and AIDA64.

Generating SMBIOS data

Table and structure creation is normally up to the system firmware/BIOS. The UEFI Platform Initialization (PI) specification includes an SMBIOS protocol (EFI_SMBIOS_PROTOCOL) that allows components to submit SMBIOS structures for inclusion, and enables the producer to create the SMBIOS table for a platform.[20]

Platform virtualization software can also generate SMBIOS tables for use inside VMs, for instance QEMU.[21]

If the SMBIOS data is not generated and filled correctly then the machine may behave unexpectedly. For example, a Mini PC that advertises Chassis Information | Type = Tablet may behave unexpectedly using Linux. A desktop manager like GNOME will attempt to monitor a non-existent battery and shut down the screen and network interfaces when the missing battery drops below a threshold. Additionally, if the Chassis Information | Manufacturer is not filled in correctly then work-arounds for the incorrect Type = Tablet problem cannot be applied.[22]

See also

External links

Notes and References

  1. Web site: Libsmbios Library Documentation. 2007-04-11. dell.com. https://web.archive.org/web/20160918034900/http://linux.dell.com/libsmbios/main/. 2016-09-18. 2016-02-02.
  2. DMTF press release on SMBIOS 3.2: https://www.dmtf.org/content/dmtf-releases-smbios-32
  3. Web site: Desktop Management BIOS Specification, Version 2.0 . 1996-03-06 . 2016-02-02 . uni-regensburg.de . 2017-02-13 . https://web.archive.org/web/20170213083151/http://www-pc.uni-regensburg.de/hardware/techdok/bios_dmi_20.pdf . dead .
  4. Web site: All Published Versions of SMBIOS Reference Specification . May 2024 . 2024-06-01 . dmtf.org.
  5. Web site: Phoenix BIOS help and support.
  6. Web site: Phoenix Technologies Produces the First Commercially Available IBM PC Compatible ROM Bios : History of Information.
  7. Web site: Desktop Management BIOS Specification, Version 2.0 . 1996-03-06 . 2016-02-02 . uni-regensburg.de . 2017-02-13 . https://web.archive.org/web/20170213083151/http://www-pc.uni-regensburg.de/hardware/techdok/bios_dmi_20.pdf . dead .
  8. https://www.dmtf.org/content/dmtf-releases-smbios-34 DMTF Releases SMBIOS 3.4
  9. https://www.dmtf.org/content/dmtf-releases-smbios-35 DMTF Releases SMBIOS 3.5
  10. https://www.dmtf.org/content/dmtf-releases-smbios-36 DMTF Releases SMBIOS 3.6
  11. https://www.dmtf.org/content/dmtf-releases-smbios-37 DMTF Releases SMBIOS 3.7
  12. Web site: Linux System Information Decoded . https://web.archive.org/web/20100717072209/http://www.linux-mag.com/id/7768 . usurped . July 17, 2010 . 2010-04-23 . 2016-02-02 . Ken Hess . linux-mag.com.
  13. SMBIOS Specification, version 3.3.0, Sep 2019, https://www.dmtf.org/sites/default/files/standards/documents/DSP0134_3.3.0.pdf
  14. UEFI Specification, version 2.6, section 4.6
  15. Web site: smbiosview (HP UEFI System Utilities and Shell Command Mobile Help for HP ProLiant Gen9 Servers) . 2015-09-22 . 2016-02-02 . hp.com.
  16. Web site: Tianocore /edk2/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView . 2015-01-27 . sourceforge.net.
  17. Web site: wjfrancis . SMBIOS Peek - CodeProject . Codeproject.com . 2008-03-27 . 2012-05-12.
  18. https://web.archive.org/web/20110903164158/http://msdn.microsoft.com/en-us/windows/hardware/gg463136 SMBIOS Support in Windows
  19. Web site: FirmwareTablesView. 2020-12-02. NirSoft.
  20. Platform Initialization Specification, volume 5, section 6, SMBIOS Protocol
  21. QEMU version 2.12.50 User Documentation, https://qemu.weilnetz.de/doc/qemu-doc.html
  22. Web site: 5 to 20 minutes shutdowns on Cherry Trail machine . Red Hat Issue Tracker . March 21, 2019 . March 21, 2019.