It is always good idea for every system administrator to view the hardware information of your Linux machine. This will help you to troubleshoot hardware related issues. There are many tools available to find the information about your hardware, some tools are web based and some are command line.
Requirements
Ubuntu 14.04 installed on your system.
View CPU Information
lscpu is a command line tool used to gathers cpu architecture information from sysfs and the /proc/cpuinfo file.
You can use the lscpu
command as follows:
sudo lscpu
You should see the following output:
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
Thread(s) per core: 1
Core(s) per socket: 4
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 55
Stepping: 8
CPU MHz: 2159.000
BogoMIPS: 4332.95
Virtualization: VT-x
L1d cache: 24K
L1i cache: 32K
L2 cache: 1024K
NUMA node0 CPU(s): 0-3
lshw
lshw also known as a hardware lister is used to gather detailed information on the hardware configuration of the machine. It provides information about multiple hardware like CPU, memory, disk, usb controller etc.
Let’s run the lshw
utility:
sudo lshw -short
You should see the following output:
H/W path Device Class Description
==================================================
system Inspiron 3551 (Inspiron 3551)
/0 bus 0CMF7W
/0/0 memory 64KiB BIOS
/0/34 processor Intel(R) Pentium(R) CPU N3540 @ 2.16GHz
/0/34/32 memory 224KiB L1 cache
/0/34/33 memory 2MiB L2 cache
/0/1a memory 4GiB System Memory
/0/1a/0 memory 4GiB DIMM DDR3 1600 MHz (0.6 ns)
/0/100 bridge ValleyView SSA-CUnit
/0/100/2 display ValleyView Gen7
/0/100/13 storage ValleyView 6-Port SATA AHCI Controller
/0/100/14 bus ValleyView USB xHCI Host Controller
/0/100/1a generic ValleyView SEC
/0/100/1b multimedia ValleyView High Definition Audio Controller
/0/100/1c bridge ValleyView PCI Express Root Port
/0/100/1c.2 bridge ValleyView PCI Express Root Port
/0/100/1c.2/0 wlan0 network QCA9565 / AR9565 Wireless Network Adapter
/0/100/1d bus ValleyView USB Enhanced Host Controller
/0/100/1f bridge ValleyView Power Control Unit
/0/100/1f.3 bus ValleyView SMBus Controller
/0/1 scsi0 storage
/0/1/0.0.0 /dev/sda disk 500GB WDC WD5000LPVX-7
/0/1/0.0.0/1 /dev/sda1 volume 499MiB Windows FAT volume
/0/1/0.0.0/2 /dev/sda2 volume 39MiB BIOS Boot partition
/0/1/0.0.0/3 /dev/sda3 volume 3071MiB Windows FAT volume
/0/1/0.0.0/4 /dev/sda4 volume 93GiB EXT4 volume
/0/1/0.0.0/5 /dev/sda5 volume 358GiB EXT4 volume
/0/1/0.0.0/6 /dev/sda6 volume 10GiB Linux swap volume
/0/2 scsi2 storage
/0/2/0.0.0 /dev/sdb disk xD/SD/M.S.
/0/2/0.0.0/0 /dev/sdb disk
/1 power DELL VN3N047
/2 vethYWTR6Q network Ethernet interface
Gather USB Device Information
You can use the lsusb
command line utility to find information about USB controller and all the devices that are connected to them.
Now, run lsusb
command:
sudo lsusb
You should see the following output:
Bus 001 Device 002: ID 8087:07e6 Intel Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 003: ID 064e:9209 Suyin Corp.
Bus 002 Device 005: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller
Bus 002 Device 006: ID 0cf3:e005 Atheros Communications, Inc.
Bus 002 Device 002: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
You can use the -v option to generate a detailed information about each USB device.
sudo lsusb -v | more
You should see the following output:
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 9 Hub
bDeviceSubClass 0 Unused
bDeviceProtocol 1 Single TT
bMaxPacketSize0 64
idVendor 0x8087 Intel Corp.
idProduct 0x07e6
bcdDevice 0.14
iManufacturer 0
iProduct 0
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 25
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
--More--
Print PCI Device Information
Graphics cards, network adapters and usb ports are PCI devices. The lspci
is a command line tool used to lists all the PCI buses and details about the devices connected to them like the VGA adapter, usb ports, SATA controller, graphics card, network adapter etc.
Run the following command to print information about PCI devices:
sudo lspci
You should see the following output:
00:00.0 Host bridge: Intel Corporation ValleyView SSA-CUnit (rev 0e)
00:02.0 VGA compatible controller: Intel Corporation ValleyView Gen7 (rev 0e)
00:13.0 SATA controller: Intel Corporation ValleyView 6-Port SATA AHCI Controller (rev 0e)
00:14.0 USB controller: Intel Corporation ValleyView USB xHCI Host Controller (rev 0e)
00:1a.0 Encryption controller: Intel Corporation ValleyView SEC (rev 0e)
00:1b.0 Audio device: Intel Corporation ValleyView High Definition Audio Controller (rev 0e)
00:1c.0 PCI bridge: Intel Corporation ValleyView PCI Express Root Port (rev 0e)
00:1c.2 PCI bridge: Intel Corporation ValleyView PCI Express Root Port (rev 0e)
00:1d.0 USB controller: Intel Corporation ValleyView USB Enhanced Host Controller (rev 0e)
00:1f.0 ISA bridge: Intel Corporation ValleyView Power Control Unit (rev 0e)
00:1f.3 SMBus: Intel Corporation ValleyView SMBus Controller (rev 0e)
03:00.0 Network controller: Qualcomm Atheros QCA9565 / AR9565 Wireless Network Adapter (rev 01)
You can also filter out specific device information by running the following command:
sudo lspci -v | grep "VGA" -A 12
Output:
00:02.0 VGA compatible controller: Intel Corporation ValleyView Gen7 (rev 0e) (prog-if 00 [VGA controller])
Subsystem: Dell Device 06ab
Flags: bus master, fast devsel, latency 0, IRQ 105
Memory at d0000000 (32-bit, non-prefetchable) [size=4M]
Memory at c0000000 (32-bit, prefetchable) [size=256M]
I/O ports at f080 [size=8]
Expansion ROM at [disabled]
Capabilities:
Kernel driver in use: i915
00:13.0 SATA controller: Intel Corporation ValleyView 6-Port SATA AHCI Controller (rev 0e) (prog-if 01 [AHCI 1.0])
Subsystem: Dell Device 06ab
Flags: bus master, 66MHz, medium devsel, latency 0, IRQ 104
You can also use the -t option to produce output in a tree format.
sudo lspci -t
Output:
-[0000:00]-+-00.0
+-02.0
+-13.0
+-14.0
+-1a.0
+-1b.0
+-1c.0-[01]--
+-1c.2-[03]----00.0
+-1d.0
+-1f.0
-1f.3
Inxi Utility
inxi is a full featured CLI system information tool that fetches hardware information from multiple sources and commands on the system and gives you very good report that non-technical users can read easily.
By default, inxi is not installed in Ubuntu. You can install it by running the following command:
sudo apt-get install inxi
After installing inxi, Run the following command to get hardware information:
sudo inxi -Fx
You should see the following output:
System: Host: Vyom-PC Kernel: 3.13.0-32-generic x86_64 (64 bit, gcc: 4.8.2) Desktop: Gnome Distro: Zorin 9 trusty
Machine: System: Dell (portable) product: Inspiron 3551 version: A00
Mobo: Dell model: 0CMF7W version: A00 Bios: Dell version: A00 date: 12/05/2014
CPU: Quad core Intel Pentium CPU N3540 (-MCP-) cache: 1024 KB flags: (lm nx sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx) bmips: 17331.8
Clock Speeds: 1: 2159.00 MHz 2: 2159.00 MHz 3: 2159.00 MHz 4: 2159.00 MHz
Graphics: Card: Intel ValleyView Gen7 bus-ID: 00:02.0
X.Org: 1.15.1 drivers: intel (unloaded: fbdev,vesa) Resolution: 1366x768@60.0hz
GLX Renderer: Mesa DRI Intel Bay Trail GLX Version: 3.0 Mesa 10.1.3 Direct Rendering: Yes
Audio: Card: Intel ValleyView High Definition Audio Controller driver: snd_hda_intel bus-ID: 00:1b.0
Sound: Advanced Linux Sound Architecture ver: k3.13.0-32-generic
Network: Card-1: Qualcomm Atheros QCA9565 / AR9565 Wireless Network Adapter driver: ath9k bus-ID: 03:00.0
IF: wlan0 state: up mac: 4c:bb:58:9c:f5:55
Card-2: Atheros usb-ID: 002-006
IF: N/A state: N/A speed: N/A duplex: N/A mac: N/A
Drives: HDD Total Size: 500.1GB (13.6% used) 1: id: /dev/sda model: WDC_WD5000LPVX size: 500.1GB temp: 37C
Partition: ID: / size: 92G used: 33G (38%) fs: ext4 ID: swap-1 size: 11.32GB used: 0.00GB (0%) fs: swap
RAID: No RAID devices detected - /proc/mdstat and md_mod kernel raid module present
Sensors: System Temperatures: cpu: 64.0C mobo: N/A
Fan Speeds (in rpm): cpu: N/A
Info: Processes: 230 Uptime: 34 min Memory: 854.8/3836.4MB Runlevel: 2 Gcc sys: 4.8.2
Client: Shell (bash 4.3.11) inxi: 1.9.17
View Partition Information
df also known as a “disk free” is a standard Unix command used to print the information about various partitions, their mount points and the used and available space on each.
You can run the df
command as belows:
sudo df -H
You will see the following output.
Filesystem Size Used Avail Use% Mounted on
/dev/sda4 99G 36G 59G 38% /
none 4.1k 0 4.1k 0% /sys/fs/cgroup
udev 2.0G 4.1k 2.0G 1% /dev
tmpfs 403M 1.4M 401M 1% /run
none 5.3M 0 5.3M 0% /run/lock
none 2.1G 611k 2.1G 1% /run/shm
none 105M 33k 105M 1% /run/user
/dev/sda1 521M 20M 501M 4% /boot/EFI
/dev/sda5 379G 33G 327G 10% /Data
Extract Information about Hardware Components
dmidecode is another command line utility used to extracts hardware information by reading data from the DMI tables.
For example, if you want to display information about the processor, run:
sudo dmidecode -t processor-
You will see the following output:
# dmidecode 2.12
SMBIOS 2.8 present.
Handle 0x0034, DMI type 4, 42 bytes
Processor Information
Socket Designation: SOCKET 0
Type: Central Processor
Family: Pentium
Manufacturer: Intel
ID: 78 06 03 00 FF FB EB BF
Signature: Type 0, Family 6, Model 55, Stepping 8
Flags:
FPU (Floating-point unit on-chip)
VME (Virtual mode extension)
DE (Debugging extension)
PSE (Page size extension)
TSC (Time stamp counter)
MSR (Model specific registers)
PAE (Physical address extension)
MCE (Machine check exception)
CX8 (CMPXCHG8 instruction supported)
APIC (On-chip APIC hardware supported)
SEP (Fast system call)
MTRR (Memory type range registers)
PGE (Page global enable)
MCA (Machine check architecture)
CMOV (Conditional move instruction supported)
PAT (Page attribute table)
PSE-36 (36-bit page size extension)
CLFSH (CLFLUSH instruction supported)
DS (Debug store)
ACPI (ACPI supported)
MMX (MMX technology supported)
FXSR (FXSAVE and FXSTOR instructions supported)
SSE (Streaming SIMD extensions)
SSE2 (Streaming SIMD extensions 2)
SS (Self-snoop)
HTT (Multi-threading)
TM (Thermal monitor supported)
PBE (Pending break enabled)
Version: Intel(R) Pentium(R) CPU N3540 @ 2.16GHz
Voltage: 1.2 V
External Clock: 83 MHz
Max Speed: 2400 MHz
Current Speed: 2160 MHz
Status: Populated, Enabled
Upgrade: Other
L1 Cache Handle: 0x0032
L2 Cache Handle: 0x0033
L3 Cache Handle: Not Provided
Serial Number: Not Specified
Asset Tag: Not Specified
Part Number: Not Specified
Core Count: 4
Core Enabled: 4
Thread Count: 4
Characteristics:
64-bit capable
To display information about the memory, run:
sudo dmidecode -t memory
You should see the following output:
# dmidecode 2.12
SMBIOS 2.8 present.
Handle 0x001A, DMI type 16, 23 bytes
Physical Memory Array
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: None
Maximum Capacity: 8 GB
Error Information Handle: Not Provided
Number Of Devices: 1
Handle 0x001C, DMI type 17, 40 bytes
Memory Device
Array Handle: 0x001A
Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 64 bits
Size: 4096 MB
Form Factor: DIMM
Set: None
Locator: DIMM_A
Bank Locator: DIMM_A
Type: DDR3
Type Detail: Unknown
Speed: 1600 MHz
Manufacturer: Samsung
Serial Number: 208C0B41
Asset Tag: 03151300
Part Number: M471B5173EB0-YK0
Rank: 1
Configured Clock Speed: 1333 MHz
Minimum voltage: 1.350 V
Maximum voltage: 1.500 V
Configured voltage: 1.350 V
View SATA Device Information
hdparm is a command line tool used to view the information about sata devices connected to your system.
If you want to see the information of your SATA harddisk (sda), run the following command:
sudo hdparm -i /dev/sda
Output:
“` language-bash
/dev/sda:
Model=WDC WD5000LPVX-75V0TT0, FwRev=01.01A01, SerialNo=WXV1EC4KN2N7
Config={ HardSect NotMFM HdSw>15uSec SpinMotCtl Fixed DTR>5Mbs FmtGapReq }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=0
BuffType=unknown, BuffSize=8192kB, MaxMultSect=16, MultSect=16
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=976773168
IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio3 pio4
DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 *udma6
AdvancedPM=yes: unknown setting WriteCache=enabled
Drive conforms to: Unspecified: ATA/ATAPI-1,2,3,4,5,6,7
* signifies the current active mode