Exploring the 'hwinfo' Command (with examples)
- Linux
- December 17, 2024
The hwinfo
command is a powerful utility that provides detailed information about the hardware components of a Linux system. This tool is often used for troubleshooting, configuring, or optimizing system performance by gaining insights into the hardware setup. By using various options, hwinfo
can deliver specific information related to different hardware categories like graphics cards, network devices, and storage devices. This article provides detailed use cases with examples to help you leverage hwinfo
effectively in your Linux environment.
Use case 1: Getting Graphics Card Information
Code:
hwinfo --gfxcard
Motivation:
Knowing detailed information about your graphics card is crucial for several reasons. Whether you’re manually installing drivers, troubleshooting graphics-related issues, or simply curious about the capabilities of your hardware, having direct access to your graphics card’s specifications and status can be invaluable. This command offers a straightforward approach to obtaining detailed information on your system’s graphics capabilities.
Explanation:
hwinfo
: The base command used to gather hardware information.--gfxcard
: This option filters the output to specifically display information about the graphics card(s) in the system. It narrows down the vast amount of datahwinfo
can provide to graphics-related hardware only.
Example Output:
13: PCI 100.0: 0300 VGA compatible controller (VGA)
[Created at pci.386]
Unique ID: _Znp.BGtenID23y2
SysFS ID: /devices/pci0000:00/0000:00:01.0/0000:01:00.0
SysFS BusID: 0000:01:00.0
Hardware Class: graphics card
Model: "NVIDIA GeForce GTX 1050 Ti"
Vendor: pci 0x10de "NVIDIA Corporation"
Device: pci 0x1c82 "GeForce GTX 1050 Ti"
SubVendor: pci 0x1043 "ASUSTeK Computer Inc."
SubDevice: pci 0x85f1
Revision: 0xa1
Driver: "nvidia"
Driver Modules: "nvidia"
Memory Range: 0xfa000000-0xfaffffff (rw,non-prefetchable)
Memory Range: 0xc0000000-0xcfffffff (ro,non-prefetchable)
Memory Range: 0xde000000-0xdfffffff (ro,non-prefetchable)
I/O Ports: 0xe000-0xefff (rw)
Memory Range: 0xfb000000-0xfb07ffff (ro,non-prefetchable,disabled)
IRQ: 129 (239106 events)
I2C Bus: 2
I2C Bus: 3
I2C Bus: 1
I2C Bus: 0
Module Alias: "pci:v000010DEd00001C82sv00001043sd000085F1bc03sc00i00"
Driver Info #0:
XFree86 v4 Server Module: nvidia
Config Status: cfg=new, avail=yes, need=no, active=unknown
Attached to: #12 (PCI bridge)
Use case 2: Retrieving Network Device Information
Code:
hwinfo --network
Motivation:
For network troubleshooting, configuration, or upgrades, understanding your network hardware is essential. This command is particularly useful for administrators and users who need to assess the network capabilities and details such as adapter models, configurations, and firmware versions. Especially when dealing with network connectivity issues, having a complete overview of the network hardware can help diagnose the source of the problem more efficiently.
Explanation:
hwinfo
: Again, the core command used to query information about system hardware.--network
: This flag specifies that the output should focus solely on network devices. This streamlines the information extraction process by targeting network components.
Example Output:
34: None 00.0: 1070a WLAN
[Created at net.126]
Unique ID: Tnl_.cz5mhzCookie
SysFS ID: /class/net/wlan0
SysFS Device Link: /devices/pci0000:00/0000:00:14.3
Hardware Class: network interface
Model: "Intel Wireless-AC 9560 160MHz"
Vendor: pci 0x8086 "Intel Corporation"
Device: pci 0x9df0
SubVendor: pci 0x8086 "Intel Corporation"
SubDevice: pci 0x0034
Revision: 0x34
Driver: "iwlwifi"
Driver Modules: "iwlwifi"
Device File: wlan0
Features: WLAN
Speed: 1 Gbit/s
HW Address: 00:0a:f7:1c:77:2b
Permanent HW Address: 00:0a:f7:1c:77:2b
Link detected: yes
Config Status: cfg=new, avail=yes, need=no, active=unknown
Attached to: #20 (PCI bridge)
Use case 3: Listing Disks and CD-ROM Drives with Abbreviated Output
Code:
hwinfo --short --disk --cdrom
Motivation:
When managing disk drives or optical devices, especially in systems with multiple storage devices, you may need a concise list of hardware to reduce complexity. For system configuration or inventory purposes, this command provides a streamlined overview of storage and CD-ROM drives, which can save time and reduce the chance for error compared to parsing through a detailed full system dump.
Explanation:
hwinfo
: The main command to gather hardware details.--short
: This flag tellshwinfo
to provide a brief summary of the information, making it easier to digest.--disk
: Specifies that the summary should include disk drives.--cdrom
: Adds CD-ROM drives to the summary.
Example Output:
disk:
/dev/sda Samsung SSD 970 EVO 500GB
/dev/sdb Seagate ST1000LM035
cdrom:
/dev/sr0 TSSTcorp CDDVDW SH-224DB
Use case 4: Writing All Hardware Information to a File
Code:
hwinfo --all --log path/to/file
Motivation:
In scenarios requiring a comprehensive report of all system hardware, such as preparing for audits, performing system administration tasks, or sending information for support purposes, it’s helpful to save the data to a file. Doing so also enables easy comparison over time, tracking changes in the system hardware, and sharing this information with remote teams or services.
Explanation:
hwinfo
: The tool used to extract hardware information.--all
: Directshwinfo
to collect and provide details about all hardware components, providing the most exhaustive data dump possible.--log path/to/file
: Specifies the path where the full log of hardware information will be written to.path/to/file
should be replaced by the actual path and file name desired.
Example Output:
Since this use case writes to a file, the actual data is saved on the disk at the specified location. The console output may simply indicate the completion of the command without displaying the full data. The resulting file could be opened to reveal something like:
11: PCI 200.0: 0604 PCI bridge (Normal decode)
[Created at pci.366]
...
Use case 5: Displaying Help Information
Code:
hwinfo --help
Motivation:
When familiarizing yourself with the hwinfo
command or exploring its diverse options, viewing the built-in help can be extremely useful. This is particularly important for new users or for those who need a quick reminder of how to use hwinfo
efficiently and effectively.
Explanation:
hwinfo
: The command used to access system hardware information.--help
: This argument requests thathwinfo
display a list of available options and usage information, serving as a convenient reference guide.
Example Output:
Usage: hwinfo [options]
Probe for hardware.
Options:
--debug N Use level N for debugging.
--quiet Suppress some log messages.
--short Show only a summary.
--log FILE Save log to FILE.
...
Conclusion
The hwinfo
command is an essential tool for Linux users who need to understand and manage their hardware components. By using various options, it allows users to examine specific hardware like graphics cards or network devices, obtain comprehensive reports, and save information to files for further analysis or record-keeping. Whether for troubleshooting, configuring, or optimizing your system, hwinfo
offers versatile functionality suitable for numerous scenarios.