When you are attempting to diagnose a failing network card or identify the exact manufacturer of a generic motherboard inside a headless Linux server, you cannot rely on visual inspection. While tools like lshw or lspci provide excellent high-level summaries, they often lack the granular, microscopic detail required to compile proper driver modules. To forcefully probe the deepest layers of the Linux kernel and generate a wildly comprehensive hardware diagnostic report, you must use the hwinfo command.
Installing the hwinfo Package
Because of its immense power and massive dependency footprint, hwinfo is rarely installed by default on mainstream server distributions like Ubuntu or Debian.
To install it, execute the following command:
sudo apt install hwinfo
Once installed, you must run the command using sudo privileges, as it requires direct, unrestricted read access to the kernel’s protected memory space (sysfs and procfs) to successfully interrogate the physical silicon components.
Generating a Detailed Hardware Report
To execute a comprehensive scan of every single piece of silicon attached to the motherboard—including RAM, CPUs, PCI cards, USB controllers, and BIOS firmware—simply run the command without any flags:
sudo hwinfo
Warning: The terminal will instantly vomit tens of thousands of lines of highly technical data. It is virtually impossible to read this output directly on the screen. You should always pipe this output directly into a text file so you can read it later or email it to a hardware vendor for support.
sudo hwinfo > server_diagnostics.txt
Filtering for Specific Components
To prevent the command from overwhelming you with data, you can force it to probe only one highly specific subsystem (e.g., the network interface cards or the storage controllers) by using the -- flag followed by the component name.
To interrogate only the network cards (including Wi-Fi chips and Ethernet ports), run:
sudo hwinfo --network
This will output a highly condensed report revealing the exact MAC address, the physical vendor ID (e.g., Realtek or Intel), the specific driver module the kernel is actively using to operate the card, and the exact PCI bus slot where the card is physically plugged into the motherboard. You can use similar flags (like --disk, --cpu, or --memory) to surgically diagnose any component in the system.