Dmidecode reports information about your system's hardware as described in your system BIOS according to the SMBIOS/DMI standard (see a sample output). This information typically includes system manufacturer, model name, serial number, BIOS version, asset tag as well as a lot of other details of varying level of interest and reliability depending on the manufacturer. This will often include usage status for the CPU sockets, expansion slots (e.g. AGP, PCI, ISA) and memory module slots, and the list of I/O ports (e.g. serial, parallel, USB).
Part of the dmidecode code can be found in the Linux kernel, where DMI data is used to enable or disable specific portions of code depending on the specific hardware. Thus, one use of dmidecode is for kernel developers to detect system "signatures" and add them to the kernel source code when needed.
Beware that DMI data have proven to be too unreliable to be blindly trusted. Dmidecode does not scan your hardware, it only reports what the BIOS told it to.
Dmidecode was first written by Alan Cox and is now being further developed and maintained by Jean Delvare. It is released under the General Public License (GPL). For more details, you should have a look at the AUTHORS and LICENSE files that come with the source code.
Three additional tools come with dmidecode:
Some documentation files are distributed with the source code:
Dmidecode is featured in the following articles:
Dmidecode is known to work on the following systems:
No binaries are available here, but dmidecode is packaged for several Linux and BSD distributions (Debian, Gentoo and FreeBSD among others), either as a single package or included in a more generic tool set. A BeOS package is also known to exist.
Dmidecode is used by the following programs:
The dmidecode code was copied and integrated into the following programs:
Alternative implementations of a DMI table decoder: