A quick bit of commandline-fu today. And a trick that I always spend ages having to search the web for. Its often the case that you want to find the exact serial number or model or chipset of your motherboard. There is a wonderful command called dmidecode which fetches the DMI data from your machine’s BIOS. That’s Desktop Management Interface for those of you who don’t speak acronym. For those of you who don’t speak jargon its a standardized way for your BIOS to share details about your motherboard, processor and other components with your operating system. The Wikipedia article about DMI is brief but informative.
If you are using a recent Debian, then it is probably already installed. If not just type your system’s equivalent of# aptitude install dmidecode
The dmidecode tool is available on many UNIX variants as well as on GNU/Linux; the home page lists the following:
- Linux i386, x86-64, ia64
- FreeBSD i386, amd64
- NetBSD i386, amd64
- OpenBSD i386, amd64
- BeOS i386
- Cygwin i386
- Solaris x86
- Haiku i586
You can get all the data out of dmidecode by simply issuing a quick$ sudo dmidecode
If you are after a particular piece of information you can use dmidecode to return just the string in which you are interested, for example$ sudo dmidecode --string baseboard-product-name
Aspire 8920
The strings that dmidecode can pull out for you are as followssudo dmidecode --string
dmidecode: option '--string' requires an argument
String keyword expected
Valid string keywords are:
bios-vendor
bios-version
bios-release-date
system-manufacturer
system-product-name
system-version
system-serial-number
system-uuid
baseboard-manufacturer
baseboard-product-name
baseboard-version
baseboard-serial-number
baseboard-asset-tag
chassis-manufacturer
chassis-type
chassis-version
chassis-serial-number
chassis-asset-tag
processor-family
processor-manufacturer
processor-version
processor-frequency
My most common use case is to find a few details about the motherboard, manufacturer, model and so on. So I normally combine dmidecode with grep, to pull out the base board section from dmidecode’s results. Here I’m looking at my desktop.$ sudo dmidecode | grep -A4 'Base Board'
Base Board Information
Manufacturer: Gigabyte Technology Co., Ltd.
Product Name: GA-MA69VM-S2
Version: x.x
Serial Number:
On my laptop the same command produces this.$ sudo dmidecode | grep -A4 "Base B"
Base Board Information
Manufacturer: Acer
Product Name: Aspire 8920
Version: Aspire 8920
Serial Number: Not Applicable