lshw
is used to gather hardware information for production hosts, and the article is some useful lshw command examples in Linux. It one of the various Linux hardware troubleshooting tools for everyday Linux system administration.
NAME
lshw
list hardware
SYNOPSIS
lshw [ -version ]
lshw [ -help ]
lshw [ -X ]
lshw [ [ -html ] [ -short ] [ -xml ] [ -json ] [ -businfo ] ] [ -dump filename ] [ -class class...
] [ -disable test... ] [ -enable test... ] [ -sanitize ] [ -numeric ] [ -quiet ]
DESCRIPTION
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).
It currently supports DMI (x86 and IA-64 only), OpenFirmware device tree (PowerPC only), PCI/AGP, CPUID (x86), IDE/ATA/ATAPI, PCMCIA (only tested on x86), SCSI and USB.
Commands
-version
Displays the version of lshw and exits.
-help
Displays the available command line options and quits.
-X
Launch the X11 GUI (if available).
-html
Outputs the device tree as an HTML page.
-xml
Outputs the device tree as an XML tree.
-json
Outputs the device tree as a JSON object (JavaScript Object Notation).
-short
Outputs the device tree showing hardware paths, very much like the output of HP-UX’s ioscan.
-businfo
Outputs the device list showing bus information, detailing SCSI, USB, IDE and PCI addresses.
-dump filename
Dump collected information into a file (SQLite database).
-class class
Only show the given class of hardware. class can be found using lshw -short or lshw -businfo.
-C class
Alias for -class class.
-enable test
-disable test
Enables or disables a test. test can be dmi (for DMI/SMBIOS extensions), device-tree (for Open‐ Firmware device tree), spd (for memory Serial Presence Detect), memory (for memory-size guessing heuristics), cpuinfo (for kernel-reported CPU detection), cpuid (for CPU detection), pci (for PCI/AGP access), isapnp (for ISA PnP extensions), pcmcia (for PCMCIA/PCCARD), ide (for IDE/ATAPI), usb (for USB devices), scsi (for SCSI) or network (for network interfaces detection).
-quiet
Don’t display status.
-sanitize
Remove potentially sensitive information from output (IP addresses, serial numbers, etc.).
-numeric
Also display numeric IDs (for PCI and USB devices
NOTES
lshw must be run as super user or it will only report partial information.
FILES
/usr/local/share/pci.ids
/usr/share/pci.ids
/etc/pci.ids
/usr/share/hwdata/pci.ids
A list of all known PCI ID’s (vendors, devices, classes and subclasses). If compiled with zlib
support, lshw will look for pci.ids.gz first, then for pci.ids.
/proc/bus/pci/*
Used to access the configuration of installed PCI busses and devices.
/proc/ide/*
Used to access the configuration of installed IDE busses and devices.
/proc/scsi/*, /dev/sg*
Used to access the configuration of installed SCSI devices.
/dev/cpu/*/cpuid
Used on x86 platforms to access CPU-specific configuration.
/proc/device-tree/*
Used on PowerPC platforms to access OpenFirmware configuration.
/proc/bus/usb/*
Used to access the configuration of installed USB busses and devices.
/sys/* Used on 2.6 kernels to access hardware/driver configuration information.
lshw Command EXAMPLES
lshw -short
Lists hardware in a compact format.
lshw -class disk -class storage
Lists all disks and storage controllers in the system.
lshw -html -class network
Lists all network interfaces in HTML.
lshw -disable dmi
Don’t use DMI to detect hardware.
Read more about Linux commands.
BUGS
lshw currently does not detect Firewire(IEEE1394) devices.
Not all architectures supported by GNU/Linux are fully supported (e.g. CPU detection).
“Virtual” SCSI interfaces used for SCSI emulation over IDE are not reported correctly yet.