Raspberry Pi 4 not working with some chargers
scorpia.co.uk
scorpia.co.uk
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-...
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
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
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.
... 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 [5]
* $30 for an Anker 100W 40Gbps 1.6ft cable [1]
* $20 for a Nekteck 100W 40Gbps 1.6ft cable [4]
* $12 for an Anker 60W 5Gbps 3ft cable [2]
* $9 for an Anker 60W 480 Mbps 3ft cable [3]
So, $30 isn't the cheapest full spec cable on Amazon, but it's not too far off.
[1] https://www.amazon.com/dp/B076D76DRQ/ [2] https://www.amazon.com/dp/B01EMIIFCU/ [3] https://www.amazon.com/dp/B01A6G0CTQ/ [4] https://www.amazon.com/dp/B072HMHZ7D/ [5] https://www.apple.com/shop/product/MQ4H2AM/A/thunderbolt-3-u...
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?
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://medium.com/@leung.benson/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[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.
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.
Bear in mind, the USB-C connector is designed to be rotationally symmetric - so you'll start your layout by paralleling up the four ground pins, and the four bus power pins, and the two pins for USB 2.0 negative and the two for USB 2.0 positive.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.
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.
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.
The irony in all this is that Type-C analog signaling was meant to greatly simplify the market situation and UX well above and beyond what happened in the micro-B charger world. And it is simpler. RPi4 just goofed in their implementation.
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 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.
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.
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.
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.
What is a no brainer to you may not be to everyone.
Besides, you are fundamentally assuming this was a mistake and not a deliberate design decision. Maybe they prioritized X over following the spec 100%. I may not make that decision, but that doesn’t mean they didn’t.
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.