22

I would like to know if my desktop computer supports USB 3.0, but from the output below this seems unlikely.

I get the following output from lspci:

root@liv-HP-Compaq-dc7900:/home/liv# lspci -v | grep -i usb
00:1a.0 USB controller: Intel Corporation 82801JD/DO (ICH10 Family) USB UHCI Controller #4 (rev 02) (prog-if 00 [UHCI])
00:1a.1 USB controller: Intel Corporation 82801JD/DO (ICH10 Family) USB UHCI Controller #5 (rev 02) (prog-if 00 [UHCI])
00:1a.2 USB controller: Intel Corporation 82801JD/DO (ICH10 Family) USB UHCI Controller #6 (rev 02) (prog-if 00 [UHCI])
00:1a.7 USB controller: Intel Corporation 82801JD/DO (ICH10 Family) USB2 EHCI Controller #2 (rev 02) (prog-if 20 [EHCI])
00:1d.0 USB controller: Intel Corporation 82801JD/DO (ICH10 Family) USB UHCI Controller #1 (rev 02) (prog-if 00 [UHCI])
00:1d.1 USB controller: Intel Corporation 82801JD/DO (ICH10 Family) USB UHCI Controller #2 (rev 02) (prog-if 00 [UHCI])
00:1d.2 USB controller: Intel Corporation 82801JD/DO (ICH10 Family) USB UHCI Controller #3 (rev 02) (prog-if 00 [UHCI])
00:1d.7 USB controller: Intel Corporation 82801JD/DO (ICH10 Family) USB2 EHCI Controller #1 (rev 02) (prog-if 20 [EHCI])

And from lsusb:

root@liv-HP-Compaq-dc7900:/home/liv# lsusb 
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:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 0cf3:9271 Atheros Communications, Inc. AR9271 802.11n
Bus 004 Device 002: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 002 Device 004: ID 090c:1000 Silicon Motion, Inc. - Taiwan (formerly Feiya Technology Corp.) 64MB QDI U2 DISK

Following All USB ports detected as USB 1.0, not USB 2.0, I'm also posting output of lsusb -t:

root@liv-HP-Compaq-dc7900:/home/liv# lsusb -t
/:  Bus 08.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 07.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 06.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 05.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
    |__ Port 2: Dev 2, If 0, Class=HID, Driver=usbhid, 12M
    |__ Port 2: Dev 2, If 1, Class=HID, Driver=usbhid, 12M
    |__ Port 2: Dev 2, If 2, Class=HID, Driver=usbhid, 12M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/6p, 480M
    |__ Port 5: Dev 6, If 0, Class=stor., Driver=usb-storage, 480M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/6p, 480M
    |__ Port 3: Dev 2, If 0, Class=vend., Driver=ath9k_htc, 480M

Do I understand correctly that only two slots support USB 2.0? And if so, how can I pinpoint exactly which physical slot supports USB 2.0?

2 Answers 2

21

According to the Wikipedia page on USB:

Colors

Ports and connectors are often color coded to distinguish different functions. These colors are not part of the USB specification and can vary between manufacturers.

- USB 1.x               White
- USB 2.0               Black, sometimes white
- USB 3.0               Blue
- Sleep-and-charge      Yellow or red

As an additional identifier if you look at the USB 3.0 Wikipedia page:

First introduced in 2008, USB 3.0 adds a new transfer mode called "SuperSpeed," (distinguishable from USB 2.0 by either the blue colour of the port or the initials SS)

as well as this:

Since USB 2.0 and USB 3.0 ports may coexist on the same machine and they look similar, the Standard-A USB 3.0 connector has a blue insert (Pantone 300C color). The same color-coding applies to the USB 3.0 Standard-A plug.

As to the cabling (and sometimes the ports themselves, notice the "SS" on the cabling, it stands for Super Speed which is the naming for 3.0 USB.

                                       ss of SS

From the command line?

lsusb

You can also use lsusb to identify which ports are rated as USB 2 vs. 3 like so:

$ sudo lsusb -v | grep -iE "Bus|^Device Desc|bcdusb"
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Device Descriptor:
  bcdUSB               2.00
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Device Descriptor:
  bcdUSB               2.00
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Device Descriptor:
  bcdUSB               1.10
...
...
Bus 010 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Device Descriptor:
  bcdUSB               3.00

NOTE: each device that has a 1.10 is one of the typically yellow USB ports that are always powered on.

lspci

You can also do something similar with lspci.

$ sudo lspci | grep USB
00:1a.0 USB controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #4
00:1a.1 USB controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #5
00:1a.2 USB controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #6
00:1a.7 USB controller: Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #2
00:1d.0 USB controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #1
00:1d.1 USB controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #2
00:1d.2 USB controller: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #3
00:1d.7 USB controller: Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #1
02:00.0 USB controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 03)

Again in the output, ports marked as USB are the always powered on type (aka. Sleep-and-charge ports), while USB2 and USB 3.0 are marked accordingly.

8
  • What does "always powered on" type mean?
    – landroni
    Feb 2, 2014 at 15:06
  • 1
    @landroni - when the laptop or system is suspended or turned off, these ports are still powered. They're for charging devices, primarily.
    – slm
    Feb 2, 2014 at 15:10
  • @landroni - to answer your Q about if you system has USB 3, the outpu you provided would say no. But keep this in mind. I have 2 identical systems, one is running CentOS 5 and the other 6. The system has USB 3 ports, yet CentOS 5 cannot make use of them, while CentOS 6 can, based on the commands I showed in my A.
    – slm
    Feb 2, 2014 at 15:12
  • Does this mean that USB controllers are slower than USB2? (Sorry, I'm still trying to make sense out of all this output.)
    – landroni
    Feb 2, 2014 at 15:26
  • @landroni - Yes. I believe they're regular 1.1 USB ports, based on the output from lsusb above, from a perf. standpoint.
    – slm
    Feb 2, 2014 at 16:42
10

There are a number of questions.

To the first bunch of questions, your computer's chipset doesn't support USB3. You could add a plugin card that provides USB3 ports - in that case, only the ports provided on the card are USB3, while your existing ports remain USB2. See http://www.newegg.com/Product/Product.aspx?Item=N82E16815166026 (for a laptop) or http://www.newegg.com/Product/Product.aspx?Item=N82E16839314014 (for a desktop computer) as example.

As to your last question, which ports are USB1 and which are USB2: All ports are both.

The USB1 (UHCI) controllers are called "companion controllers" in the USB standard. By default, all ports are routed there (for compatibility with operating systems without EHCI driver), but in a way that the USB2 (EHCI) controller can take over if the USB driver detects a USB2 device.

This means that when you attach a USB1 device (eg. a keyboard) and a USB2 device (eg. a thumb drive) to the same port, they will appear at different locations in the lsusb output. The USB2 device will end up at an EHCI controller while the USB1 device ends up at an UHCI controller. There is no 1:1 relation between physical ports and controllers.

You can determine the mode a device is operating under in lsusb in the device line itself: Port 2: Dev 2, If 0, Class=HID, Driver=usbhid, 12M, 12M means 12MBit/s = USB1, 480M = 480MBit/s = USB2, 5000M = 5000MBit/s = USB3.

It's different with USB3 since it comes with a different port design - 9 lines in two rows instead of 4 in one, and many devices come with dedicated USB3 ports and some additional USB2 ports (since they're cheaper).

To easily identify them, the USB3 standard mandates that USB3 ports must have a blue insert.

6
  • Very interesting! When you say that the "computer's chipset doesn't support [USB3]", do you mean that there are no USB3 slots, or that the motherboard is incapable of understanding USB3? In principle, would there be a way to add a USB3 controller to a desktop computer?
    – landroni
    Feb 2, 2014 at 18:46
  • 1
    The motherboard is incapable of supporting USB3. You could add a USB3 card to add support (and there won't be USB3 ports either - why should they add those, even assuming that they already existed when the motherboard was designed?) In that case you have one or two USB3 ports located on the card, and the old USB2 ports "as usual", USB2-only. For examples, see newegg.com/Product/Product.aspx?Item=N82E16815166026 (laptop) or newegg.com/Product/Product.aspx?Item=N82E16839314014 (desktop computer) Feb 2, 2014 at 19:03
  • Another question: "The USB2 device will end up at an EHCI controller while the USB1 device ends up at an UHCI controller.". Does this mean that once I plug in a device I can verify if it operates under USB1 or USB2 simply by inspecting lsusb -t and checking if the device uses EHCI and advertises 480MB (take the usb-storage device in the OP)?
    – landroni
    Feb 3, 2014 at 6:35
  • 1
    You can determine the mode a device is operating under in lsusb in the device line itself: "Port 2: Dev 2, If 0, Class=HID, Driver=usbhid, 12M", 12M means 12MBit/s = USB1, 480M = 480MBit/s = USB2, 5000M = 5000MBit/s = USB3. Feb 3, 2014 at 7:44
  • Thanks, this answers my question. As far as I go the two comments you made here are worth including in the body of the answer itself.
    – landroni
    Feb 3, 2014 at 8:20

You must log in to answer this question.

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