The fact that no QA team inside of
Raspberry Pi’s organization caught
this bug indicates they only tested
with one kind (the simplest) of USB-C
cable.
Raspberry Pi, you can do better.
I'd say at least 20% of the blame lies with whatever genius decided to have multiple types of USB-C cableI mean, cables already suffer from having A, Type A SuperSpeed, B, B SuperSpeed, Mini-B, Micro-B, Micro-B SuperSpeed, C, and lengths from 10cm to 5m. Who'd expect adding a complete extra dimension of difference to be trouble-free?
But it was naive to think that manufacturers will ship a $30 cable for a phone charger when a cheaper hack will do.
At least there should have been mandatory color coding of the "full" and "limited" ports and cables, just as USB 3 ports were blue to distinguish them from older versions.
... You can't trust the coloring either if you're buying off of Amazon, eBay or any Chinese site like Alibaba
The whole thing is a mess but both solutions are equality ridiculous if you ask me.
... unless you're Apple and the blue took away from your aesthetic...
As with politics ("freedom", "justice") the problem is that "everything" is ambiguous.
(and corporations have anti-standards goals: to differentiate their products, prevent unallowed access to their devices, continue using outdated protocols, etc...)
>> USB 3 ports were blue
This would only be useful if you know the colour means something.
The components of an active cable are not that expensive. You and I may pay premium markups at retailers because of parasitic incentives, but that doesn't mean folks sourcing their own cables would.
So no, there's not one cable, there's a boatload of them.
I get not physically keying: that's the whole point of the USB-C idea.
What I don't get is why the hell they didn't mandate standardized identification (at least in manuals) regarding port / cable feature compatibility. The entire point of the trademark is to use it to make things easier for the customer and promote adoption.
Make a logo for every feature (4k 60hz!), trademark them too, then mandate implementers advertise featuresets via the logos. Problem solved.
How do you know what type the cable is? Is is possible to detect it visually?
You can't tell them apart visually, and you can't always trust the specs promised on Amazon either.
There are testing tools like https://www.tindie.com/products/aroerina2/usb-cable-checker/
There was a Google engineer (Bensen Leung) who bought, tested and reviewed all the cables he could find, but with the shutdown of Google+ the archive seems to be lost.
didn't realize amazon is the arbiter of all knowledge hardware..
It's tempting to build some sort of test rig for this (though I hardly have the background for it)...
They're also usually marked with a little ThunderBolt and also perplexingly a little "3" presumably in case there's a ThunderBolt 4 sometime in the future that's mad enough not to release with its own connector specification.
IIRC the Pi 3B+ was butting up against (if not exceeding) the maximum rated current for the microUSB port, so I believe the switch to USB Type-C is more about picking a port that can handle a 3A@5V supply than a conscious effort to support the dozens and dozens of terrible and near arbitrary USB Type-C supplies on the market (some output 12V with zero negotiation. You know- for giggles). I'd be surprised if they tested with more than a couple of staff phone chargers and their own-brand chargers. I can't imagine the idea of anyone using an expensive power-delivery enabled dock with a thick, 40cm Thunderbolt 3 cable really entered their minds.
My advice to anyone buying a Pi 4 would be "Just buy a Pi-branded power-supply. They're inexpensive and guaranteed to work." Granted you might want to save a few bucks and use your phone charger... but then what are you going to use to charge your phone?
Except this time the issue is not with the power supplies by the Pi itself.
If you think this is bad, go ask PlanetCom what the heck "Pump Express" is and why USB Type-C PD power supplies wont charge their phone ;)
(Eventually, some outside engineer with a USB analyzer got fed up enough to track down that issue. The Pi Foundation didn't spot it. They almost never do.)
So not at all surprised that they moved away from the old usb
I agree in theory but not in practice. I use RPi largely with students and tend to prefer inexpensive USB batteries over fighting facilities to provide enough AC access for 35 students (or carrying a bag of power strips with me to every lab).
I’m going to be doing some testing, but it seems like I’ll probably be sticking with the 3B+ until the situation improves.
People really should consider a refurbished Dell Optiplex FX160 instead of a Pi if it's going to be in a headless server role, though. You can get one for about half the price of a new Pi4 on eBay and it comes with a proper power supply unit, high quality case, and of course an Atom CPU which I'm sure compares favourably even to the new Pi4. There was an article about them on HN a while back. Mine has been running happily for almost two years now.
Also, the optiplex would use more power, which might eventually negate the savings from buying a power supply and case for the pi.
http://www.toughdev.com/content/2018/01/dell-optiplex-fx160-... suggests 15-20 watts.
1. By definition, they're the device with the most current running through it, and typically generating the most heat. Switched mode power supplies have efficiencies up to around 80%, linear mode power supplies closer to 50%. They need to be cooled, but typically aren't or have insufficient cooling. 2. They're typically chock-full of electrolytic capacitors. 3. Power supplies have been engaged in a race to the bottom for decades. You're almost always getting the cheapest part from the cheapest factory.
The power supply should always be the part you troubleshoot first, even if you see something else smoking. Chances are pretty good the reason the other thing is smoking is because the power supply is putting out too much voltage.
Much slower graphics. No USB 3, 802.11ac WiFi nor GPIO.
With USB-C, we still have separate cables for these three types, but they all look confusingly the same. Not convinced this is an improvement.
Having gone all in on Type-C, I have only ever gotten a "bad" cable as a cheap charge cable, and have never had issues with cable incompatibilities.
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.
AIUI, that's actually what's going wrong here. It only works if the charger+cable combo are both dumb enough. If there's enough fully-featured components to try to negotiate properly, the pi can't negotiate and it fails.
Using usb-c for power should have been a win. But they didn't - they just used a usb-c socket for power. There's a difference.
I guess the point I'm trying to make is, specs are great, but the reality is that there are infinitely many types of cable and the only thing which definitively defines the capabilities is physics.
The reason is that the developers of the Pi4 made a mistake while designing the electronic circuit. They tried to design it themselves instead of copying it from the specification.
The issue still lies with the Pi 4 for not having two CC resistors.
(This has always been my complaint anyway. The Pi Zero works great with any of the USB chargers you already own too many of, but the rest of the Pi line needs higher-spec chargers that most people need to buy as an add-on)
Can the link be changed to the apparent source article? It's not as bad. https://www.scorpia.co.uk/2019/06/28/pi4-not-working-with-so...
That USB-C is complicated is all the more reason for just taking the pre-provided mandatory design for things, and to test with at least a few cables. Having worked in hardware before, this seems very careless.
I'm sure they did, but I can easily see beta testers missing this. I have a rat's nest of no-name USB cables, and if I pulled out one that didn't power a known working device from a known working adapter, I'd probably just chuck it in the bin.
Someone trustworthy should enumerate and tag all the possible USB-C cable configurations and sell them as a bundle for testing purposes.
Pointing out mistakes can be done without being such a jerk about it.
When you are met with a complicated spec with known issues, do you test more or less? I know which I'd pick, and if they had tested common cables like those from Google or Apple (I'm sure someone has a macbook), they'd see it not work.
Thank you for working on such an important project and thank you for all the things that you got right.
I’m sure that somewhere, someone is feeling a little bit embarrassed and possibly somewhat sheepish over this and… Please don’t let one incident overshadow all the great things that have come from the existence of the Raspberry Pi!
The document (that you can find here [0]) is a 27 Mb .zip [0] https://www.usb.org/document-library/usb-type-ctm-cable-and-...
inside there are various .pdf files, the most interesting is the one named "USB Type-C Specification Release 1.4 - Redline from 1.3.pdf" , besides highlighting the changes, some minor like changing "existing" to "legacy USB", it makes clear that the matter is complex.
The specification, remember only for USB-C connector and cable, is 338 pages, I wouldn't be so hard with someone that missed something in them.
If it's someone's profession to do engineering, don't give them a pass for not being able to follow an industry specification. Engineering is all about following arcane rules in various specs. If it's not USB, then it's Wifi or Bluetooth, or whathaveyou specs, which are all similarly complicated.
For what it's worth, the USB spec is complicated, but in this case, there's actually a picture in the USB Type-C Spec you linked to which tells hardware designers exactly how to put together this circuit. They should have just copied it directly instead of going off-script.
I wrote about it here, and included the figure from the spec: https://medium.com/@leung.benson/how-to-design-a-proper-usb-...
For someone who grew up in the 80s and played with computers at the time, this is science fiction that you can actually touch and hold in your hand. (and the manufacturing quality is flawless...)
I hope this issue doesn’t delay preorders, because I don’t even care if my unit has this issue.
It's not a big deal once they add to their list of "known issues" or "errata", together with the relevant workarounds. Otherwise, they might get too many returns from people who can't get it to power up with any of the chargers they have (because all they have is high-end chargers with 5A cables).
This is a frequently asked question. The answer can be found in HN's FAQ: https://news.ycombinator.com/newsfaq.html. Reposts are allowed if a story hasn't had significant attention yet, because we there's a lot of randomness in what gets noticed on the /newest page and we want to give good stories multiple rolls of the dice.
Lots more explanation over the years: https://hn.algolia.com/?sort=byDate&dateRange=all&type=comme...
I can still see this getting fixed in a future revision, but I think it will be a while. It is an issue, but it doesn't make the pi 4 useless.
Presumably they're going to search for pi 4 does not power on and get their answer as the first search result[1]. You know, the same way the average enthusiast figures out the other twenty seven roadblocks they stumble on during their RPi project.
Not to minimize that it'll be an issue for those people who don't happen to have a compatible charger laying around.
[1] For me, at the time of posting: https://hackaday.com/2019/06/28/power-to-the-pi-4-some-charg...
The official power supply also seems reasonable priced and it's really difficult to find a good USB power supply which is capable of providing such currents in a stable enough way (that's also the official reason why they did an official one and I don't doubt it). So if you want to avoid issues of all sorts simply go with the official one.
They fudged their power supply voltages up on previous models to handle drop in the regulators. I presume that will be an issue on these as well.
Why should it matter what kind of accessory it is used in?
> Each CC gets its own distinct Rd (5.1 kΩ), and it is important that they are distinct.
Why?
I think this article was not written by an electrical engineer. The reason why this design is inadequate still eludes me. But, RPi should have probably used the reference design, that's clear.
I suspect you're misunderstanding what they mean by "audio accessory". They don't mean "a standard digital USB device that happens to do audio-related things". USB-C has a special-case allowance to drive analog audio signals through the port (to allow all-analog headphones and such) that has its own CC configuration.
>> Each CC gets its own distinct Rd (5.1 kΩ), and it is important that they are distinct. > Why?
Because of the above; if the CCs use the same Rd, they're shorted together by definition, which isn't allowed to happen. Especially since the USB-C format uses the CC's to determine plug orientation.
Wat. Just when I think I've heard it all...
Because two resistors in parallel (i.e when RD is shorted to RA) lowers the resistance and pulls the voltage down to a range that identifies the device as an audio device to the charger
:edit: A diagram to clear it up https://imgur.com/97OKDf5
Top is as the RPI is effectively configured, Bottom is how it should be.
I have enough USB-C incompatibility in my life to make this the issue that makes me not order the Raspberry 4 until this issue is sorted out.
I support a USB system and I this was my worry since day 1.
Curious, and it would be helpful
The Standard, if you fully embrace it, is a mess.
That is, when powering the RPi4 through PoE, its USB-C connector is in an invalid configuration: it's powering VBUS when it shouldn't (that is, unlike USB-A where VBUS is always on, IIRC with USB-C it should only be turned on when the CC pins detect that the other side is either a power sink or an adapter which should source power).
I'm sure they had good reasons to deviate from the reference (I assume they are experienced hardware designers over there), but I'd be very curious as to what those reasons were.
Many times if we push something too hard, we apply the rule without questioning whether it truly makes sense in a particular situation.
I'm waiting for a single chip solution that will take upon the pain of dealing with Type-C for me.
Besides the complexity of the spec itself, another "landmine" in dealing with Type C + PD is the divergence of different PD implementations, proprietary extensions from big brands, and... DRMed power supplies along with devices with DRMed PD devices... Yes, the electricity is now copyrighted too.
I appreciate re-using the same microusb cables and chargers for my iPhone and headset charger for my Pi3, and not having to handle Yet Another Wall Wart, but barrel jacks would have sidestepped this whole issue.
Were they hoping to have users use a single cable deliver power and data over a single cable usb just like a pi zero w? https://desertbot.io/blog/ssh-into-pi-zero-over-usb
God DAMN I hope this doesn't turn into a recall.
Raspberry Pi 4 was planned for 2020, but the Broadcom SOC went final much sooner than expected, so they shipped the Pi 4 this year.
This sounds like a great thing, but the earlier release meant that the board as a whole spent less time being used internally before release, and they didn't have the time to shake out bugs like this.
The lesson: when you move to a faster release cadence, you need to be more rigorous about QA because you have less time to find problems before release.
I'd also recommend they put up a compatibility table of power supplies on their website in time - probably cables as well! Its a good opportunity to collaborate with the Google engineer who has been spending his non-core hours on the USB-C madness.