Dmidecode is a tool for dumping a computer’s DMI (some say SMBIOS) table contents that described in your system BIOS in a human-readable format. This table contains descriptions of your system hardware components, as well as other useful pieces of information. Typically it 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).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). There’re three additional tools coming 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).
Here’s a detailed blog post on how to use dmidecode in Linux at the geekstuff.com. This article provides an overview of the dmidecode and few practical examples on how to use dmidecode command. For system administrations, you might need to remember these DMI types, in order to ease some daily query work:
Following are the available DMI types (You can use them directly with the -t options like “dmidecode -t 4”):
Type Information ---------------------------------------- 0 BIOS 1 System 2 Base Board 3 Chassis 4 Processor 5 Memory Controller 6 Memory Module 7 Cache 8 Port Connector 9 System Slots 10 On Board Devices 11 OEM Strings 12 System Configuration Options 13 BIOS Language 14 Group Associations 15 System Event Log 16 Physical Memory Array 17 Memory Device 18 32-bit Memory Error 19 Memory Array Mapped Address 20 Memory Device Mapped Address 21 Built-in Pointing Device 22 Portable Battery 23 System Reset 24 Hardware Security 25 System Power Controls 26 Voltage Probe 27 Cooling Device 28 Temperature Probe 29 Electrical Current Probe 30 Out-of-band Remote Access 31 Boot Integrity Services 32 System Boot 33 64-bit Memory Error 34 Management Device 35 Management Device Component 36 Management Device Threshold Data 37 Memory Channel 38 IPMI Device 39 Power Supply
Instead of type_id, you can also pass the keyword to the -t option of the dmidecode command. Following are the available keywords:
Keyword Types ------------------------------ bios 0, 13 system 1, 12, 15, 23, 32 baseboard 2, 10 chassis 3 processor 4 memory 5, 6, 16, 17 cache 7 connector 8 slot 9
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.