How to tell if my USB ports are 1.1 or 2.0 for different OSes?

In the same vein as this question, how do you determine what speed the USB ports are on your machine with different OSes installed?

  • Windows XP
  • Windows Vista
  • Windows 7
  • Mac OS X
  • Linux (Ubuntu)
  • etc.

The way I check for Windows is Start → Run → devmgmt.msc → Universal Serial Bus controllers -> (expand).

  • If there's one that says "Enhanced Host Controller" then it has 2.0.
  • If they're all "Universal Host Controller" assume 1.1.

At least that's how it looks in Windows Vista, Server 2008 and XP for me. Windows 2000 Pro says something like USB 2.0 root.


On Linux

  • USB 2.0 will use the ehci_hcd module
  • USB 1.x will use either ohci_hcd or uhci_hcd modules.

You can find out which module is being used by lspci -v or lshw.

Perhaps a better method (if you're interested in particular ports/devices) is to use "lsusb -t"


On OSX, you can go launch System Profiler and look for USB. If you have a High-Speed bus, that means USB 2.0.

enter image description here

Also, the speed is shown, here it's 480 Mb/sec, indicating USB 2.0

enter image description here

Also this may help:

$ ioreg -k IOUserClientClass | grep UserClientClass | grep USBDeviceUserClient | head -1 | sed -e 's/.* = //'
"IOUSBDeviceUserClientV2"