Remix.run Logo
crote 20 hours ago

> to a USB 2 only device, a C-C cable looks different to an A-C cable

It does not. The vast majority of sinks have absolutely no knowledge of the cable used.

This is literally device engineers not bothering to read any part of the USB-C spec, or intentionally leaving out a $0.0003 part. And no, that's not a typo - I really do mean "50k unit reel for $15".

mort96 20 hours ago | parent | next [-]

I know how cheap resistors are. I design PCBs as a hobby and occasionally semi-professionally.

Leaving off parts should result in behavior which is identical whether you connect an A-C cable or a C-C cable. Detecting the difference between them should require adding parts.

crote 19 hours ago | parent | next [-]

There is nothing to detect on the sink side, for basic operation. All the smarts are in the power source.

It's like saying USB cables should still carry 10Gbps data when only the VBUS and GND wires are present, because some AliExpress scammers leave out the data wires: you can't leave out trivial core parts and still expect it to work!

mort96 19 hours ago | parent [-]

> There is nothing to detect on the sink side, for basic operation.

I know. You need the detection for the fancy stuff like PD, not for basic operation.

So why does it matter that a resistor is missing on the sink side? It's stupid.

Ajedi32 17 hours ago | parent | next [-]

It is needed for basic operation, because unlike with a A-to-B cable, power bricks plugged into a USB-C cable have no way of knowing whether the other side is also a power supply that will short out if you try to feed it power instead of drawing power from it. A couple resistors in the sink is probably the cheapest possible way of signaling this information to the supply. This isn't PD, it's just a basic requirement to allow having the same connector on both ends of the cable.

seba_dos1 19 hours ago | parent | prev [-]

You already got the answer spelled out several times here in this thread.

Ajedi32 19 hours ago | parent | prev [-]

I don't think you understand the problem. Unlike a USB-A power supply, a USB-C power supply cannot just assume by default that the device you plugged into it is not another power supply. That would risk causing a short and potentially starting things on fire.

I suppose that instead of a $0.01 resistor to request power they could have mandated some kind of (probably more expensive) circuit breaker that detects the short and shuts things off before it causes a fire, but I suspect then instead of broken devices having missing resistors you'd get ones with missing circuit breakers...

It pretty hard (maybe impossible) to design a spec that still works when manufacturers randomly omit critical components for no reason.

NooneAtAll3 19 hours ago | parent | prev [-]

if nobody follows the spec, it's the problem in the spec

why tf does it matter what the other side of the cable is connected to?

crote 19 hours ago | parent | next [-]

> if nobody follows the spec, it's the problem in the spec

The vast majority of devices follow the spec. It isn't exactly hard, you know: throw "how do i implement a usb-c port on a device" in Google and its AI summary literally contains all the information you need.

If >99% of engineers have no trouble implementing it, can you really blame the spec?

> why tf does it matter what the other side of the cable is connected to?

Because both sides of a C-C cable have the same plug, and people want it to work properly when any kind of device is attacked to either side. This means using the same cable to connect a wall charger to a smartphone, a smartphone to a laptop, or a laptop to a docking station.

Similarly, they want the same port on a power bank to be be used both to put power into the power bank and to draw power out of it. And when they do something silly like connecting two wall chargers together, they don't want their house to catch fire.

seba_dos1 19 hours ago | parent | prev [-]

It doesn't.

All the power source needs is a way to sense that a power sink has been plugged in, as otherwise you could connect two powered sources with each other. Type C makes it about as simple as possible. It's really not the spec's fault.