I'm running Ubuntu on a Dell Chromebook 11, which has two USB 3 ports, and an SD card reader. I was trying to establish whether the SD card reader would be capable of USB 3 speeds (and thus whether it's worth buying a 130MB/s SD card), but I can't tell whether it's physically connected to USB 3 internally.
One way I thought I might do this is to run lsusb after plugging in an SD card – however, if I plug in a USB2 device to one of the USB 3 ports, it comes up as being connected to the USB 2 hub anyway. If I put a USB 3 device into the very same port, it shows as a being connected to the USB 3 hub.
- Why does lsusb show USB2 devices connected to a USB3 port as being attached to the USB 2 root?
- Is there a way to get the physical rather than logical mapping of USB ports to hubs?
- Coming back to my original reason for looking into this, is there a way to tell what speed the internal SD card reader is capable of before buying one?
Best Answer
Answer :
Source: https://en.wikipedia.org/wiki/USB_3.0
For instance, on a machine that contains two 2.0 USB ports and one USB 3.0 port, the output of the
lsusb
command shows:The extra USB 2.0 root hub is part of the USB 3.0 root hub and is available there to provide backward compatibility with USB 2.0 standards. As a result of this, when you connect USB2 devices into USB3 port, they are shown connected to 2.0 root hub.
Answer: Use
lsusb -t
Source:
lsusb
man pageThis can be done by using the following steps. Here we are considering a laptop with a built-in card reader from Alcor Micro Corp.
Use
lsusb
commandFind out the Bus number of the card reader. In this example it is
001
Use
lsusb -t
At the end of each line, the negotiated communication speed for each device is shown in Mbits/s.
The 480Mbit/s is called "Hi-Speed" and is used with USB2.0.
For USB 3.0, the negotiated communication speed is 5000Mbit/s called "SuperSpeed" (5Gbit/s)
Source: https://en.wikipedia.org/wiki/USB
Result: the card reader from Alcor Micro Corp supports USB 2.0 standards and not USB 3.0 standards as 480M was mentioned in the output.