When I was young, there was USB 1.1. It came in two different type of connectors, USB-A on the computer side and USB-B on the device side. The USB-A and USB-B look like this:
Figure based on a picture by GeroZ, licensed under CC-BY-SA 3.0.
Eventually there was USB 2.0 coming out, it offered much more speed (480 Mbit/s) and was finally suitable for external hard drives. The power output was still very low, so one could not really power an external hard drive with it.
The connectors were still the same, until smaller devices came out. There is no point in having a full-size USB-B connector in a cell phone. This is where the USB Mini-B connector came into play.
Photo by Anıl Öztaş, licensed under CC-BY-SA 3.0.
I have had it on a bunch of devices. For instance my CF card reader had it, my Canon EOS 350D (from like 2005), and also an older action cam. It was rather prevalent with smaller devices.
The drive towards thinner devices eventually meant that the Micro-B connector was still so thick. So the Micro-B was standarized. This is the one that most phones eventually had, and it became so ubiquitous that one could easily borrow a charger or charge cable from somebody else. That was really nice!
Photo by masamic, licensed under CC-BY-SA 3.0.
Also everything had the same USB standard, so if the connector would fit, it would work. That was a really simple rule. Also one could look at the product images to see which connector a device had.
We then got USB 3.0 with a 5 Gbit/s data rate. This was really cool, as it now became competitive to SATA 3, and a slew of new possibilities came with it. But not all devices had USB, so one could not magically connect everything just because the data rate was high enough.
The new USB standard also brought a new B-type connector with it.
Photo by Anıl Öztaş, licensed under CC-BY-SA 3.0.
Somewhat in parallel we got the USB-C type connector. This one is even slimmer than the Micro-B and it promises to be reversible. This way one could plug it without having to look for the orientation.
Photo by Santeri Viinamäki, licensed under CC-BY-SA 4.0.
With that came the further evolution of the USB 3 standard, and this is where I start to get annoyed. Of course the idea of USB has always been to connect all possible devices with the same connector. But there are just fundamental differences in devices. There are some which need high power, others need huge data rates. Displays are such cases, a 1920×1080 pixel screen at 60 Hz needs around 2.8 Gbit/s. Take a 5k display and one is at 19.8 Gbit/s. These need the thicker DisplayPort cables. Power delivery also needs slightly thicker cables to transport the currents. But when you just want to connect a mouse or keyboard, there is no need for high data rate or high currents. You wouldn't want a DisplayPort cable for your mouse.
So what do they do? There are USB-C cables with just five wires as one had with USB 2.0. They are the USB 2.0 Type-C cables. And then there are fully connected USB-C cables compatible with much more. At this point you might have a USB-C cable which only supports USB 2.0, whereas other cables might actually support more.
But eventually USB 3.1 came out in computers. This increased the data rate to 10 Gbit/s, making it twice as fast as before. This is fine, but they did not only name the new standard “USB 3.1”, but actually also included the previous standard in there. This meant that “USB 3.0” was now “USB 3.1 Gen 1” and the actual new speed level was called “USB 3.1 Gen 2”. This means that if some device supports “USB 3.1”, it is not entirely clear whether it is capable of 5 or 10 Gbit/s. They did the same thing with USB 3.2, where the old ones got named “USB 3.2 Gen 1” and “USB 3.2 Gen 2”. And the latest version? “USB 3.2 Gen 2×2”. Fuck yeah!
It somewhat makes sense, the new USB 3.2 specification adds a transfer mode where two pairs of lanes in the cables are used. But one needs a fully connected cable for that. If one uses a cable where only one pair is connected, then it will only yield half the speed. This might be annoying for an external hard drive, but it will be a breaker for an external screen if the native resolution is not supported any more.
But it's more complicated than that. USB 3.1 Gen 1 has a slightly different transfer protocol than USB 3.0, so it can be slightly faster if both devices support that. But USB 3.1 Gen 2 and USB 3.2 Gen 2 are exactly the same. So these are the different levels:
- USB 3.0
- USB 3.1 Gen 1, USB 3.2 Gen 1, (almost the same as USB 3.0)
- USB 3.1 Gen 2, USB 3.2 Gen 2
- USB 3.2 Gen 2×2
USB 3.2 Gen 2×2 still cannot do everything. It can power a 4k display, but it cannot power a 5k display. For that one needs to have Thunderbolt 3, which has the same USB-C connector as USB 3.2 has. That can drive 40 Gbit/s and therefore can also drive the biggest docking stations and screens. In addition to that, there are various alternate modes which are supported. These are indicated with little icons to indicate whether the port supports a higher data rate, DisplayPort Alterate Mode, Thunderbolt or Power Delivery. Basically one now has the USB-C connector, but they are not really the same at all.
I have a ThinkPad T490 with Intel Core i7-8000. According to Lenovo, it has two USB 3.1 Gen 1 ports with an USB-A connector. And it has two USB-C ports. The left one is USB 3.1 Gen 1 with DisplayPort and Power Delivery, the right one is USB 3.1 Gen 2 with Thunderbolt 3, DisplayPower and Power Delivery. This means that one charge the laptop on both ports, but a fast dock only goes on the right port.
Soon I will get a ThinkPad T14 with AMD Ryzen 7-3000. That will have two USB 3.1 Gen 1 ports with USB-A connector and two “USB-C Gen 2”, which are going to be USB 3.2 Gen 2 with a USB-C connector. I really hope that they will be compatible with the USB-C dock that I have and also support DisplayPort on both of the ports. I will have to see, because I just don't understand it from the hardware specifications listed on Lenovo's website. And that's my grieve with USB, that it just so complicated to figure out what a port can actually deliver.