Find out the speed of the usb ports

This article illustrates how to find out the maximum speed reachable by Acme boards USB ports

A quick and easy way to check the USB speed is the command:

lsusb -t 

which provides output like this on the Roadrunner SOM:

/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=at91_ohci/3p, 12M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=atmel-ehci/3p, 480M

that means that inside the Microchip SAMA5D27 MPU exists an Open Host Controller Interface (OHCI) that support the USB 1.1 standard and an Enhanced Host Controller Interface (EHCI) that support the USB 2.0 standard.

Plugging an USB pen drive the result obtained will become:

/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=at91_ohci/3p, 12M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=atmel-ehci/3p, 480M
    |__ Port 1: Dev 6, If 0, Class=Mass Storage, Driver=usb-storage, 480M
    |__ Port 2: Dev 5, If 0, Class=Mass Storage, Driver=usb-storage, 480M

to indicate that the two USB devices used are USB 2.0 and are at 480 Megabits per second (Mbps). This is only a speed theoretically achievable by the device.

To find out the real speed I have used this commands:

cd
mkdir mnt
sudo mount -o gid=1000,uid=1000 /dev/sda1 mnt
dd bs=1M count=128 < /dev/urandom > mnt/test128MB.bin

and the result was:

...
134217728 bytes (134 MB, 128 MiB) copied, 12.8359 s, 10.5 MB/s

so:

10.5 MB/s * 8 = 84 Mbps

on a Linux PC in the same condition (USB 2.0 hi-speed and same USB pen drive) the final result is

17.8 MB/s * 8 = 142,4 Mbps

USB speeds

The Universal Serial Bus (USB) specification stipulates five data transfer rates:

USB 1.0/Low-Speed: 1.5 Megabits per second (Mbps)
USB 1.1/Full-Speed: 12 Mbps.
USB 2.0/Hi-Speed: 480 Mbps.
USB 3.0/SuperSpeed: 5 Gbps.
USB 3.1/SuperSpeed: 10 Gbps.

Links