Live data from Hacker News

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

arstechnica.com

71–80 of 165 posts

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

#71

Earlier quoted context omitted.

Wouldn't true pioneers have arrows in their front?

The arrows are a metaphor for "friendly fire" from former compatriots they have angered, not the enemy forces.

I wonder if something is to be said for the third generation of people who suddenly find themselves facing musket balls to the front from a hostile population now more heavily armed by previous pioneers.

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

#72
post #46

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…

This has always been a criticism of USB C and it proves true time and time again. USB-C tries to be too many things to too many people and ends up with a huge matrix of incompatibility as a result.

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.

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

#73
post #46

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…

This has always been a criticism of USB C and it proves true time and time again. USB-C tries to be too many things to too many people and ends up with a huge matrix of incompatibility as a result.

USB in general seems like a deep, deep rabbit hole. You could devote your entire career to becoming a USB expert. The USB 2.0 spec is like 700 pages long. The 3.0 spec is like 500 pages long and requires you to be familiar with the 2.0 spec at the very start.

I started digging into USB for a project and the rabbit hole kept going deeper and deeper; I never fathomed the amount of complexity hidden under the hood of USB until I needed to start talking to a Qualcomm modem on the other side of a USB 3.0 connection (and the modem, even though it is a single device, enumerates 16+ USB 3.0 endpoints, which is a problem for a lot of ARM SoCs, or at least the vendors we tried!).

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

#75

While this isn't great, as a consumer I don't really see too big of a problem. If I get a raspberry pi to use for home automation or as a media center, do I really need it to work with every USB-C cable? I'd think I'd just find one that works and let that be the dedicated raspberry 4 cable. If you're building a product based on Raspberry Pi that you're selling to others, then sure I could understand the outrage.

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 other overhead). Your manager may parade you in front of the team at the next big group meeting as an example of how to achieve the BOM efficiency the company need to hit profit margin targets.

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

#76
post #73
post #46

Earlier quoted context omitted.

This has always been a criticism of USB C and it proves true time and time again. USB-C tries to be too many things to too many people and ends up with a huge matrix of incompatibility as a result.

USB in general seems like a deep, deep rabbit hole. You could devote your entire career to becoming a USB expert. The USB 2.0 spec is like 700 pages long. The 3.0 spec is like 500 pages long and requires you to be familiar with the 2.0 spec at the very start. I started digging into USB for a project and the rabbit hole kept going deeper and deeper; I never fathomed the amount of complexity hidden under the hood of US…

What do they all do!?

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

#77
post #76
post #73

Earlier quoted context omitted.

USB in general seems like a deep, deep rabbit hole. You could devote your entire career to becoming a USB expert. The USB 2.0 spec is like 700 pages long. The 3.0 spec is like 500 pages long and requires you to be familiar with the 2.0 spec at the very start. I started digging into USB for a project and the rabbit hole kept going deeper and deeper; I never fathomed the amount of complexity hidden under the hood of US…

What do they all do!?

I would guess that they're basically directly exposing the modem's ACPI device subtree over USB, the same way they would over PCIe. So you've got one endpoint corresponding to the data TX DMA region; one corresponding to the data RX DMA region; one corresponding to the command IO stream input; one corresponding to a command error channel; one corresponding to each different axis of mode-setting; etc.

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

#78

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…

Costs taken into consideration sure, but the Raspberry Pi Foundation is a charity, so I'm not sure the same sort of incentives exist on a personal basis. It probably is just the engineering attitude of saving costs as much as possible.

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

#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 with a low caliber worker, because 99% of the time that's exactly who will get tasked to deal with your specification.

[1] https://medium.com/@leung.benson/how-to-design-a-proper-usb-...

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

#80

Earlier quoted context omitted.

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?

Because it's useful to have a bunch of multi-purpose ports on a computer. You can attach a mouse, a keyboard, a printer, a hard drive, a screen, a dock, a charger, or whatever you want, all to the same port. In my experience, finding the right cable has never been an issue. All the USB-C devices I've bought came with a suitable cable in the box.

It's not the initial cable that's the problem, it's those that come after.

My wife wanted a charger with a longer cable for her phone. We need it to be able to fast charge, which is called a variety of different names on both the phone and charger sides. Can I get the $10 charger, or do I need the $40 charger the size of the MBP charger?

We ended up just biting the bullet and getting one of the more expensive, MBP-charger-shaped chargers, since I have laptops that use USB-C - but it was a confusing mess, and I still wasn't really sure fast charging would work on her phone till I plugged it in the first time.

Post reply on HN