Live data from Hacker News

Raspberry Pi admits to faulty USB-C design on the Pi 4

arstechnica.com

141–150 of 165 posts

Re: Raspberry Pi admits to faulty USB-C design on the Pi 4

#141

From a Pi consumer perspective, this is not that big of a deal. However, it damages the purpose (in name) of USB C. Isn't C supposed to be the 'all purpose' spec? If we have popular manufacturers failing to follow the spec, we end up with cables marked as 'compatible with Raspberry Pi' or 'compatible with Nintendo Switch'. To the average consumer (and even most techies), USB C was supposed to be the 'one size fits al…

USB C has confused me for the same reason. I read often about how there is no expectation that two USB-C cables/ports will work together. Why design them to fit together if they won't always work right?

> Why design them to fit together if they won't always work right?

USB-C is designed for graceful degradation.

There are two main types of non-captive cables: USB 2.0 only and USB 2.0 plus USB 3.x. Hosts and devices have to support at least USB 2.0, so if you try to connect two USB 3.x devices with a USB 2.0 only cable, it'll fallback to a USB 2.0 connection.

There are two main current levels: 3A and 5A. Cables which can carry higher power have a small chip describing this fact; if the chip is missing, the power source will limit itself to 3A.

Then there are the alternate modes. If you try to plug a device which only understands an alternate mode (for instance, a DisplayPort adapter), and the host doesn't understand that alternate mode (or can't understand it, like in the case of a USB-A port with a USB-A to USB-C cable), that device will instead appear as an USB 2.x device (the "billboard device"), which the operating system can use to show an error popup.

And so on. At every corner of the spec you can notice an interest in making it degrade gracefully. Of course, that can only work when the manufacturers follow the spec correctly.

Re: Raspberry Pi admits to faulty USB-C design on the Pi 4

#142
post #72

Earlier quoted context omitted.

And the criticism is completely invalid here. The power spec is very clear and unambiguous, and there is only one way to get it right. It is not the fault of the spec when manufacturers cannot be bothered to produce a circuit that has already been designed for them in the spec itself.

I wish there was some kind of patent or trademark law that could be used to punish companies who advertise with the word "USB" or "Type-C" without adhering to the spec.

It is interesting that the USB Forum, for all their VID/PID douchebaggery, didn't register the trademark and enforce it on non-compliant implementations.

That would have been right in line with demanding that everyone buy 65,536 IDs at a time for thousands of dollars while attempting to prohibit resale.

Re: Raspberry Pi admits to faulty USB-C design on the Pi 4

#143

Earlier quoted context omitted.

They chose to use a standard so yes it's a problem that they didn't follow it. It's pretty cut & dry here. Fortunately in this case it fails to 0V so it's not a dangerous or damaging failure, but still the spec literally hands you a schematic. Is it that hard to just copy it? Why did they even try to be clever and use their own design in the first place just to save a single 5.1k ohm resistor?

I can give the automotive electronics perspective here. Suppose that resistor costs 2c, including the actual part cost, PCB space, pick-and-place machine time (inc. more frequent spool replacement). Further suppose you expect to sell one million of this device. $0.02 x 1E6 = $20k If you are the circuit designer making, say, $150k, you just justified about a month of your salary (after accounting for benefits and othe…

I've never bought into that reasoning on the automotive side. Selling "one million of this device," as you say, will bring in $20 billion. So yes, they can afford $20K to do the job right.

Also, SMT resistors at that quantity level are more like 1/10 of a cent, not 2 cents, and the PnP machine is running anyway. In fact you often end up using more resistors than strictly necessary, just because the machine holds a limited number of reels and it's cheaper to use more of the same part to arrive at a desired value than to add a new line item.

Things should be as cheap as possible, but no cheaper. Optimizing the cost of individual resistors is almost always a classic example of measuring the wrong thing. We should strive to avoid making excuses for doing that.

Re: Raspberry Pi admits to faulty USB-C design on the Pi 4

#144
post #31
post #19

Earlier quoted context omitted.

Eh, it’s not too bad. I found a cable that works and I’ll stick to it. Even with previous-gen Pis there was always a bit of futzing with cables to find one that has small enough voltage drop to not get power warnings (even some otherwise “good” cables really cheap out on copper). The USB C thing is still an issue, and I’m glad it’ll be fixed, but it’s really not that big of a deal.

Having chopped up quite a few USB cables to power Pi's from fixed supplies (for professional use), I can totally relate to this. Even thick 'quality' cables commonly have dinky little copper wires inside, wrapped in lots of plastic. The only cables we found that were decently made were Molex ones which cost around 10UKP each at the time (a price we were happy to pay).

For me, the USB cable that came with the 5V/2A charger that came with my phone did the trick. A fairly common source of high current capable USB cables.

Re: Raspberry Pi admits to faulty USB-C design on the Pi 4

#145
I have two RPi4B 4GB models. They work perfectly with the very cheap PSU/charger ($8) from the Raspberry Pi Foundation. $8 is less than a cost of a USB-C cable.

If you want to complain something about the product, I think unfinished software would deserve more attention. The current desktop performance doesn't reflect the capabilities of the system. I guess it'll significantly improve once OpenGL ES 3.2 (and hopefully Vulkan!) drivers will be complete.

Other minor issue I had was RPi4B not recognizing the HDMI display. I had to manually force it and this caused loss of HDMI audio. Using the official Raspberry Pi branded micro-HDMI cable.

I hope Raspbian will eventually have a 64-bit version. Out-of-order cores can benefit from more registers in 64-bit mode. More registers allows the compiler to reduce true and false dependencies, leading to faster code execution.

CPU wise it's nice, quad Cortex A72 is a huge boost compared to A53. Hardware accelerated omxplayer can play 4K HEVC content nicely. USB 3 ports have up to 4 Gbit/s bandwidth, and it's not shared with the now truly full speed gigabit ethernet.

I'm very happy with the product. RPi4B is a very capable system for its price. And it'll just get better over time.

Re: Raspberry Pi admits to faulty USB-C design on the Pi 4

#147

Earlier quoted context omitted.

If a spec defines a fully working part, and you go off and tackle the complexity by designing your own part that turns out to be non-compliant, then the blame is on the spec?

maybe the spec is onerous

Or vague, or just plain incorrect.

I could see making a mistake like this. The earlier USB specs called for goofy things like grounding the shield to the enclosure entrance via parallel RC networks instead of bonding it properly, as well as adding various bypass capacitors to the data lines(!). These guidelines were poorly thought out, widely misinterpreted and even more widely ignored. They have conditioned engineers to make their own judgment calls in areas where they really should have been both more descriptive and more prescriptive, so maybe this is one of those cases.

I haven't looked at the post-USB 2 specs at all but wouldn't be surprised if they are nowhere near as clear, unambiguous, and well-thought-out as people here are saying.

Re: Raspberry Pi admits to faulty USB-C design on the Pi 4

#148
post #79
post #51

Interesting that two major-ish companies sell products that are out of spec (rpi and Nintendo). Is there any insight on why these decisions were made? Business and engineering opinions would be equally interesting.

Well, I followed through to Benson Leung's post where he cites and transcribes the actual USB-C specification and I'm not surprised that the spec is occasionally ignored. The supposedly 'normative' circuit diagram deviates from a conventional circuit diagram. If you want an engineer to pay attention to your instruction don't invent some ad-hoc diagram technique; be concrete and prescriptive, and assume you're dealing…

How does it diverge from a conventional circuit diagram?

Re: Raspberry Pi admits to faulty USB-C design on the Pi 4

#149

Earlier quoted context omitted.

Blame for this problem is 80% on RPi, no doubt, but I'd say 20% of the problem is someone deciding to allow multiple cables, some with active components in them. If they'd instead specified that every detachable USB C cable must be 40 Gbps / 100 watt capable, and any lower-spec cable must be captive to the device (like mouse and keyboard cables are) then this problem wouldn't have happened.

> If they'd instead specified that every detachable USB C cable must be 40 Gbps / 100 watt capable, and any lower-spec cable must be captive to the device (like mouse and keyboard cables are) then this problem wouldn't have happened. If you are specifying that every cable is going to be $30 minimum, then your spec is dead from day 0. The USB-C committee has to balance a spec that will be used by a significant chunk o…

I like RJ-45 for this. I can choose between several different cables that are all compatible and pay only for the features/speed I need.

Re: Raspberry Pi admits to faulty USB-C design on the Pi 4

#150
post #87

Earlier quoted context omitted.

Generally when I use a SBC like a raspberry pi or esp 8266/32, I use an existing cell phone charger + whatever cable is nearest to where I'm sitting. I 100% expect the SBC to work with any combination of charger and cable. I have lots of existing cell phone charges and cables so unless I were purchasing this for someone else I don't think I would consider ordering the branded raspberry pi charger/cable. Compatibility…

And you would be disappointed. 3/4 of the micro-usb cables I purchased of my favorite purveyor of cheap chinesium does not power a pi3, and when it does brown-out Have a hard look at the simple 'how can anyone possibly get a piece of wire wrong' cable, or even better test it. https://www.youtube.com/watch?v=n70N_sBYepQ

At least in that case, its a matter of looking at the Amps to make sure there is enough juice.
Post reply on HN