I want to buy an external USB 3.0 drive and I wonder how to figure out whether my laptop has such a port (or only 2.0).
Neither lsusb -v
, nor /proc/bus/input/devices
offers any obvious hints, although the former says a lot of 2.0 root hub
which might imply v2 and not v3. Right?
lsusb
does show you whether the kernel sees usb 3.0 support.Contrast this non-USB3 system:
with this one, which does support USB3:
a "3.0 root hub" is present for USB3.
That said, I concur that the best way to determine if your hardware is USB3 is by looking at the ports themselves; USB3 is usually color-coded and is blue, and has some extra conductors (which are however a bit difficult to see). If a USB 3.0 port is not blue, you will most likely see the phrase "SS" for super speed next to it, like this:
USB 3 ports are blue. Just look at the ports on your laptop. If they aren't blue, they aren't USB 3 ports. There is probably some terminal command to determine this but just visually inspecting the ports will be the simplest.
Edit: An anonymous user suggested a helpful edit which was rejected, but I think it's helpful as it proves my answer isn't 100% correct. I'll copy it verbatim below and hope it proves useful:
USB host controllers are PCI devices, so you can view them with
lspci
. Look for 'xHCI' which is USB3:lsusb -t
will also show any xhci controllers or hubs:The operating speed is shown at the end of each line. USB3 should be 5000M.
To check your USB versions just type:
You should be able to find out by using a program such as
UsbView
, which gives very detailed and technical information. As noted on the github site,It has recently been updated, and is simple to compile and run. Here's how to do it:
First install some essential programs and gtk dependencies with
Then enter
and
cd
to theusbview
folder and runand then
You can either run
sudo make install
orsudo checkinstall
, depending which you use.When you run the program, you will need to use
gksudo
because of the probing it does:You will see a screenshot as below detailing your usb capabilities: the host controllers listed will show the capabilities you have: I have no usb 3 host controller present.
If the output of
lsusb
shows ports with varying USB versios and you're having trouble matching each line to the corresponding USB port of your machine, try the following: Plug in a memory stick at the port in question. Then runlsusb -t
and look for the phrase "Mass Storage". The parent of this node corresponds to the USB port where you plugged in your memory stick. As Bain said, the transfer speed at the end of that line tells you the USB version (USB 1 is 12M, USB 2 is 480M, and USB 3 is 5000M on my machines).(Sorry, I tried to just add a comment to Bain's answer but I don't have enough reputation.)
Response from Zanna above is wonderful if you don't have a lot of USB device, but it can be improved like that:
This will let you know exactly what device is 3.0 and what is 2.0
Here I have a Flash Drive as USB 3.0, and both the mouse receiver and the webcam are USB 2.0
Note that looking at the color/host port is not enough: it can happen, when the drive is not plugged correctly, that it operates as USB 2.0 even when it theoretically could be USB 3.0