USB Standards

dos2unix

Well-Known Member
Joined
May 3, 2019
Messages
3,057
Reaction score
2,784
Credits
26,595

Understanding USB Standards: Speed and Connector Types​

The Universal Serial Bus (USB) has become an essential part of our digital lives, connecting a wide range of devices from keyboards and mice to external hard drives and smartphones. Over the years, USB standards have evolved, offering faster data transfer rates and new connector types. This article will explore the various USB standards, their speeds, and physical connector types, and explain why a fast USB device connected to a slower port will only operate at the slower speed.

USB Standards and Speeds​

  1. USB 1.0 and 1.1: Introduced in 1996 and 1998, respectively, these early versions offered speeds of 1.5 Mbps (Low Speed) and 12 Mbps (Full Speed).
  2. USB 2.0: Released in 2000, USB 2.0, also known as Hi-Speed USB, increased the maximum transfer rate to 480 Mbps. This standard is still widely used today due to its backward compatibility

  3. USB 3.0: Launched in 2008, USB 3.0, or SuperSpeed USB, significantly improved data transfer rates to 5 Gbps. USB 3.0 connectors are often identified by their blue color

  4. USB 3.1: Announced in 2013, USB 3.1 further enhanced speeds to 10 Gbps and introduced the USB Type-C connector, which is reversible and supports better power delivery

  5. USB 3.2: Released in 2017, USB 3.2 introduced multi-lane operation, allowing speeds up to 20 Gbps using two lanes of 10 Gbps each

  6. USB4: Announced in 2019, USB4 supports data transfer rates up to 40 Gbps and is compatible with Thunderbolt 3, making it a significant advancement in peripheral connectivity

USB Connector Types​

  1. USB Type-A: The most recognizable and widely used connector, found on computers, chargers, and hubs.
  2. USB Type-B: Typically used for larger devices like printers and scanners. It has a nearly square shape.
  3. Micro-USB: Commonly used for older smartphones and portable devices. It comes in both Type-A Micro and Type-B Micro variants.
  4. Mini-USB: An older, smaller version of USB-B, used in devices like MP3 players and some cameras.
  5. USB Type-C: The latest standard, known for its reversible design and ability to support high-speed data transfer, power delivery, and video output

Speed Limitations with Mixed USB Standards​

When you connect a fast USB device, such as a USB 3.2 thumb drive, to a slower USB port, like USB 2.0, the data transfer speed will be limited to the maximum speed of the slower port. This is because the communication between the device and the port can only occur at the speed supported by both ends. For example, a USB 3.2 thumb drive connected to a USB 2.0 port will only achieve speeds up to 480 Mbps, the maximum for USB 2.0


Impact on Various USB Devices​

This speed limitation affects all types of USB devices, including:

  • Wi-Fi Adapters: A USB 3.0 Wi-Fi adapter connected to a USB 2.0 port will not perform at its maximum potential, resulting in slower data transfer rates and potentially reduced network performance.
  • Ethernet Adapters: Similarly, a USB 3.0 Ethernet adapter will be limited to USB 2.0 speeds when connected to a USB 2.0 port, affecting network throughput.
  • USB Thumb Drives: As mentioned, a high-speed USB 3.2 thumb drive will only transfer data at USB 2.0 speeds when connected to a USB 2.0 port.
  • External Hard Drives: The performance of USB 3.0 or USB 3.1 external hard drives will be throttled to USB 2.0 speeds if connected to a USB 2.0 port
In conclusion, understanding the various USB standards and their speeds, as well as the types of connectors, is crucial for optimizing the performance of your devices. Always ensure that your devices are connected to ports that support their maximum data transfer rates to take full advantage of their capabilities.
 


Using lsusb in Linux to Identify Connected USB Devices and Their Specifications​

Introduction​

The lsusb command in Linux is a powerful tool for listing USB devices connected to your system. It provides detailed information about each USB device, including the vendor ID, product ID, and device class. This article will guide you through using lsusb to see what devices you have connected and how to determine the types of USB connectors, hubs, and speeds your computer supports.

Basic Usage of lsusb​

To list all USB devices connected to your system, open a terminal and type the following command:

Code:
 lsusb

This will display a list of all USB devices connected to your system. The output will look something like this:

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
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 003: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 001 Device 004: ID 0a5c:21e8 Broadcom Corp. BCM20702A0 Bluetooth 4.0

Each line in the output represents a USB device connected to your system. The first column shows the bus number and device number of the device. The second column shows the vendor ID and product ID of the device. The third column shows the device class and protocol.

Detailed Information with lsusb -v​

To get more detailed information about a specific USB device, you can use the -v (verbose) option with the lsusb command:

Code:
 lsusb -v

This will display detailed information about each USB device, including configuration descriptors, interface descriptors, and endpoint descriptors. The output will be quite lengthy, so you may want to redirect it to a file for easier reading:

Code:
 lsusb -v > usb_info.txt

Identifying USB Connectors, Hubs, and Speeds​

To see what kind of USB connectors, hubs, and speeds your computer supports, you can look at the detailed output from the lsusb -v command. Here are some key points to look for:

  • Bus Number: Indicates the physical USB bus number to which the device is connected.
  • Device Speed: Indicates the speed at which the device is connected (e.g., low speed, full speed, high speed, super speed).
Example output for different speed hubs and devices:

High-Speed USB 2.0 Device​

Bus 001 Device 002: ID 8087:0024 Intel Corp.
Integrated Rate Matching Hub Device Descriptor: bcd
USB 2.00
bDeviceClass 9
Hub b DeviceProtocol 1
Single TT b
MaxPacketSize0 64
idVendor 0x8087 Intel Corp.
idProduct 0x0024 Integrated Rate Matching Hub bcd
Device 0.00
iManufacturer 0
iProduct 0
iSerial 0
bNumConfigurations 1
Configuration Descriptor: bLength 9
bDescriptorType 2
wTotalLength 25
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xe0
MaxPower 100mA
Interface Descriptor: bLength 9
bDescriptorType 4
bInterfaceNumber 0 bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9
Hub bInterfaceSubClass 0
bInterfaceProtocol 0
Full speed (or root) hub iInterface 0
Endpoint Descriptor: bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
wMaxPacketSize 0x0002 1x 2 bytes bInterval 12 [/

SuperSpeed USB 3.0 Device​

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Device
Descriptor: bcd
USB 3.00
bDeviceClass 9 Hub
bDeviceProtocol 3
Single TT
bMaxPacketSize0 64
idVendor 0x1d6b Linux Foundation
idProduct 0x0003 3.0 root hub
bcdDevice 3.00
iManufacturer 3 Linux 5.4.0-42-generic xhci-hcd
iProduct 2 xHCI Host Controller
iSerial 1 0000:00:14.0
bNumConfigurations 1
Configuration Descriptor:
bLength 9 bDescriptorType 2
wTotalLength 31
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xe0 MaxPower 0mA
Interface Descriptor: bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9 Hub
bInterfaceSubClass 0
bInterfaceProtocol 0 Full speed (or root) hub
iInterface 0
Endpoint Descriptor:
bLength 7 b
DescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3 wMaxPacketSize 0x0002 1x 2 bytes
bInterval 12

Conclusion​

Using the lsusb command in Linux, you can easily list all USB devices connected to your system and get detailed information about each device, including the types of USB connectors, hubs, and speeds your computer supports. This can be particularly useful for troubleshooting and ensuring that your devices are connected and functioning correctly.
 
Last year I saw some nice Flash Drives on Amazon...32GB USB 3.1 but stupid me didn't think to check the type...these were C which are totally useless for me...should be A...it always pays to check everything.
1735945030639.gif
 
I've just picked up a 6-pack of adapters off Amazon for around GBP £7.....3 USB-A to USB-C (allows use of USB-A in a USB-C port), and 3 USB-C to USB-A (permits using USB-C in a USB-A port).

Seem to work very nicely. I booted BookWormPup64 from a 256 GB SanDisk Ultra 'Fit' USB 3.2 gen 1 (USB-A) thru the front USB-C port on the big HP desktop rig earlier on. Absolutely no issues whatsoever. These really are the "mutt's nuts", is all I can say! Thoroughly recommended:-


Has Mike's "seal of approval".


Mike. ;)
 
@dos2unix :-

Heh. I see you like your Cruzer 'Glides'..... :D

Only got one of them. Most of mine are the much smaller Ultra 'Fit' models. Always liked SanDisk; despite "issues" with various drives' controller chips over the years, they're good value for money, have decent I/O speeds for a flash drive, and.....they always do "exactly what it says on the tin".

They're fine for what I use 'em for.


Mike. ;)
 
My last computer case has more USB-c ports on the front than USB-A. It still has plenty of USB-A ports on the back (motherboard, not case), but also has a high speed USB-c port on the motherboard also.

USB-c thumb drives are becoming more popular.


My newest Dell XPS, only has USB-c ports, no USB-A at all. ( that's why I had to buy the adapters )

I do have 2 high-speed (USB 3.2) thumb drives, that supposedly do 20gbs. ( when connected to the right port )
For copying large files like iso's, they are really nice.

When using USB 2.0 there is always a noticeable lag. But when using USB 3.2, you can use a Thumb Drive as a
hard drive and there is hardly any noticeable lag.
 
Are there any drawbacks to using a USB-C extension? I have a couple of little USB-C docks (the Pinephone ones) that are handy but the cable that goes to the phone is only about six inches long so I'm thinking a USB-C female to USB-C female adapter would be in order. But would a longer cable limit the bandwidth or cause other problems?
 
The maximum length for a USB C cable is 4 meters. However, you may not get full bandwidth at that length.

They make extenders that basically take the signal and re-amplify it.

If it's just a power cable, you can make it fairly long though the higher power connections may degrade.

At least that's what I recall from when the standard came out. Well, the extenders came later, but you get the idea.

You can certainly have a cable much longer than 6".
 
I didn't suppose there would be a problem but asked because the little dock will support video, wired network and whatever hangs off of the additional USB-A ports. I'm thinking a couple of feet of additional cable would be plenty.
 
Are there any drawbacks to using a USB-C extension? I have a couple of little USB-C docks (the Pinephone ones) that are handy but the cable that goes to the phone is only about six inches long so I'm thinking a USB-C female to USB-C female adapter would be in order. But would a longer cable limit the bandwidth or cause other problems?
@MikeRocor :-

I wouldn't have thought so. Not unless you're going to be running devices and/or applications that demand a LOT of bandwidth.....perhaps, say, running a 'portable' video-editing application from an external flashdrive or portable SSD, and rendering 4K video! But even that probably wouldn't stretch it.

Remember; compared to the bandwidth permitted by the original USB 1.0/1.1 standard, current USB standards are insanely high. The kind of devices Joe Average is going to be using will barely scratch the surface of what the current USB 4.0/USB-C standard is capable of supporting. Yes, video stuff is going to be the highest-demand scenario most people will want, but even there, required bandwidth is often a lot lower than many people suppose.

Example; my Logitech c920 HD 'Pro' webcam is 1080p @ 30 fps, at a maximum resolution of 1920x1080. There's another one, the c922 - for streamers; people using Twitch, for example - that will go up to 1080p @ 60 fps. Yet both are wired for USB 2.0; the 480 MBps maximum bandwidth available is ample for these devices...

The one area where most folks WILL notice the difference is that of file-transfers.

Even allowing for bandwidth "drop-off" over the length of a cable run, I seriously doubt you'll run out of bandwidth unless you're really "pushing it".

I reckon a 1-metre cable would do you just fine.


Mike. ;)
 
Last edited:

Members online


Top