PresentationDmidecode 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).
DMI data can be used to enable or disable specific portions of kernel 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:
biosdecode prints all BIOS related information it can find (see a sample output);
ownership retrieves the "ownership tag" that can be set on Compaq computers;
vpddecode prints the "vital product data" information that can be found in almost all IBM computers (see a sample output).
DocumentationSome documentation files are distributed with the source code:
CHANGELOG, a list of the changes made to dmidecode
README, which contains general information
Related ArticlesDmidecode is featured in the following articles:
Differentiating between Similar Machines for Imaging
Article by Luc Van de Velde, published on Novell Cool Solutions website.
dmidecode: What's it good for?
Article by Joe Barr, published on Linux.com.
Scripting with dmidecode
Article by Philip J. Hollenback, published on Linux.com.
Supported SystemsDmidecode is known to work on the following systems:
Linux i386, x86-64, ia64
FreeBSD i386, x86-64
NetBSD i386, x86-64
DownloadSource code is available for download (mirror). You can also get the latest sources using CVS.
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.
LinksProject page (on Savannah)
Mailing list archives
Project page (on Freshmeat)
Related ToolsDmidecode is used by the following programs:
Prtdiag, a bash script by Tom Callaway that generates a report describing the state of the hardware on the machine.
Beware, it looks like prtdiag will only work with dmidecode 1.8 and former.
Prtdiag (same name, but different script, how confusing), a ksh script by Jens Elkner that displays system configuration and diagnostic information on Linux systems.
Parse::DMIDecode, a perl module by Nicola Worthington offering an interface to DMI data in perl scripts.
The dmidecode code was copied and integrated into the following programs:
Powertweak Linux, a hardware information gathering and Linux system tweaking tool.
Lshw, a Linux hardware listing tool.
hpmodel, part of the HP Management Base collection.
The DMIDecode python module, by Nima Talebi.
Alternative implementations of a DMI table decoder:
PC Pitstop BIOS information utility (for DOS)
Kangwon Univ. Dept. of Computer Imformation and Communications Engineering Software and System Lab.