When it comes to providing data about a computer's USB structure and all connected devices, Windows doesn't do a great job. In fact, its error messages can be very cryptic when there's a problem, leaving the user in a desert of information. Fortunately, there are solutions like UsbTreeView, an application that presents the entire USB tree of the computer in a clean and simple interface, with technical details about controllers, hubs, and every USB element detected in the system.

How to Identify All USB Devices on Your PC
UsbTreeView

Our love-hate relationship with the USB standard seems to have entered a certain phase of stability thanks to the Type-C connector, but there are still many dreadful controllers, low-quality cables, and ultra-generic gadgets that fail on the second or third use. Personally, I'm already on my fourth USB cable this year for my Arduino projects, and a SATA to USB adapter recently turned into a festival of errors.

For a moment I suspected something was wrong with my computer's ports, but asking Windows for information about the USB structure is a waste of time. That's how I came across UsbTreeView, an application developed by Uwe Sieber, whom we know better in the retro space for his DOS and Windows 9x tools. However, UsbTreeView works perfectly on any version of Windows from 2000 onward, and it has no dependencies.

How to identify controllers and USB devices with UsbTreeView

How to Identify All USB Devices on Your PC
If it can be read, UsbTreeView will report it

Since it's an information tool, it's enough to unzip the file and double-click its executable. On the left side of the interface, you can see the complete USB structure on the computer, the type of protocol on controllers and hubs, the connected devices, and the available ports (remember, they are not necessarily physical).

A click on one of the devices will display all its data on the right side of the interface. This report can be a simple summary, or a real waterfall of information with maximum and obtained speeds announced (say, a USB 3.0 device connected to a 2.0 port), descriptions, classes, general connection status, driver version and its path on disk, and other low-level details.

How to Identify All USB Devices on Your PC
This mouse is a composite USB device because it has buttons that basically function as keyboard commands

The official UsbTreeView page offers several examples worth studying, but the most important one is that of composite USB devices. Why? Because that's the profile adopted by BadUSB gadgets. Now, a composite USB device is not a bad thing: For example, my mouse and the two Arduino devices I have connected are configured that way, but if you see something you don't recognize, you might want to study it more closely. UsbTreeView takes up less than a megabyte, and it's completely portable.

Official site and download: Click here