Skip to main content
1 of 2
Uberhumus
  • 173
  • 2
  • 11

How do I read the output of the `usb-devices` command?

I'm trying to debug a USB issue on an Ubuntu 22.04. I've come across the usb-devices command. However I do not understand the output. I've read the man page, and it says:

The output of the script is similar to the usb/devices file available either under /proc/bus (if usbfs is mounted), or under /sys/kernel/debug (if debugfs is mounted there). The script is primarily intended to be used if the file is not available. In contrast to the usb/devices file, this script only lists active interfaces (those marked with a "*" in the usb/devices file) and their endpoints. Be advised that there can be differences in the way information is sorted, as well as in the format of the output.

However I am not able to find a clear guide on how to read the output of those files either. What follows is example output from a different machine:

D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=045e ProdID=082c Rev=01.00
S:  Manufacturer=Microsoft
S:  Product=Microsoft Ergonomic Keyboard
S:  SerialNumber=601135501321
C:  #Ifs= 2 Cfg#= 1 Atr=a0 MxPwr=100mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=01 Driver=usbhid
E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=10ms
I:  If#= 1 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=00 Prot=00 Driver=usbhid
E:  Ad=82(I) Atr=03(Int.) MxPS=   8 Ivl=10ms

How do I read this? What do the initials mean?

Uberhumus
  • 173
  • 2
  • 11