It's a bloody goddamned nightmare. For example, a brief review of my devices:
>Phone A. Type-C port limited to USB 2 data speeds but supports HDMI out via DisplayLink.
>Phone B. Type-C port that supports USB 3.1 speeds but doesn't do video out.
>Tablet A. Type-C port that supports USB 3 speeds but only charges through a MicroUSB port.
>Tablet B. Type-C port that supports USB 3 speeds and charging, but only charges at 0.8 amps through the type-C port and relies on a pogo-pin dock for actual 15-watt charging.
That's not even mentioning all the devices that advertise one thing and then break the standard in a hundred different ways like the Switch.
I don't see your point. Devices are free to support or not support whatever capabilities they want. Having a specific port is no guarantee that the device will use this or that capability offered over that port; mostly it's a guarantee it'll use at least one capability offered by that port.
The problem with USB-C is that many of the cables don't do everything. Nobody else is complaining that the devices don't do everything. Devices have never done everything possible under the communications standards they support.
Would you expect a monitor that supports HDMI2.0, to be a 4K monitor, just because HDMI2.0 supports 4K monitors? I would think not.
> Nobody else is complaining that the devices don't do everything.
Tons of regular consumers think that USB-C is a protocol and frequently complain that things they think should work together don’t, because they’re actually radically different ports electrically that happen to be shaped the same.
Gaming forums are rife with elaborate conspiracy theories behind why Nintendo won’t “just” release an eGPU Dock for the Switch, which it “obviously” “must” support because it’s USB-C and eGPUs have “supported” USB-C for years.
And now, Nintendo has announced a Switch Lite with no TV out (presumably they removed the DisplayPort crossbar IC that does alternate mode muxing with the USB 3.0 signal, to reduce manufacturing costs). But Joe Average Consumer is up in arms, this “must be them sabotaging it in software”, because “video out is a required part of the USB-C standard, this wouldn’t even save them any money, USB-C always physically supports video out”.
The average consumer in no way understands that USB-C is just a connector shape that a bunch of different incompatible things use. They think that, like almost all previous ports, the shape indicates a common protocol that is shared by things that have that shape. And they are absolutely complaining about a lack of what they perceive should be compatibility.
If a device has an HDMI port I know I can use that to connect a display. I don't know details like the supported resolutions, but at least I know that's a supported use case.
If I notice that a device has a USB-C port all I really learned is that it has a USB-C port. Who knows what it does.
But that's most port standards that have ever existed.
What can a device do with a parallel port? A serial port? A SCSI port? A Firewire port? Who knows? It's up to the device. It can certainly send signals over that port, of some kind. But what kind of signals? Up to the device. The host can hopefully probe a device-class out of the client and stand up an appropriate driver to talk to it.
A CD player has a 3.5mm audio jack. Pop quiz: does it support SPDIF? In fact, is it line-level or phono-level output? (An important question to avoid blowing out your equipment!) Answer, in both cases: who knows?
You find a random CAT-6 drop in the wall. Does it contain Ethernet? Does it contain Power-over-Ethernet? Does it contain both? No way to know without asking someone or plugging it in.
Or, for a slightly more interesting example of a "port": what can a random peripheral board do with a motherboard's PCI-e (or PCI, or ISA, or any historical equivalent) port? Well, whatever it likes. Does anyone expect every PCI card to be simultaneously a network card, graphics card, sound card, RAID card, etc., just because those are all things PCI can carry? Of course not. PCI-e is a single port, and a single protocol (sort of), but that doesn't mean it's a single set of exposed capabilities.
There's a difference. In most of those cases, you can expect to pull out any fitting cable for that port and the device will do what it's meant to do. There was a little confusion with 3.5mm jack, but the plugs were trivially inspectable (you could count how many connections they had).
With USB-C, whether or not a device will do all, some, or any at all of its functions, depends not just on the device, but on what you're connecting it to and which one of the countless types of cables you happen to have, all of which look identical to someone who's not an EE with appropriate equipment.
Makes me think, maybe I should start selling USB-C cable testers, because if old USB taught me anything, is that you can't trust cable manufacturers to not lie, even if the cable standard is as simple as it gets.
I feel like there's some confusion over peripheral support, and host support. What can I do with a serial port? Everything. I can talk to every device that ever used a serial connection. Sure, I might need to write a driver, but that's really a separate issue. There's absolutely no problem with "your serial port does not support <gibberish> so you can't use this particular mouse/printer/random industrial equipment".
With your PCIe example, again - I don't expect every card to do everything. But I do expect every card to work on my computer's PCIe bus.
I think one of the things that makes USB-C particularly problematic here is that "plug it in and find out" can be harmful to devices since devices can draw 100W of power through the port.
> since devices can draw 100W of power through the port
Devices can only draw 100W of power, which is 5A at 20V, after negotiation; before negotiation (or if negotiation fails), only 5V is available, like in the older USB connector types.
I'd be complaining like fuck if I had a mobile device with a USB-C port that can't be used for charging. That's the most ridiculous thing I've heard all day.
> Devices have never done everything possible under the communications standards they support.
Yes they do - that's the point of a communications standard. Any device with a USB 3.0 port will work with any USB peripheral ever, given suitable drivers. Your HDMI example makes no sense because it's backwards; of course I don't expect an HDMI2.0 monitor to be 4K, any more than I expect a flash drive to act as a keyboard - but I absolutely expect a port that supports flash drives to support keyboards, and I expect a computer with an HDMI2.0 port to support 4K monitors.
The departure with USB-C is that it isn't a communications standard. Unlike any previous USB port, having the port is not a guarantee that it will work with any peripheral with that plug. The situation with the cables merely reflects this fundamental usability flaw - even if all cables did everything, assessing compatibility would still be confusing.
Okay so you've a bunch of different devices that have different capabilities - can you also mention the different cables you had to get (I'm just curious).
In my case I have a switch, 2 macbook pros (2018, 2019) and an iPad pro (11.5") and I've not had much of a hard time finding cables, at least for power.
The only cable issue I've run into is that there are cheap MicroUSB to type-C adapters that are sold without a necessary 56Kohm resistor, which limits its functionality. It won't charge at high speed and it also prevents type-C devices from using OTG mode to talk to accessories like flash drives, mice, and cameras. There are also a few quirky combinations, like the fact a OnePlus Dash charger will absolutely refuse to provide power to a Switch while most phone chargers will power the handheld portion just fine if not the dock. A little too well in fact, as I had a RAVPower "40W 3A" car charger melt while using it to power a running Switch in the car.
>Phone A. Type-C port limited to USB 2 data speeds but supports HDMI out via DisplayLink.
>Phone B. Type-C port that supports USB 3.1 speeds but doesn't do video out.
>Tablet A. Type-C port that supports USB 3 speeds but only charges through a MicroUSB port.
>Tablet B. Type-C port that supports USB 3 speeds and charging, but only charges at 0.8 amps through the type-C port and relies on a pogo-pin dock for actual 15-watt charging.
That's not even mentioning all the devices that advertise one thing and then break the standard in a hundred different ways like the Switch.