102

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?

7 Answers 7

109

lsusb does show you whether the kernel sees usb 3.0 support.

Contrast this non-USB3 system:

$ lsusb 
Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 1210:2604 DigiTech 
Bus 002 Device 003: ID 0a5c:219c Broadcom Corp. 

with this one, which does support USB3:

$ lsusb 
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 08ff:168b AuthenTec, Inc. 
Bus 001 Device 004: ID 04f2:b1d6 Chicony Electronics Co., Ltd 
Bus 002 Device 015: ID 0cf3:3005 Atheros Communications, Inc. AR3011 Bluetooth

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:

Identifying USB 3.0 Ports

1
  • 2
    Sometimes when the name doesn't show USB3.0, you can use lsusb -t (see Bain's answer) or lsusb -v Of course you can copy a file and if it exceeds 480Mbps or 60MB/s transfer speed then it should be >USB2.0 (I've found sometimes lsusb doesn't show the versions correctly for my devices - they say 480M but I can copy faster than that.)
    – pd12
    Apr 2, 2016 at 9:38
29

USB host controllers are PCI devices, so you can view them with lspci. Look for 'xHCI' which is USB3:

$ lspci | grep USB
00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB xHCI Host Controller (rev 04)
00:1a.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #2 (rev 04)
00:1d.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset Family USB Enhanced Host Controller #1 (rev 04)

lsusb -t will also show any xhci controllers or hubs:

$ lsusb -t | grep xhci
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M

The operating speed is shown at the end of each line. USB3 should be 5000M.

27

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:

I have read many places that the UBS 3.0 ports are blue, but that is not true in my experiences. I have a Dell Latitude E6430 that does have two 2.0 USB ports and two 3.0 USB ports. They are labeled with the above mentioned SS marking, but there is no blue parts of any kind visible from the outside of the laptop.

I have been researching this subject for a bit and I'm seeing the, sometimes condescending, but not in this case, comments about just looking. They are not always blue and as a matter of fact I'm a software test engineer and I work with numerous computers through the day and I have yet to find one where the port had any blue showing externally. I have seen a device with some blue but not the computer port.

Thanks for listening!

4
  • 13
    My Lenovo Thinkpad X240 also comes with two USB 3.0 ports and none of them is blue, they look exactly like every other USB port. They are labeled “SS” for “SuperSpeed”, but they are not blue.
    – dessert
    Sep 7, 2017 at 13:55
  • @dessert Same here, with a Dell Inspiron. May 26, 2018 at 22:18
  • USB 3.x ports will not always be blue but they will always have the five extra contacts required for USB 3.x data. Close inspection of the port should reveal these contacts. Looking at a known USB 3.x port for comparison should be helpful.
    – MacGuffin
    Dec 6, 2021 at 2:10
  • My Dell Inspiron has USB 3.0 port, and none of them has any kind of blue color, they are black inside. But they have the "SS USB" logo (SS letters followed by the USB trident)
    – Luciano
    May 5, 2022 at 16:40
15

To check your USB versions just type:

sudo lsusb -v | grep -i bcdusb
2
  • Super easy answer
    – Bonn
    Jul 23, 2019 at 16:11
  • The best answer!
    – RedEyed
    Aug 27, 2019 at 18:30
11

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,

USBView is a small GTK application to show what the device tree of the USB bus looks like. It shows...the topology of the USB bus. It also displays information on each individual device on the bus.

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

sudo apt-get install git build-essential libgtk2.0-dev libgtk-3-dev

Then enter

git clone git://github.com/gregkh/usbview.git

and cd to the usbview folder and run

./autogen.sh && ./configure

and then

make

You can either run sudo make install or sudo checkinstall, depending which you use.

When you run the program, you will need to use gksudo because of the probing it does:

gksudo usbview

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.

enter image description here

6
  • 1
    cool app, but I never install from sources unless I contribute to the application.
    – sds
    Nov 15, 2012 at 18:23
  • 1
    usbview is available in the universe repository since 14.04: packages.ubuntu.com/usbview
    – hfs
    Jul 11, 2014 at 19:30
  • 1
    This looks like simply a graphical presentation of the text returned by lsusb and lspci, and installing an app just to answer this question seems a bit over the top. However, for repeated use, this does look like a nice tool. Aug 21, 2015 at 21:40
  • 1
    ./autogen.sh && ./configure is producing bash: ./autogen.sh: No such file or directory Apr 13, 2017 at 7:30
  • 1
    @PeterDz: I had errors because I wasn't running it with sudo. Don't know if this was your issue as well. Invoking with $ pkexec usbview works. (gksudo doesn't work in 20.04)
    – Daniel
    Feb 28, 2021 at 14:44
6

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 run lsusb -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.)

4

Response from Zanna above is wonderful if you don't have a lot of USB device, but it can be improved like that:

$ sudo lsusb -v 2>/dev/null | grep -e "^Bus\|bcdUSB"
Bus 002 Device 002: ID 0781:5580 SanDisk Corp. SDCZ80 Flash Drive
  bcdUSB               3.00
Bus 001 Device 002: ID 046d:c534 Logitech, Inc. Unifying Receiver
  bcdUSB               2.00
Bus 001 Device 003: ID 5986:211c Acer, Inc HD Webcam
  bcdUSB               2.01
(...)

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

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .