4 ms·
> Just to be entirely clear: While a cheap cable may be wrong, good (i.e. fully featured) cables will always work in all combinations. Per the spec, yes. But d
by nemetroid 7y ago
> Just to be entirely clear: While a cheap cable may be wrong, good (i.e. fully featured) cables will always work in all combinations.
Per the spec, yes. But devices may have hardware design issues making this untrue, as in the article. As I understand it, the Pi 4 works correctly with cheaper cables, but not with more expensive ones:
> When combined with more capable cables (handling SuperSpeed data, or 5A power) this configuration will cause compliant chargers to provide 0V instead of 5V to the Pi.
- arghwhat 7y ago> But devices may have hardware design issues making this untrue, as in the article. Yes, but defective devices do not really go into the USB-C complexity consideration. They go into the trash bin. We can't blame USB-C for people disregarding the spec, especially as this is not a hard part of it. We can only blame it for the fact that we do have different "classes" of devices, where the main way out is to only get the highest class. Having run all-USB-C (and not using Apple products) for a few years now, I have never myself bumped into a product that was defective. Everything always worked as advertised.
- barrkel 7y agoYou started out saying that a good cable always works, effectively staking a position that you just need to get rid of bad cables. Now you're saying that we need to throw out working devices so that we can ensure we only need good cables.
- arghwhat 7y agoYou were talking about how many combinations there were of cables, which is always solvable by choosing the good cables. There is no cable type for defective devices, so that does not change anything. What the rPI did would be akin to a micro-USB device using data pins for power. Such device would be defective, and not "another type" of micro-USB.
- KirinDave 7y agoThe mistake they made is really easy to make accidentally. The USB-C spec is complicated and cables aren't marked. Many folks still don't know there are multiple types of cables.
- arghwhat 7y agoTo be honest, the complicated parts are not where the mistakes are made. Routing 40Gb/s is hard. Placing one or two resistors is not. But agreed that marking could be better—maybe marking lower cables as "charge" cable somehow. At least Thunderbolt cables are distinctly marked, and will become merged in USB4.
- makomk 7y agoAny spec will always have some way of building devices that violate the spec but happen to work some of the time. There's no way around that, which means that blaming the spec and complaining that you "need to throw out working devices" isn't going to help you.
- KirinDave 7y agoI have done similar and I have devices that have USB-C ports and only charge on USB-A chargers using an A-to-C adapter. If you haven't run into a device or charger that has quirks, I'm surprised and happy you're that lucky. I'm sure not.
- amluto 7y agoI personally blame the spec for making it far too complicated to build compliant devices and far too easy to build non-compliant devices
- toomuchequate 7y agoEasy to say. I can't imagine doing signaling and having to build a spec.
- amluto 7y agoAs far as I can tell, the spec could have been designed so that having so resistor at all would indicate a baseline cable. Since no resistor is cheaper than a resistor, the cheap cables would omit the resistor and all would be well.
- cesarb 7y ago> As far as I can tell, the spec could have been designed so that having so resistor at all would indicate a baseline cable. Isn't that exactly how the spec is? AFAIK, a baseline cable has no resistor, the resistors are on the devices on either end. Only "electronic marked" cables have a resistor, and that's where the RPi4 fails: they shorted together the pin which has the configuration wire to the other end (where the device on the other end has one of its pair of resistors) with the pin which on a baseline cable has nothing at all, but which on a more advanced cable has a resistor connected to ground. So when there's no resistor at all (baseline cable) it works; when there's a resistor, the current flows through a wrong path and the voltage ends up in the range for a different kind of device.
- amluto 7y agoNope. A compliant baseline USB-A to C cable contains a resistor.
- arghwhat 7y agoIt could not. I presume that by "baseline", you refer to a USB2.0 Type A to Type C cable. USB type C is designed to remain passive until it knows if something is connected, and what it is. For most cable types, orientation must also be detected. This means that there must be something in the cable/plug. This could of course have been a short, but to do that, those pins would have to be dedicated to detecting dumb cables. Having no pins to waste, a resistor is used instead, which allows not only allows for multiple values for detection, but leaves the pins usable for transmission while detect resistors are in place (Power Delivery, Alternate Modes). And there is absolutely no issue in that resistor. Everyone found the table, but either failed to read the 3 values, or decided "Hey, more amps is better!", ignoring whether or not the type A end would actually be able to supply it.
- jsight 7y agoInstead of throwing away your Pi4, could you please send it to me?
- marcoperaza 7y agoA good design accounts for all of these things. If your design assumes a world full of altruistic, hyper-scrupulous actors, then it’s no good.