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 ) is a 27 Mb .zip
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:
I still believe that an error like that one is something that can happen (unlike a number of errors/mistakes you happened to find/highlight over the years).
I am not saying that it's "normal", only saying that I can understand how someone could miss this aspect.
Engineering is not (or should not be) "following arcane rules in various specs", good engineering is making things as simple as possible (but not simpler) and have them working.
The engineer failed in the specific design, but IMHO the whole set of engineers that wrote the USB standard failed in making things simple enough.
If we take another (unfortunately) "common" standard (one with which you are not maybe so familiar with) UEFI, its specs are more (last time I checked) than 2200 pages, is it so surprising that its implementation in many boards is not fully-fully compliant to them?
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).
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 ;)
The rash of people digging out their dusty old 500mA microUSB chargers for their early Pi’s made “have you tried a good power supply” almost a meme.
The Switch not truly embracing USB Type-C makes me grumpy. I wonder if the - possibly dockless and portable only - Switch 2 will rectify that. Ah- to just use a regular HDMI alt mode cable!
That Nintendo chose to deviate from the Type-C spec here is another piece of misinformation with an insanely good staying power. People WANT to believe it, so they never check for themselves and they distrust anyone saying otherwise, just as you are distrusting me right now.
I bet more people will go do research to see if I'm right about this than do research to see if they themselves are ever right about anything.
MyDP appears to be woefully obscure to the point that this misinformation might just as well be the truth for all the difference it makes.
Dell and Lenovo, and probably some other manufacturers besides, are already playing this confusion to their advantage by releasing first-party docks that are guaranteed to work with their laptops.
In the end, it just shows how little standards actually matter to anyone. Are you going to play Smash Bros. on your Playstation? Nope? Then it doesn't matter if they get USB Type-C right or not. Is your school district going to buy a TotallyLegitPi from AliExpress instead of Raspberry Pis? Nope? Then in the end, it doesn't matter. Marketing wins over technical excellence.
The other problem is how incomprehensibly complex the Type C standard is. Another comment thread says it's 300 pages. Nobody is ever going to get that right unless you ship someone a conformance kit and it flashes green to show 100% compliance. That is the fault of the USB consortium, not the individual implementers that couldn't get every detail in 300 pages of technical documentation right. You can't throw Postel's Law away and expect your standard to work. A lesson for us all!
Using a third party USB Type-C charger on the switch has NEVER caused damage to a Switch and does not void the warranty.
The Switch supports the Type-C Power Delivery spec as well as Qualcomm's QuickCharge spec -- any type-C charger will work, and some will charge faster than others.
No. Only one dock ever provably bricked the Switch, and no charger ever has.
The bricking in question actually fried the PMIC due to a software bug on the dock side that was triggered when new functionality/behavior was added to the Switch with a firmware update.
No known dock or charger will damage a Switch today. I've tried hundreds of chargers and even the cheapest $15 docks I find on AliExpress, like this one: https://m.aliexpress.com/item/32832952544.html
It is amazing how long people will keep repeating bad information, and just assume it's true without ever checking to verify that what they are about to say is true. I see it a lot, especially when people complain about Microsoft Windows.
There is no shortage of people who spout off about old news as if it is still current who say that there are still docks that brick a Switch, and I've tried them all, trying to prove them right, and all I get is proof that they're wrong.
I've tried hundreds of chargers and probably a dozen docks on my three Switches, and all three of them are still working just fine.
(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.
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
Raspberry Pi, you can do better.
I 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
True, but if the cable is blue, that always indicates USB 3, at least in my experience—I've never seen a blue USB 2 cable. I think this is sufficient given backwards compatibility—how often do you specifically need a USB 2 device?
I very much doubt many "normal" people know to check the contacts.
It's a pretty big issue. I paid a lot more and ordered a spare USB3 charger from Google it's so bad in my own experience.
Not to be confused with Amazon's Choice. Which means jack squat.
The whole thing is a mess but both solutions are equality ridiculous if you ask me.
Otherwise, you have a bunch of mystery cables that all fit but may or may not do what you think they do.
Though even that isn't a complete fix because there are some hidden gotcha's like length limits for external docks, to get full speed out of an external GPU enclosure for example you're pretty much stuck either using a very nice cable (good luck determining which actually support it and which are just lying to you since manufacturers can claim any capabilities) or sticking with a very short cable limiting the utility.
Five years ago everything had a MicroUSB port that at least supported 5v/1.5A charging and almost everything did video-out via MHL or SlimPort adapters. It's 2019 and I have to buy a specific $900 phone and $200 dock to be able to charge and output video at the same time. I hate it.
Either way the "incomplete" forms of colour blindness are one of the most common forms of disability, so using color as the only distinguishing factor in consumer cable types is pretty exclusionary.
As long as you use fairly different shades of red and green, they can still match the cable to its matching color shaded port. Much UI accessibility is based on this fact.
Having to go even further than that and use shades of the colors I do have trouble with would be far more onerous.
Additionally in the physical world how are you going to determine the shade of something relative to something that is not present? i.e if you only have one cable in front of you. We don't have absolute perception, it tends to be affected by context, additionally the lighting now seriously affects your judgement... The reason this is so different to colour is because luminescence is a single receptor type (rods), with which you are trying to compare intensity of an area of one type of signal filled with other detailed information; whereas with colour you have three signal types (cones), in combination and at a lower detail than rods, so it's effectively separate information with at least 2^3 completely distinct permutations to differentiate in almost any lighting or context. This also explains why the absence of only a single cone receptor type has a significant impact on perception since it drops to 2^2 halfing the completely distinct permutations, of which two are merely black and white, so you actually drop from 6 to 2 non-monochromatic permutations - so you see it is far more challenging using either shade or partial cone types.
At some point there will always be someone who something doesn't work for. You suggest using symbols, but what about people who are completely blind?
So you use something like a combination of color and braille, and then the rare person who is monochromatic can use the same solution as someone who is completely blind.
So your basically saying screw them all since it's impossible to include everyone? I just outlined for you the most common disability, it's particularly easy to avoid since they can still actually see.
> the rare person who is monochromatic can use the same solution as someone who is completely blind.
...how would you like to be told to learn brail in old age just cos your eyesight isn't quite good enough to read some small print?
No, that's just awful. Shape first, colour purely as an extra, then brail if the symbol is not relief or discernible enough, this is absolute basics of accessibility. This also helps everyone and functions in very low light since we all have low sensitivity to colour compared to luminescence, more so the older you get
Your disposition is needlessly antagonistic.
Moreover, regardless of what is common to every standard cable, anyone is free to put their own labels on their own cables to suit their needs. Not every solution has to be complex bureaucratic uniformity.
> I just outlined for you the most common disability, it's particularly easy to avoid since they can still actually see.
Are you even sure that color blindness is more common than blurred vision that makes it hard to discern small symbols?
If you say so, but it seems necessary to counter your apparent lack of empathy for people without perfect vision. I don't feel bad at all about that.
> Moreover, regardless of what is common to every standard cable, anyone is free to put their own labels on their own cables to suit their needs.
Now you're just bending the discussion to your will.
How is that any more helpful than me accusing you of an apparent lack of empathy for people with vision that can discern colors better than small symbols?
> Now you're just bending the discussion to your will.
Your argument was that not making all cables in a way that addresses all needs is saying "screw them all" to anyone else. But nothing has to work that way because total uniformity is not actually mandatory. It's completely reasonable to have a default that works well for most people and use something different for the people who need something different.
... 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.
And even if that fails, it's at least something "support" can add to their check list when a customer calls with issues.
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.
* $40 for an Apple 40 Gbps 100W 2.6ft cable 
* $30 for an Anker 100W 40Gbps 1.6ft cable 
* $20 for a Nekteck 100W 40Gbps 1.6ft cable 
* $12 for an Anker 60W 5Gbps 3ft cable 
* $9 for an Anker 60W 480 Mbps 3ft cable 
So, $30 isn't the cheapest full spec cable on Amazon, but it's not too far off.
Having cut open such a cable recently to help me understand the spec and having ordered parts and integrated a USB-PD board into my project recently, I can tell you the actual costs if you're not in retail-markup land are substantially less.
We're more or less past the point where "USB-C smart cables are $40" is informed by anything but retail markup, in my opinion.
But I guess I'm only doing the bare minimum on the data side?
Do you have anything to back that up? Even a screenshot of an email? I'm not saying they aren't or haven't done that (I honestly wouldn't be surprised), but it doesn't help anybody to make baseless accusations of conspiracy.
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.
The fact is, it really sucks and they should have limited it to maybe a subset of two... one that can only deliver basic charging and data, and one that can deliver all features. A $5 sku and a $25 sku (or close to). Unfortunately, it's all a mess.
> (at least in manuals)
... and come to think of it, why not colored rings around each end of the cord? There aren't that many features.
"2018 MacBook Pros support green-purple for the highest feature set"
Far simpler than things people use every day: https://en.m.wikipedia.org/wiki/Electronic_color_code
There are only six variants: https://people.kernel.org/bleung/how-many-kinds-of-usb-c-to-...
And it's actually the product of three variants (2.0 only, 5 Gb/s, 10 Gb/s) by two maximum current ratings (3A, 5A), so a pair of logos would be enough.
Lisp s expressions were supposed to be an intermediate representation, that they were going to develop a front end for. I'm sure it'll be ready any day now.
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.
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.
For instance, a USB-C analog headphone adaptor is just some resistors and the connectors themselves, and a USB A-C cable just requires a single extra resistor so the USB C device knows there is a USB A plug on the other end and not to draw too much current. Unfortunately, dodgy manufacturers got even that wrong, see https://www.extremetech.com/computing/217556-google-engineer...
The reason is the most common type of error: USB type A to type C cables using a wrong termination resistor value, signalling far too high current. We're talking about a table of currents to resistors with 3 rows: Default USB current (56K), 1.5A (22K) and 3.0A (10K).
Now, if the mistake had been in the parts that deal with orientation detection, PD protocol, alternate modes, or just dealing with the high speed signals pumping up to 40Gb/s through these cables, then we could agree that it might be complicated.
But if you can't pick a resistor from 3 values, then I don't know how one would write a spec that would be readable to you.
EDIT: s/that\ the\ evidence/that\ the\ spec/
I can't imagine doing signaling and having to build a spec.
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.
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.
Now you're saying that we need to throw out working devices so that we can ensure we only need good cables.
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.
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.
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.
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.
Blame OP, not Nintendo.
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 nice part of DC is you get to use the entire cross section of the wire. So 2A at 5V isn't gonna start too many fires even on thin wire.
Now hopefully we don't see too many folks start using USB-PD
3 with crappy but compliant cables, as my comfort with DC drops as we go up into 20V 5A territory.
If a USB device gets more current than it's supposed to get, it difficult not to blame the upstream power port for providing so much under the conditions of a short or the downstream port for not being designed correctly. Furthermore, when people see USB cables with "only 2 strands of wire" these are power cables where the data pins are shorted with a resistor, which locks a USB port to a more modest 500mA. That's definitely fine.
I refers to the 5/20V fear only in terms of how safe I feel about handling such voltages.
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).
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.
Edit: original link: https://firstname.lastname@example.org/how-to-design-a-proper-usb-...
Unless you're telling me they are one and the same.
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.
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...
Now let's resubmit http://example.com a few days later. It should be on top of https://news.ycombinator.com/newest again. But not as a new post. No, the first submission should be moved up here.
Obviously after some time / amount of comments this makes no sense, people resubmit years old links etc but thresholds can be set.
If we did that then /newest would no longer be a simple chronological log of everything posted to HN.
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. 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.
 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.
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.
That would give me pause to
ask why the two pins existed
in the first place.
I can understand why it might get overlooked, when someone has paralleled up 12 pins in the last 5 minutes...
That said, someone with less experience might have just said ‘oh cool, I can be clever and reduce our BOM’ and not given much thought to it.
Mine is idling at 64°C now that I took off the official cover; with the cover on, it was idling just below the CPU throttling point of 80°C, which meant that almost any computation caused it to start intermittently locking up.
There was a firmware update, so make sure you applied that. Might help bring the temps down a bit.
AFAIK that firmware update isn't up yet, and won't be for weeks.
There was an update that made a small improvement in idle temp. https://www.cnx-software.com/2019/06/29/new-raspberry-pi-4-v...
it's good to know that it just might not work with some cables though. probably saved a few hours of head scratching in the future for a few folks.
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.
Somebody here said they were running into the maximum rated current for the port
>or a custom charger
Literally everyone would have complained
The fact that they shipped this reveals significant gaps in their engineering and QA processes.
That doesn't change the fact that USB-C is a mess, and that mess contributed to this failure.
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)
But it's not $35. You need an SD card and power at an absolute minimum (+$15), and then some way to connect to a screen and a keyboard (if just for a minute, to set up SSH and to fix it when it breaks.)
That's why I like the Pi Zero W. $10, and then $5 for a microSD card, and you can run it off of a laptop (or a powerbank, or an old phone charger, or a USB port.) It's beautiful. That leaves you with plenty of room to buy stuff like the PiOLED tiny display for $15, or a radio bonnet, or what have you.
It is a fair criticism to say that I am going too far, but I want to reuse the things I already have. I don't want to continue buying single-use things that will eventually be waste. It's not that I won't ever do it, but I now think very carefully about it before buying more electronic toys.