lsusb
Overview
lsusb lists USB devices connected to the system (buses, IDs, vendor/product strings). Essential for debugging docks, keys, serial adapters, and whether a device is even enumerated before loading drivers.
Package: often usbutils.
Syntax
lsusb [options]Common Options
| Option | Description |
|---|---|
-v, --verbose |
Detailed descriptors |
-vv |
Even more verbose |
-t |
Tree view |
-s [[bus]:][devnum] |
Show only specific device |
-d vendor:product |
Filter by ID |
-D device |
Query device node under /dev/bus/usb |
-k |
Kernel driver binding info (when supported) |
Examples with Explanations
List devices
lsusb
lsusb -tFilter
lsusb -d 0781:5567
lsusb -s 001:005Verbose probe
sudo lsusb -v | less
sudo lsusb -v -d 1d6b:0002 | lessCorrelate with kernel messages
lsusb
dmesg -w
# plug device, watch enumeration
journalctl -k -fFind device nodes
ls -l /dev/bus/usb/*/*
ls -l /dev/ttyUSB* /dev/ttyACM* 2>/dev/nullTree + drivers
lsusb -t
# shows hubs and nesting; helpful for power/hub issuesNotes / Pitfalls
- Permission: some verbose details need root.
- Unauthorized USB policy (USBGuard) may block devices that still appear partially.
- VMs need USB passthrough configured; host
lsusb≠ guest. - IDs are hex vendor:product from the USB-IF database; strings can be generic.
- Unstable enumeration often means cable/power/hub issues, not software.
2026-relevant notes
- USB-C docks create deep hub trees — use
-t. usbguard,udevrules, and secure boot policies affect usability more thanlsusbitself.- For serial adapters, also check
dmesgforttyUSB/ttyACMassignment.
Additional Resources
man lsusb