When USB-C Nightmares Come True
I remember helping ‘tech-suspicious’ individuals who didn’t understand USBs back in 2000s. The usual responses were either awe, which I wholeheartedly agreed at the time, or disgust, thinking this will be an escape from the Matrix. It wasn’t, and it isn’t.
USBs are magical in that it has a strong merit in its principle alone. One protocol to rule them all. The only problem to previous iterations were the USB-A connectors, the infamous upside-down superstate. But to be fair to the USB-A, we got those memes because it worked in every other case. Everyone could share a laugh after being frustrated for few seconds. USB-C, on the other hand, is just the black swan of the family. It’s not certifiably backward compatible; it’s not certifiably carrying USB protocols; it may not even be a USB at all.
To reiterate, USB-C does rule them all. In theory, you could have one USB-C cable coming out of a computer. It delivers power, data, video, audio, and etc. USB-C can replace all the other connectors and cables —with caveats, of course. Like Sauron in the Lord of the Rings, there isn’t just one USB. There are, in total, 8 different USB-C applications available determined by: whether or not it carries USB protocol, whether or not it carries USB Alternate Mode, or whether or not it carries USB-PD. Needless to say this problem is only exacerbated by improper implementations, like in Raspberry Pi 4, and Nintendo Switch. Let’s not talk about mistakes though. 8 different types are crazy enough as is. And we are not going to talk about each category either, but rather each problem.
The first item on the agenda should read: why the heck USB-IF decided to use one symbol, one logo, one hardware, for everything. If there are three things to look out for, they should have used three logos and/or hardware to make it more obvious. (e.g. laundry symbols) Heck, copy a nutrition facts table for all I care. And not just for the port, for anything and everything that can utilize USB-C in its implementations. USB-C should’ve been designed with baby shape puzzles in mind. One should not simply plug in a cable without proper PD ratings into a power plug. They inherently made the same mistake from USB-A to render these vital information less visible to a user. The only sane solution to this obvious problem is to rate your own cables and ports every time.
USB Alternate Mode, or USB hardware only mode as I’d like to call it, is the manifestation of Satan itself to torment tech support. There, I’ve said it. Too many times I hear complaints such as ‘why is this flip-flop USB not working’. That is, because, USB-C does not guarantee C looking ports and cables to be actually USB. Any manufacturers can take the same USB hardwares to deliver the protocols of their likings: DisplayPort, HDMI, Thunderbolt, and etc. This means that the USB-C ports you are looking at may not be the same USB-C ports I am describing. This is an open invitation for disasters. Most people don’t even understand the concept of daisy-chaining. Troubleshooting USB-C usually goes like this: Have you tried turning it off and on again? Have you also tried flipping the cable around? What about a different cable? Perhaps another port?
Charging via USB is a mess of its own. USB-C can currently provide up to 100W, enough for a laptop. The key here is “up to”. USB-C has been designed so that it doesn’t work like regular wall plug. It has a negotiation process between the devices, and the USB doesn’t say the requirement on the either ends. If you are lucky, some of your chargers and batteries will lay out wattage it can handle, but not the actual USB-PD versions. And consider yourself extra lucky if your device does say how much power it needs or can draw from USB chargers. Some of them might charge at super slow speed, or never charge at all. Some of them won’t even turn on.
So what exactly did USB-IF wrong? Short answer, they tried to be everything. Long answer, they tried to make a “universal” standard by shifting the goal posts. It’s easy to imagine a common protocol for all devices. USB standards have created one such standard by categorizing 3 needs for a port, and meeting them when requested. But this is not a universal solution. When we the users think of “universal”, we’d expect all ports and cables to be the same, interchangeable. On top of that, USB-IF put little to no effort to communicate these limitations. USB 3.0 may have been an ugly amalgamation of short-sighted add-ons, but at least it was indicative of new technologies with tell-tale signs. You can’t tell if a USB-C will work by looking at it; often you can’t even tell why a USB-C failed after plugging it in. You have to test everything out.
Three logos, or three dots. That’s all it takes. Take some inspirations from laundry symbols. It’s time for engineers to go get real helps from real designers, instead of yawling about drawing not-red red lines or whatever.