USB Device Tree Viewer is something like a USB-oriented Device Manager, showing all your USB controllers and hubs and giving you a vast amount of detail on everything connected to them.
The program has a straightforward two-pane interface. On the left is a tree representing your computer, USB controllers, hubs and devices. Clicking any of these then displays a text report on the right with more information.
We found this approach immediately provided us with useful data. We could see at a glance that we had two USB-connected devices; a USB key, and a mouse. They were both connected to the same hub. And, curiously, another port on the same hub was highlighted with an exclamation mark icon, indicating a "device general failure", perhaps very helpful if we were troubleshooting.
This is just the start, though. Clicking any of our devices then displayed a lengthy report on it. We discovered our USB storage device's driver, device ID, manufacturer, volume name and mount point, power features, speed requirements, and all kinds of low-level details - more than 80, in total.
Most people won't understand - or even need to know - most of this information, of course (we certainly didn't). But there is useful data here, and it can all be saved as a text report for easy review later.
As a bonus, USB Device Tree Viewer also provides a few right-click options that you can apply to any device: you can remove or restart your hardware, restart the port, or view the device properties (the same information you'd see in Device Manager).
These tools can be useful, but keep in mind that you'll need to run the program as an administrator on Windows Vista or later for them to work. If you forget, USB Device Tree Viewer won't properly detect or explain the problem: you'll just get a cryptic error message which means nothing at all.
New: TreeView highlighting as known from the SysInternals ProcessExplorer
New: On failed 'safe removal' it shows open handles found for the device ID Windows returns as VetoName
New: Shows global registry USB flags under HKLMSYSTEMCurrentControlSetControlUsbFlags and HKLMSYSTEMCurrentControlSetServicesusbhubhubg