Get Motherboard Info on Linux
To get details about the motherboard on your desktop pc or laptop, there are a couple of commands available on Linux. These commands will show the motherboard vendor, model name / part number and some other details like what bios/uefi firmware is installed on it.
In this article we shall take look at some of the common hardware related commands that can be used to get information about motherboard on linux. These commands are available for all major linux distributions so they should work on Ubunt, Debian, CentOS, Fedora, OpenSUSE or any other linux distro that you are using.
Now lets take a look at the commands one by one:
1. dmidecode
The dmidecode command with the -t baseboard
option will show details about the motherboard. Note that this command will output a lot of additional information that might not be related to the motherboard directly.
On my main ubuntu pc, this is what I get
$ sudo dmidecode -t baseboard # dmidecode 3.5 Getting SMBIOS data from sysfs. SMBIOS 3.0.0 present. Handle 0x0002, DMI type 2, 15 bytes Base Board Information Manufacturer: Gigabyte Technology Co., Ltd. Product Name: H110M-H-CF Version: x.x Serial Number: Default string Asset Tag: Default string Features: Board is a hosting board Board is replaceable Location In Chassis: Default string Chassis Handle: 0x0003 Type: Motherboard Contained Object Handles: 0 Handle 0x0021, DMI type 10, 6 bytes ...
Here is a one liner
$ sudo dmidecode -s baseboard-product-name H110M-H-CF $
On another older pc with intel motherboard, I get this:
$ sudo dmidecode -t baseboard | grep -i 'Product' Product Name: DG35EC
2. inxi
The inxi command with the --machine or -M option will show motherboard information. You can use the -x option further to show additional details about the motherboard. Run it with sudo to extract maximum details.
First install inxi with apt:
sudo apt install inxi
On my main ubuntu desktop machine this is the output:
$ sudo inxi --machine Machine: Type: Desktop System: Gigabyte product: H110M-H v: N/A serial: N/A Mobo: Gigabyte model: H110M-H-CF v: x.x serial: N/A UEFI-[Legacy]: American Megatrends v: F20 date: 11/16/2016 $
On my older intel motherboard machine this is the output:
$ inxi -M Machine: Mobo: Intel model: DG35EC version: AAE29266-210 Bios: Intel version: ECG3510M.86A.0112.2009.0203.1136 date: 02/03/2009
3. lshw
The lshw (list hardware) command is quite effective in showing details and information about most hardware components. It has separate options to report only specific parts of the hardware like memory, network, disk drives etc. However there is no option to report just motherboard.
Use apt to install lshw on ubuntu, debian, linux mint and related distros:
sudo apt install lshw
The motherboard information is reported right on top when full details are printed using the lshw command. We shall use the less command to make the top part visible.
sudo lshw | less
Here is the output from my ubuntu 23.10 machine.
enlightened description: Desktop Computer product: H110M-H (Default string) vendor: Gigabyte Technology Co., Ltd. version: Default string serial: Default string width: 64 bits capabilities: smbios-3.0.0 dmi-3.0.0 smp vsyscall32 configuration: boot=normal chassis=desktop family=Default string sku=Default string uuid=031b021c-040d-05c8-8206-4d0700080009 *-core description: Motherboard product: H110M-H-CF vendor: Gigabyte Technology Co., Ltd. physical id: 0 version: x.x serial: Default string slot: Default string *-firmware description: BIOS vendor: American Megatrends Inc. physical id: 0 version: F20 date: 11/16/2016 size: 64KiB capacity: 8MiB capabilities: pci upgrade shadowing cdboot bootselect socketedrom edd int13floppy1200 int13floppy720 int13floppy2880 int5printscreen int14serial int17printer acpi usb biosbootspecification uefi *-memory description: System Memory physical id: 3d slot: System board or motherboard size: 32GiB ...
Note that on the top part, the motherboard vendor, product name and the firmware details are displayed. In this case the vendor is Gigabyte Technology, the product model is H110M-H-CF and the BIOS vendor is American Megatrends Inc. and the version is F20 (which is actually UEFI).
4. Hardinfo
The hardinfo command is a gui tool and quite easy to use. It reports details about most hardware components including the motherboard. It is a must have hardware analysis tool for your ubuntu desktop machine.
Installing is easy. Just run the apt command
sudo apt install hardinfo
Now run it directly from the application menu of your desktop environment or run the command from the terminal.
hardinfo
Note that the first page on "Computer Summary" shows the motherboard vendor and the model name. Users who do not want to use the terminal or commands can use this application.
5. System Files - /sys/devices
Another smart way to check motherboard information is by reading some dynamic files that are populated with hardware information by the kernel. The files are located in /sys/devices/virtual/dmi/id/
.
Here is a sample output from my ubuntu desktop machine.
$ cat /sys/devices/virtual/dmi/id/board_{vendor,name,version} Gigabyte Technology Co., Ltd. H110M-H-CF x.x $
It is possible to extract more information like this:
cat /sys/devices/virtual/dmi/id/*
Here are some fancy one lines
grep . /sys/devices/virtual/dmi/id/* 2>/dev/null
In the following output we can also check the exact BIOS/UEFI firmware version and release date. This allows us to check whether we need to update the bios or not.
$ grep . /sys/devices/virtual/dmi/id/* 2>/dev/null /sys/devices/virtual/dmi/id/bios_date:11/16/2016 /sys/devices/virtual/dmi/id/bios_release:5.12 /sys/devices/virtual/dmi/id/bios_vendor:American Megatrends Inc. /sys/devices/virtual/dmi/id/bios_version:F20 /sys/devices/virtual/dmi/id/board_asset_tag:Default string /sys/devices/virtual/dmi/id/board_name:H110M-H-CF /sys/devices/virtual/dmi/id/board_vendor:Gigabyte Technology Co., Ltd. /sys/devices/virtual/dmi/id/board_version:x.x /sys/devices/virtual/dmi/id/chassis_asset_tag:Default string /sys/devices/virtual/dmi/id/chassis_type:3 /sys/devices/virtual/dmi/id/chassis_vendor:Default string /sys/devices/virtual/dmi/id/chassis_version:Default string /sys/devices/virtual/dmi/id/modalias:dmi:bvnAmericanMegatrendsInc.:bvrF20:bd11/16/2016:br5.12:svnGigabyteTechnologyCo.,Ltd.:pnH110M-H:pvrDefaultstring:rvnGigabyteTechnologyCo.,Ltd.:rnH110M-H-CF:rvrx.x:cvnDefaultstring:ct3:cvrDefaultstring:skuDefaultstring: /sys/devices/virtual/dmi/id/product_family:Default string /sys/devices/virtual/dmi/id/product_name:H110M-H /sys/devices/virtual/dmi/id/product_sku:Default string /sys/devices/virtual/dmi/id/product_version:Default string /sys/devices/virtual/dmi/id/sys_vendor:Gigabyte Technology Co., Ltd. /sys/devices/virtual/dmi/id/uevent:MODALIAS=dmi:bvnAmericanMegatrendsInc.:bvrF20:bd11/16/2016:br5.12:svnGigabyteTechnologyCo.,Ltd.:pnH110M-H:pvrDefaultstring:rvnGigabyteTechnologyCo.,Ltd.:rnH110M-H-CF:rvrx.x:cvnDefaultstring:ct3:cvrDefaultstring:skuDefaultstring: $
Here is a similar one-line using the tail command, which is a bit more readable:
tail -n +1 /sys/devices/virtual/dmi/id/* 2>/dev/null or tail /sys/devices/virtual/dmi/id/* 2>/dev/null or tail -v -n +1 /sys/devices/virtual/dmi/id/* 2>/dev/null
The output on my Ubuntu machine:
$ tail -n +1 /sys/devices/virtual/dmi/id/* 2>/dev/null ==> /sys/devices/virtual/dmi/id/bios_date <== 11/16/2016 ==> /sys/devices/virtual/dmi/id/bios_release <== 5.12 ==> /sys/devices/virtual/dmi/id/bios_vendor <== American Megatrends Inc. ==> /sys/devices/virtual/dmi/id/bios_version <== F20 ==> /sys/devices/virtual/dmi/id/board_asset_tag <== Default string ==> /sys/devices/virtual/dmi/id/board_name <== H110M-H-CF ==> /sys/devices/virtual/dmi/id/board_vendor <== Gigabyte Technology Co., Ltd. ==> /sys/devices/virtual/dmi/id/board_version <== x.x ==> /sys/devices/virtual/dmi/id/chassis_asset_tag <== Default string ==> /sys/devices/virtual/dmi/id/chassis_type <== 3 ==> /sys/devices/virtual/dmi/id/chassis_vendor <== Default string ==> /sys/devices/virtual/dmi/id/chassis_version <== Default string ==> /sys/devices/virtual/dmi/id/modalias <== dmi:bvnAmericanMegatrendsInc.:bvrF20:bd11/16/2016:br5.12:svnGigabyteTechnologyCo.,Ltd.:pnH110M-H:pvrDefaultstring:rvnGigabyteTechnologyCo.,Ltd.:rnH110M-H-CF:rvrx.x:cvnDefaultstring:ct3:cvrDefaultstring:skuDefaultstring: ==> /sys/devices/virtual/dmi/id/power <== $
Other Commands
There are many other commands for extracting hardware info on linux, but a lot of them do not report motherboard specific details directly. For instance the lspci command will show the chipset name in some places and vendor but will not show the motherboard model.
Similarly the hwinfo shows a lot of useful information about various hardware components but does not show the motherboard specifics.
Conclusion
Those were some of the commands that can be used to fetch and display information about the motherboard on your system. If you know of any other newer command please let us know in the comments below.
Thanks for reading!