Tools to find Computer hardware specification in Linux

Many times we are in need of knowing detailed Computer hardware configuration for various purposes such as to get right driver, debugging, to prepare system information report, etc. In linux many such tools are available in command line. Here I am trying to list down three tools which I know. They are hwinfo, lshw and dmidecode. I believe both lshw and dmidecode are installed by default Ubuntu installation. If not follow the instructions below to get it installed. Now let’s see one by one.

My laptop is Sony VAIO VGN-CS15GN/B with Intel Core 2 Duo Processor P8400 (2.26GHz), Memory 2GB and Hard disk drive 250GB. I have installed Ubuntu 10.04 on it.

1. hwinfo – Probe for hardware tool

The man page says “hwinfo  is used to probe for the hardware present in the system. It can be used to generate a system overview log which can be later  used  for support. This is the best tool in my opinion – it gives more information about your system hardware specification  than any other tools and also the report is well organized and easily accessible through command line switches”.


$ sudo apt-get install hwinfo


$ sudo hwinfo

The above command will fetch complete report about all hardware components, model number, serial number, vendor, device class, descriptions, features, etc.

If you don’t want full report, you can get information about a particular class of hardware such as BIOS, Processor, memory, hard disks, printer, scanner, etc. The below command will fetch information of your computer’s RAM (memory is the hardware item in this example. To know all hardware item supported by this tool check with man page of hwinfo).

$ sudo hwinfo –memory
[sudo] password for blackgod:
01: None 00.0: 10102 Main Memory
[Created at memory.61]
Unique ID: rdCR.CxwsZFjVASF
Hardware Class: memory
Model: “Main Memory”
Memory Range: 0x00000000-0x754fffff (rw)
Memory Size: 1 GB + 896 MB
Config Status: cfg=new, avail=yes, need=no, active=unknown

Similarly the below command will fetch the amazing amount of information about wireless LAN component of your system.

$ sudo hwinfo –wlan

[sudo] password for blackgod:

20: PCI 300.0: 0282 WLAN controller

[Created at pci.318]

UDI: /org/freedesktop/Hal/devices/pci_8086_4232

Unique ID: y9sn.4sCLS2kIqkC

Parent ID: hoOk.ABTEjCxdYN4

SysFS ID: /devices/pci0000:00/0000:00:1c.2/0000:03:00.0

SysFS BusID: 0000:03:00.0

Hardware Class: network

Model: “Intel Wireless WiFi Link 5100”

Vendor: pci 0x8086 “Intel Corporation”

Device: pci 0x4232 “Wireless WiFi Link 5100”

SubVendor: pci 0x8086 “Intel Corporation”

SubDevice: pci 0x1301

Driver: “iwlagn”

Driver Modules: “iwlagn”

Device File: wlan0

Features: WLAN

Memory Range: 0x94600000-0x94601fff (rw,non-prefetchable)

IRQ: 30 (no events)

HW Address: xx:xx:xx:xx:xx:xx (Edited for security)

Link detected: yes

WLAN channels: 1 2 3 4 5 6 7 8 9 10 11 36 … 149 153

WLAN frequencies: 2.412 2.417 2.422 … 5.745 5.765

WLAN encryption modes: WEP40 WEP104 TKIP CCMP

WLAN authentication modes: open sharedkey wpa-psk wpa-eap

Module Alias: “pci:v00008086d00004232sv00008086sd00001301bc02sc80i00”

Driver Info #0:

Driver Status: iwlagn is active

Driver Activation Cmd: “modprobe iwlagn”

Config Status: cfg=new, avail=yes, need=no, active=unknown

Attached to: #9 (PCI bridge)

2. lshw – list hardware

The man page says “lshw is a small tool to extract detailed information on the hardware configuration of the machine. It can report exact memory configuration, firmware version, mainboard configuration, CPU version and speed, cache configuration, bus speed, etc. on DMI-capable x86 or IA-64 systems and on some PowerPC machines (PowerMac G4 is known to work)”.


$ sudo apt-get install lshw

If you want GUI tool, install lshw-gtk also (courtesy: Reddit)

$ sudo apt-get install lshw-gtk


The below command will list down the supported hardware class. This is necessary to get information about a specific class.

$ sudo lshw -short

The below example shows how to get storage controller hardware information.

$ sudo lshw -class storage


description: SATA controller

product: ICH9M/M-E SATA AHCI Controller

vendor: Intel Corporation

physical id: 1f.2

bus info: pci@0000:00:1f.2

logical name: scsi0

logical name: scsi1

version: 03

width: 32 bits

clock: 66MHz

capabilities: storage msi pm bus_master cap_list emulated

configuration: driver=ahci latency=0

resources: irq:28 ioport:60e8(size=8) … memory:96804000-968047ff

3. dmidecode – DMI table decoder

The man page says “dmidecode  is a tool for dumping a computer’s DMI (some say SMBIOS) table contents in a human-readable format. This table contains a description  of  the  system’s  hardware  components,  as well as other useful pieces of information such as serial numbers and BIOS revision”.


$ sudo apt-get install dmidecode


The below command will list complete hardware information.

$ sudo dmidecode

A specified hardware class details can be retrieved using key words (listed on man page of dmidecode). The following example is about bios information.

$ sudo dmidecode -s bios-vendor


$ sudo dmidecode -s bios-version


EDIT: I had ended the list with these less used powerful tools, but I have added the following widely used tools also based on user comments to make the list complete.

4. Other famous tools and commands

The following tools are widely used by most of the users.

lspci – details about all PCI devices in the system.

lsusb – details about all USB devices in the system.

cat /proc/cpuinfo – details about processors

cat /proc/meminfo – details about main memory (RAM)

cat /proc/interrupts – listing of interrupts of all devices

cat /proc/partitions – listing all disk partitions

Look at /proc directory for more useful files.

I believe the above tools will be useful to you. Please comment here on any other tool similar to the above list.

Share this post


Comments are closed.