Probe for hardware, check operability and find drivers
Hardware Probe Tool (hw-probe) — a tool to probe for hardware, check operability and find drivers with the help of Linux hardware database: https://linux-hardware.org
For BSD users: https://bsd-hardware.info
Probe — is a snapshot of your computer's hardware state and logs. The tool checks operability of devices by analysis of logs and returns a permanent url to view the probe of the computer.
Share your probes and logs with Linux/BSD developers in order to debug and fix problems on your computer. Simplify inventory of hardware in your company. Please read more in our blog.
If some of your computer devices doesn't work due to a missed driver then the tool will suggest a proper Linux kernel version according to the LKDDb or third-party drivers.
Sample probe: https://linux-hardware.org/?probe=b394035f90
You can make a probe of your computer with the help of AppImage, Docker, Snap, Flatpak, Live CD or RPM/Deb package.
By creating probes you contribute to the "HDD/SSD Desktop-Class Reliability Test" study: https://github.com/linuxhw/SMART
You can probe your computer by AppImage, Docker, Snap, Flatpak or Live CD.
Also you can install a native package (RPM, Deb, Pkg, etc.) for your Linux distribution or install from source. See install instructions in the INSTALL.md file.
See install instructions for BSD in the INSTALL.BSD.md file.
Make a probe:
sudo -E hw-probe -all -upload
You can adjust device statuses in your probe and leave comments. Look for big green REVIEW button on the probe page.
The portable app that runs anywhere, no need to install anything. Just download hw-probe-1.5-149-x86_64.AppImage and run the following command in terminal to probe your computer:
chmod +x ./hw-probe-1.5-149-x86_64.AppImage sudo -E ./hw-probe-1.5-149-x86_64.AppImage -all -upload
You may need to install
fuse-libsor
libfuse2package if it is not pre-installed in your Linux distribution to run appimages. Also try old AppImage if you have troubles to run the latest image (e.g. on ancient Linux versions).
The app runs on all 64-bit Linux distributions with
Glibc >= 2.14including:
fuse-libspackage on Fedora 15, 16 and 17)
You can easily make a probe on any Linux distribution without installing the tool with the help of the Docker image:
sudo -E docker run -it \ -v /dev:/dev:ro \ -v /lib/modules:/lib/modules:ro \ -v /etc/os-release:/etc/os-release:ro \ -v /var/log:/var/log:ro \ --privileged --net=host --pid=host \ linuxhw/hw-probe -all -upload
You may need to run
xhost +local:before docker run to collect X11 info (xrandr, xinput, etc.).
Docker hub repository: https://hub.docker.com/r/linuxhw/hw-probe/
If the tool is not pre-installed in your system or you have troubles with installing the tool or its dependencies (e.g. hwinfo is not available in the repository) then try this Linux CD with hw-probe installed: https://mirror.yandex.ru/rosa/rosa2016.1/iso/ROSA.Fresh.R10/
Boot this Linux CD on your computer and make a probe (see Usage).
Install the universal Linux package:
sudo snap install hw-probe
The
hw-probecommand should become available on the command line after installation. If not, try:
export PATH=$PATH:/snap/bin
Connect
block-devicesinterface to check SMART attributes of drives:
sudo snap connect hw-probe:block-devices :block-devices
Now you can create computer probes:
sudo -E hw-probe -all -upload
Note: You need a Snap runtime (
snapdpackage) and
/snapsymlink to
/var/lib/snapd/snap(by
sudo ln -s /var/lib/snapd/snap /snap) in your system to install and run snaps (pre-installed on Ubuntu 16.04 and newer).
The app is available in the Snap Store: https://snapcraft.io/hw-probe
This is a strict snap that runs in a sandbox with limited functionality. Please enable
Access to disk block devicesin
Permissionsin order to check SMART attributes of your drives.
It's better to use classic snap to collect more info about the computer:
sudo snap install hw-probe_1.4-2_amd64.snap --classic --dangerous
Connect system interfaces:
for i in hardware-observe system-observe block-devices log-observe upower-observe physical-memory-observe \ network-observe raw-usb mount-observe opengl;do sudo snap connect hw-probe:$i :$i; done
Create computer probes:
sudo -E hw-probe -all -upload
For other Linux distributions see install manual here: https://docs.snapcraft.io/installing-snapd/6735
Add a remote:
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
Install universal package:
flatpak install flathub org.linux_hardware.hw-probe
Now you can create computer probes:
flatpak run org.linux_hardware.hw-probe -all -upload
Run it as root if you want to check your hard drives health.
Find the
Hardware Probeapplication in your App Center, install it and click on the desktop icon to make a probe. Enable Flatpak plugin if needed (
gnome-software-plugin-flatpakpackage for Debian/Ubuntu).
Note: The 'Launch' button doesn't display the probe window currently due to bug 552 in GNOME Software, but the probe is still created silently in the background process. Use desktop icon instead to launch the hardware probe properly or see probe log in
$HOME/.var/app/org.linux_hardware.hw-probe/data/HW_PROBE/LOG.
The app is available in the Flathub: https://flathub.org/apps/details/org.linux_hardware.hw-probe
Out of the box:
Need to setup Flatpak (https://flatpak.org/setup/):
Since hw-probe 1.5.
Request inventory ID:
hw-probe -generate-inventory -email [email protected]
Mark your probes by this ID:
sudo -E hw-probe -all -upload -i ID
Find your computers by the inventory ID on this page: https://linux-hardware.org/?view=computers
The Email is needed to get notifications if hardware failures are detected on your computer in future probes.
Since hw-probe 1.5.
Save your probes HTML view to a directory DIR for offline use:
hw-probe -import ./DIR -inventory-id ID
Dump and decode ACPI table:
sudo -E hw-probe -all -upload -dump-acpi -decode-acpi
NOTE:
acpica-toolspackage should be installed
The tool checks operability of devices on board by analysis of collected log files.
| Status | Meaning | |----------|---------| | works | Driver is found and operates properly (passed static or dynamic tests) | | limited | Works, but with limited functionality | | detected | Device is detected, driver is found, but not tested yet | | failed | Driver is not found or device is broken | | malfunc | Error operation of the device or driver |
You can perform additional operability sanity tests by the following command:
sudo -E hw-probe -all -check -upload
The following tests are executed:
glxgearsfor both integrated and discrete graphics cards (requires
mesa-demospackage to be installed)
hdparmfor all HDDs and SSDs
ddand
md5sum
memtester
Execution time is about 1 min for average modern desktop hardware. You can execute particular tests using appropriate options:
-check-graphics,
-check-hdd,
-check-cpuand
-check-memory.
You can disable collecting of unwanted logs by the
-disable A,B,C,...option.
For example, to disable collecting of
xdpyinfoand
xorg.confrun:
sudo -E hw-probe -all -upload -disable xdpyinfo,xorg.conf
Private information (including the username, machine's hostname, IP addresses, MAC addresses, UUIDs and serial numbers) is NOT uploaded to the database.
The tool uploads 32-byte prefix of salted SHA512 hash of MAC addresses and serial numbers to properly identify unique computers and hard drives. UUIDs are decorated in the same way, but formatted like regular UUIDs in order to save readability of logs. All the data is uploaded securely via HTTPS.
This work is dual-licensed under LGPL 2.1 (or any later version) and BSD-4-Clause. You can choose between one of them if you use this work.
SPDX-License-Identifier: LGPL-2.1-or-later OR BSD-4-Clause
Enjoy!