When you plug a USB device into your Ubuntu machine—whether it is a simple flash drive, a complex external audio interface, a web camera, or a specialized peripheral—it usually “just works.” However, when a device fails to appear in the file manager or refuses to function in its designated application, troubleshooting becomes necessary.
The first step in diagnosing any hardware issue on Linux is verifying that the operating system physically detects the connection at the hardware level. The most effective way to confirm that your Ubuntu system recognizes a USB device is by using the lsusb command in the terminal.
This guide explains how to list all connected USB devices and interpret the output on Ubuntu.
Using the lsusb Command
The lsusb utility is a simple, built-in command that interrogates the system’s USB buses and reports back every device attached to them.
- Open your Ubuntu terminal by pressing Ctrl + Alt + T.
- Type the following command:
lsusb - Press Enter.
The terminal will output a list. Each line represents a single USB device currently recognized by the system. The output will look something like this:
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 001 Device 003: ID 05ac:024f Apple, Inc. Aluminium Keyboard (ANSI)
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Interpreting the Output
Understanding what this output means is crucial for troubleshooting.
- Bus and Device Numbers:
Bus 001 Device 003indicates exactly where the device is physically connected on the motherboard’s USB topology. If you unplug a device and plug it into a different port, the Device number (and potentially the Bus number) will change. - Vendor and Product ID:
ID 05ac:024fis a globally unique hardware identifier. The first four characters (05ac) identify the manufacturer (Apple), and the last four (024f) identify the specific product (Keyboard). If you are struggling to find drivers, searching the internet for this exact ID string is highly effective. - Plain Text Description: The end of the line provides a human-readable description (e.g., Logitech Unifying Receiver), making it easy to spot the device you are looking for.
Getting Detailed Hardware Information (Verbose Mode)
If you need deeper technical details—such as power consumption, endpoint descriptors, or supported USB speeds (USB 2.0 vs USB 3.0)—you can run the command in verbose mode.
Type the following command and press Enter:
sudo lsusb -v
Note: Because this queries deep hardware states, you must use sudo to run it with administrative privileges.
This will generate a massive amount of output. It is highly recommended to pipe this command into less (e.g., sudo lsusb -v | less) so you can scroll through the data page by page.
Troubleshooting Steps
If you plug in a flash drive and run lsusb, but the device does not appear in the list at all, the issue is not a missing driver or a mounting error. The problem is hardware-level. Check the cable, try a different USB port on your machine, or test the device on another computer to determine if the hardware itself has failed.