Hacker News new | past | comments | ask | show | jobs | submit login
Raspberry Pi 4 not working with some chargers (scorpia.co.uk)
401 points by styx31 on July 5, 2019 | hide | past | favorite | 300 comments



There have been a lot of comments here but I want to leave one specifically to the person or team who designed the Pi’s circuitry:

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!


I would add - for what it may count - that IMHO there is an issue with the actual USB-C "standard" (not unlike many other standards that have been made by this or that "technical committee" into a large mass of mostly unreadable stuff).

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.


It's one thing if an enthusiast made a mistake putting together a one-off breadboard for a board they're hacking on. But it's entirely a different problem if a professional engineering organization, with a hardware release process, a factory build process, and a QA process didn't read the spec properly and didn't catch this bug.

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-...


Hey, you are "the" Benson Leung!

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?


I've just received my Raspberry Pi 4 with 4GB.

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...)


Yeah, this issue is not a big deal imo. It is an inconvenience, that may piss people off, but it is not a showstopper. I’m sure a minor revision will be made and most of us will not even remember this.

I hope this issue doesn’t delay preorders, because I don’t even care if my unit has this issue.


> Yeah, this issue is not a big deal imo.

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).


Seems to me this "fail off" scenario is far better than reports of cheap USB-C cables frying devices. I'd certainly prefer a fail off scenario than fail to frying the attached device and possibly the other, more expensive computer the other end is potentially plugged into.


Ever since the very first model, sub-par, underrated power supplies have been responsible for a good slice of tech support issues with the Pi. It wouldn't be a real Pi launch without power issues.

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?


> Ever since the very first model, sub-par, underrated power supplies have been responsible for a good slice of tech support issues with the Pi. It wouldn't be a real Pi launch without power issues.

Except this time the issue is not with the power supplies by the Pi itself.


I think the problem is that people see a USB Type-C port and expect everything with a USB Type-C connector to work in it, which has and never will be the case with USB Type-C connectors.

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 ;)


Nintendo also interpreted the USB Type-C standard interestingly.


Yeah, this is what I was thinking. IIRC the Switch will brick if you use the wrong dock / charger to this day. If Nintendo can get away with it, surely Raspi foundation can, lol.


While I totally understand the dream of “use the same power supply for everything” I really can’t emphasise just how much impact “use the flippin’ official power supply” has in support burden.

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!


The USB type C spec IS FOLLOWED on the Switch! Nintendo chose to use (or was forced to use due to the Tegra chipset) a little-used mode called MyDP or "Mobility DP" which is a Display Port mode meant for mobile devices.

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.


I suspect if they'd chosen a regular DisplayPort or HDMI alt-mode they wouldn't have had to shoulder the burden of claims they deviated from the spec. Granted, engineering constraints may have made that impossible but it's clear that people are seeing a "USB Type-C" port on the Switch and making the assumption that it should work with HDMI or DisplayPort alt modes. Just as people see the "USB Type-C" port on the Pi and make the assumption that any USB Type-C power supply will work. I guess the sooner people unlearn that a USB Type-C port indicates any sort of compatibility with a corresponding USB Type-C connector the better.

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.


> The Switch not truly embracing USB Type-C makes me grumpy.

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!


The problem is if my son or daughter want to play on the switch while the rest of the family is using the TV, they can't plug in for power, so they've got about 2-3 hours before it takes around the same time to charge (I don't really know how long it takes to charge, because they'll keep unplugging it to check the charge level). If it actually was USB-C compliant, I could hand them a cable and charger they could use from the couch, but nope. I'm not going to replace the Switch if the kids break it, and likewise don't plan on replacing if I break it, and if using a non Nintendo charger purportedly voids the warranty on a standard USB-C spec, not going to chance it. Also, not going to funnel Nintendo extra money for a blessed charger.


Why does no one do any research?!

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.


> IIRC the Switch will brick if you use the wrong dock / charger to this day.

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.


Not true. I charge my Switch with USB-C Macbook chargers all the time without issue. Have also used external USB-C batteries with it too.


I believe the Switch works fine if you plug a macbook charger directly into it (I do this frequently with no problem), but it may break if you plug a macbook charger into the Switch's dock and power the Switch through that.


Anecdotal evidence does not make a counterexample. After a quick internet search, you will find several USB-C chargers and docks which have reportedly bricked Nintendo Switch devices.


No you won't. Only a single dock has ever bricked the Switch, and the vendor of that dock (Nyko) replaced switches that were bricked.

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.


A lot of the problems with the original that were blamed on bad power supplies were probably issues with the Pi itself, to be fair. For example, as originally released connecting any USB keyboard or mouse would cause the onboard USB hub to fall over after a while due to a spec violation. There was a long list of supported and broken devices on the wiki, with the non-working ones being accused of drawing too much power, but in reality the problem affected every USB keyboard and mouse. When someone's Pi fell over despite using supposedly tested and working devices, guess what was blamed next? That's right, the power supply they were using. Inadequate power supplies became a handy scapegoat for every single Pi reliablility issue.

(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.)


The problem actually affected any USB 1.1 device, not just keyboards and mice (which are almost exclusively USB 1.1). Video streams from cheap webcams were getting corrupted as well, for instance (that's how I got introduced to this bug).


Yup. For 3b+ it was generally a good idea to feed it via the gpio pins anyway if you want stability with devices attached.

So not at all surprised that they moved away from the old usb


After all the pi power problems I faced over the years, I was hoping for a simple 12v barrel jack.


In my experience, phones break more often than chargers, so you end up having several chargers laying around. Using the Pi for DIY projects, computing experiments (e.g. clusters) or learning, it makes sense to recycle those chargers (specially if you are in a budget). Being in a third world country I can assure you that getting a simple Pi-branded charger can get difficult and/or expensive.


I don’t disagree that they should be recycled (albeit I’d expect a phone to last 3-5 years), but historically all but the best phone chargers have proven to be wholly unsuitable for powering Pi’s. I’m not convinced USB C is poised to change that since charging doesn’t require a continuous, stable supply whereas running a power-hungry CPU does. Ironically most cheap, captive cable phone chargers are exactly the sort of thing that will work in the Pi 4. For varying values of “work.”


> My advice to anyone buying a Pi 4 would be “Just buy a Pi-branded power-supply.”

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.


Funnily enough my trusty Pi2 which has been running continuously for several years now stopped working last night. At first I thought it must be the SD card, as those are known to fail. Nope. So I thought it must be the Pi itself. I suppose they weren't really designed to be left on for several years? I was sure it couldn't be the power supply, but somehow it was. It will now power up a Pi1, but not a 2 or 3. I've no idea why but it's gone in the bin and the Pi2 works again on a new one.

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.


I wouldn't be sure sure that a decade old Intel ATOM CPU would compare favorably to a modern ARM CPU.

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.


Power supplies are notoriously failure prone across all possible uses.

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.


The power supply in this case was just a wall-wart plug and I always thought they were just transformers which are too simple to fail. But thinking about it now, there must also be a rectifier in there at least. Maybe there's much more than that...


Transformers often fail after a given 'long time', they are usually made out of many laminated plates glued together, and over time the glue will fail, plus they tend to vibrate at the mains frequency, which can shift things around over time and cause failure too.


At a previous job the most exchanged part was powersupplies for routers and fiberconverters. For some shipments we had more than 50% failure.


I think that Dell Optiplex FX160 CPU (single core in-order narrow Atom 230 @1.6 GHz) is going to be ~10-20x slower than RPi4 (4 core out-of-order wide Cortex A72 @1.5 GHz).

Much slower graphics. No USB 3, 802.11ac WiFi nor GPIO.


Atom CPUs are core-for-core comparable to the A72 cores in the RPi4. ICP isn't really comparable since the instruction set is different, but performance is similar. The RPi has 4 of them, only the most modern Atoms have that.


'Atom' is pretty vague. There are several different micro-architectures under that name, with different performance characteristics.


I'm not seeing USB 3 on that particular Optiplex, either. Gigabit ethernet, yes. No HDMI. DVI, VGA. Maybe displayport? Hard to tell. Do have PS/2 keyboard and mouse ports, which is kinda nice.


No USB3. I don't think it's any good as a thin client any more, it's only good as a low power server. Before the Pi4 it was much more attractive, especially because of GigE and because the Atom chip in it is pretty good compared to the ARM in the Pi3. But after reading the replies here I'm thinking it's not as good a choice as it once was.


Yeah, well I don't think you'd get a 4-core Atom for the same price, so maybe not so good compared to the Pi4 then.


  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 cable

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?


I believe the original plan was the opposite - one port and one cable type that can do everything - 100W of power, 5K video, USB devices, analog audio, Ethernet and more.

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.


Until cheap knockoffs heard they could charge 4x their normal price by changing the coloring.

... You can't trust the coloring either if you're buying off of Amazon, eBay or any Chinese site like Alibaba


Coloring appears to have worked for distinguishing between USB 2 and USB 3, at least in my experience.


The physical contacts are different though. You can look down into a USB 3 plug and see the new 5 contacts just as you can look at a USB 3 socket and see the new contacts right up front. Also I don't always see blue in new USB 3 cables and sockets, sometimes it's just black.


> Also I don't always see blue in new USB 3 cables and sockets, sometimes it's just black.

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.


Blue or Green if it's a Razer device, or Red to indicate Gen2 vs Gen1 ports on gaming motherboards.


With USB 3 isn’t the other end of the cable usually different as well?


USB-B for USB 3 is physically quite different, yes — looks like two stacked connectors.


It’s a micro usb plus another kind of adapter. This gives you backwards compatibility for devices if you want to expose usb 2 via usb-a -> micro


I was actually thinking about B rather than micro-B, though I guess both my description and your explanation apply either way!


Then buy from Walmart or best buy.


Amazon fraud is not the problem some people on HN make it out to be...


Okay... pull up a list of USB3 chargers and tell me which ones on the first page of results are not counterfeit or poor quality knockoffs, even with 4+ stars... now do it for cables, including those labelled as "Amazon Basic" ...

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.


You have found AmazonBasics that were counterfeit of fake? If so, that's a pretty big deal. Amazon is slapping their logo on those products and presumably doing QA. They are also the only company allowed to sell them on Amazon.

Not to be confused with Amazon's Choice. Which means jack squat.


I've had Amazon Basics cables that weren't up to spec, yes. In fact most Amazon Basics electronics products have been poor quality of those I've purchased (mostly cables and a couple sets of speakers) so much that I won't even buy anything labelled as such now.


Interesting. I've always found AmazonBasics to be fine. Not great, but usually gets the job done.


Not directly addressing your question, but Amazon did a recall on their own chargers included with UK and Ireland Fire tablets, and recalled over quarter of a million portable AmazonBasics chargers.


And then we end up paying $60 for a phone charger cable that will never be used for any of these things. (100W of power, 5K video, USB devices, analog audio, Ethernet)

The whole thing is a mess but both solutions are equality ridiculous if you ask me.


There's a pretty simple solution. Use different form factors depending on capability, like we'd been doing for decades before this madness.


USB C is fantastic. Standardization is way better than needing several different types of cables for all your devices.


Only if you require all those different functionalities to be included.

Otherwise, you have a bunch of mystery cables that all fit but may or may not do what you think they do.


Making every cable look the same, making it a guesswork which cable is working for which use case is better than having separate cables?


The biggest issue with what USB-C has caused is that now instead of it being a port you can easily identify you have a port that can do anything and an anonymous cable that may or may not support the actual functionality of the port! The only real solution is to buy your own expensive cables stock and only really use the cord a device came with if you want to be 100% sure it will work.

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.


Except we still have several different types of cables, now it's just not obvious what there different capabilities are


Standardization is great when it actually happens. USB C cables are anything but standardized.


I would be so happy if there were some sort of color coding to just be rid of the hassle of switching twice ("I'm sure it's this one, nopes, it's the other one").


Seconding that. Type C is a nightmare. I have a tablet that supports USB 3.1 over its Type C port but has to charge via a MicroUSB port. I have a phone with a Type C port that's limited to USB 2.0 but supports HDMI out via DisplayLink. Wife has a phone with USB 3-supporting Type C but doesn't support HDMI out. I have another tablet with a dedicated charging dock with pogo pins and a Type C port that supports input charging but only does so at 5v/800mA.

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.


There is zero chance that alone would pass as a solution in the EU, not accessible. Colour blindness is extremely common too.


True color blindness is very rare. Most "color blind" people are red-green color blind and can still distinguish between e.g. red and blue.


yes and that is extremely common, that doesn't count as colour blindness? what else would you call 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.


In attempting to defend Color blind people, you go too far in painting them as helpless. The use of color to distinguish thing is not in-and-of-itself exclusionary. Color blind people are still perfectly capable of distinguishing shades.

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.


Speaking as an only mildly colorblind person, I still tend not to use color to differentiate things. Even when it's two colors I can easily tell the difference between, I don't reach for color as a disambiguating feature unless I consciously try to.

Having to go even further than that and use shades of the colors I do have trouble with would be far more onerous.


Had you used a monochrome filter on software while adding accessibility you probably wouldn't suggest using shade as method of differentiation (it's simple to try, i recommend it). We already use luminescence mainly for discerning shape, when you throw "shades" into the mix it's usually too subtle for the purpose of differentiation.

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.


It sure beats having _no_ distinguishing factor.


It's not better than the more obvious solution, symbols, which all other "universal" things use... that is what the U in USB stands for isn't it.


I'd be happy to have both.


Why is it exclusionary if you use the colors they can still distinguish between?


What do you do magically change the colour depending on the person?


You use colors that the largest number of people can distinguish between.

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.


> At some point there will always be someone who something doesn't work for.

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


> So your basically saying screw them all since it's impossible to include everyone?

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?


> Your disposition is needlessly antagonistic.

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.


> If you say so, but it seems necessary to counter your apparent lack of empathy for people without perfect vision.

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.


This is not about uniformity, you basically suggested colour blind people should learn brail rather than simply chosing a different method of differentiation... It's pretty hard not to interpret that as "screw them all". Yes you can't make everyone equal but it takes very little effort to accommodate the vast majority of issues.


This usually does not come up until you are 45-50, so tech people tend not to know about it. I was lucky to have a teacher that warned about this in school already. Watch out for when it takes several seconds to switch between close and far focus :)


If it's additive (as in you can get by without it, but it helps), it may well be OK.


Yes, it's fine if it's not the primary differentiating feature, i.e if symbols are used.


> just as USB 3 ports were blue to distinguish them from older versions

... unless you're Apple and the blue took away from your aesthetic...


> one port and one cable type that can do everything

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...)


Didn't know that the colour means something here. I always thought it was marching

>> USB 3 ports were blue

This would only be useful if you know the colour means something.


I think for the layperson, with many potential ports available, one that colour matches the cable in hand seems a fairly obvious first choice.

And even if that fails, it's at least something "support" can add to their check list when a customer calls with issues.


Back in the day, I heard horror stories of people trying to cram 15-pin VGA cables on 9-pin CGA ports, just because they looked the same. Never underestimate idiots.


Where are you getting the figure "$30"?

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.


Right now you can pay:

* $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...


But these are retail prices in a discussion of manufacturers and distributors deciding what to include?

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?


Are these all reliably full-spec? I'd like to know so I can purchase accordingly. Honestly before this I didn't even know some were not full spec.


There’s no way to make a physical cable that carries 100w and hundreds of gigabits as cheap as a cable that carries 1 amp at 5 volts.


A large part of cables is patents, licensing, research and R&D. All those costs don't have to scale with the number of cables produced.


That doesn’t mean the cable that can will cost $30


Considering the way the middle of the market (for lots of products, not just cables, and not just electronics) seems to evaporate and the options become "cheap and shitty and may not work at all", "mid-priced but still shitty", and "actually built correctly and will actually survive normal use but way more expensive than it seems like it should be, thanks to a combination of economies of scale and price discrimination" I wouldn't be surprised if a full-capability USBC cable that doesn't break the first time you unplug it "wrong" or trip over it, and doesn't glitch out or fail to work correctly in some situations, and is of a useful length, does end up around $30.


GP didn’t say they’d cost the same. They said $30 is too expensive


The port and cable can do all that, i think the problem here is more about the electronics on either side of the ports and cables


[flagged]


> So it wasn't naive, it was deliberate.

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.


Yeah, this wasn't thought out the greatest. I have a bunch of USB-C to USB-C cables for my computer to phone (mobile dev, so use it a lot). Some of my cables actually automatically force my phone to charge my laptop (who would want that...), but Android lets you change the options.


USB-C is not a standard, USB-C is a combination of a dozen different standards, some of which you mention. There's electrical standards, optical standards, slow, fast, using 2, 4, 5, 6 and/or 8 electrical conductors.

So no, there's not one cable, there's a boatload of them.


The problem seems to be identifying.

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.


Where do you put this variety of a dozen or so features... the end of the USB cable is already really small, and varying logos on that end? I'm not sure I'd even be able to distinguish.

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.


> Where do you put this variety of a dozen or so features

> (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.


From a couple other comments... the combination is 6 distinctions on two feature classes. Shoot, do I need red, or yellow for this device? It'd be worse than mini/micro usb transition.


Two rings, one with 3 colors and one with 2 colors? Seems pretty simple.

"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


Well now you still need to know, or else it doesn't work. How do you choose if they all look the same?


This is especially needed as with so many possible variations full feature cable can have problem listing all the features.


> with so many possible variations full feature cable can have problem listing all the features

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.


And they couldn't limit it to two for cables, one with the lowest specs (low power chargers/data), one with the highest support (anything else)?


When you're making an electronic device that you will be selling millions of, the onus is on you to do your homework in verification testing.


I have to agree with the quoted text. As a purchaser of the pi4 how could you not have tested it with arguably the most popular usb-c charger and cable on the planet?


This. Make that 50%. Had a similar issue happing with Anker external battery in combination with expensive Apple 30W USB-C charger, not compatible.


whenever they will come up with a USB standard with a round connector, they will find yet another level of complexity to add... because it can't be that easy.


Plot twist: It will be exactly the same physical design as a 3.5mm headset jack.


3.4mm would be perfect... next gen would be 3.3mm... and apple will of course make their own. USB-R ... or USB-Round


meh - this is a temporary issue that'll be resolved with time and manufacturing scale. I'm glad to have the tech a few years earlier.


Almost 5? years later and it’s not gotten much better from what I can see.


I'm not quite so confident. USB-C should have required a trademarked stamp on the connector to show that it was compliant. Any cable that wasn't could have been forced off the market for trademark violation. Similar to how CD-ROM, DVD, etc... was done in the past.


What about the last 30 years of IT history gives you cause to think that?


Why only 30?

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.

https://en.m.wikipedia.org/wiki/M-expression


I’m sure this is sarcasm. It has to be.


Before we had separate ports and cables for power, USB and Thunderbolt. There was no way to plug the wrong cable in the wrong port.

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.


Just to be entirely clear: While a cheap cable may be wrong, good (i.e. fully featured) cables will always work in all combinations.

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.


> Just to be entirely clear: While a cheap cable may be wrong, good (i.e. fully featured) cables will always work in all combinations.

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.


> But devices may have hardware design issues making this untrue, as in the article.

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.


I personally blame the spec for making it far too complicated to build compliant devices and far too easy to build non-compliant devices


The spec does try and make it simple to build compliant devices for basic features. It's only if you want higher power or bandwidth than the existing USB 2.0 that you need any kind of digital logic.

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...


Simple to build simple devices is the wrong metric. The goal should have been that simple devices would be cheap enough at scale and, critically, the the correct way to build a simple device would be at least as easy as the lazy way that sort of works.


The spec sure is a mouthful, but I find strong evidence that the spec isn't at fault.

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/


Easy to say.

I can't imagine doing signaling and having to build a spec.


As far as I can tell, the spec could have been designed so that having so resistor at all would indicate a baseline cable. Since no resistor is cheaper than a resistor, the cheap cables would omit the resistor and all would be well.


> As far as I can tell, the spec could have been designed so that having so resistor at all would indicate a baseline cable.

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.


Nope. A compliant baseline USB-A to C cable contains a resistor.


It could not. I presume that by "baseline", you refer to a USB2.0 Type A to Type C cable.

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.


You started out saying that a good cable always works, effectively staking a position that you just need to get rid of bad cables.

Now you're saying that we need to throw out working devices so that we can ensure we only need good cables.


Any spec will always have some way of building devices that violate the spec but happen to work some of the time. There's no way around that, which means that blaming the spec and complaining that you "need to throw out working devices" isn't going to help you.


You were talking about how many combinations there were of cables, which is always solvable by choosing the good cables. There is no cable type for defective devices, so that does not change anything.

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.


The mistake they made is really easy to make accidentally. The USB-C spec is complicated and cables aren't marked. Many folks still don't know there are multiple types of cables.


To be honest, the complicated parts are not where the mistakes are made. Routing 40Gb/s is hard. Placing one or two resistors is not.

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.


I have done similar and I have devices that have USB-C ports and only charge on USB-A chargers using an A-to-C adapter.

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.


Instead of throwing away your Pi4, could you please send it to me?


A good design accounts for all of these things. If your design assumes a world full of altruistic, hyper-scrupulous actors, then it’s no good.


> good (i.e. fully featured) cables will always work in all combinations.

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'd love to know then why my Nintendo switch(very expensive) doesn't charge at all when using the genuine OnePlus USB A-C cable(very expensive) and their own OnePlus charger(also pretty expensive). It's not just cheap mislabeled crap that sometimes doesn't work - it's proper hardware from big companies that failed the simple "if the cable fits then it has to work" test.


OnePlus has had their own proprietary charger game running for quite a while now. It's likely related to that. The Switch uses stock USB-C Power Delivery, so Macbook and Pixel chargers would be fine.


OnePlus doesn't use USB-PD, they use Dash Charge.

Blame OP, not Nintendo.


A compliant "full featured" cable could very well disable high voltage or high current negotiation. It's impossible for all cables to work in all combos.


The problem with this "cheap cable" standard is that "cheap cables" can be the same price as "good cables".


Yeah, a place like BestBuy doesn't sell inexpensive cables, even though they're often of cheap quality, at least by my experience.


A fully-featured USB-C cable can be used for all of those functionalities, but the fact that there are lesser-featured cables is confusing, yes.


To be fair, I've cut open pound store USB-B cables before only to discover that they contained literally 2 strands of copper (Or at least I hope it was copper). The idea that people are trying to sink 2 amps down that type of cable is a bit frightening.

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.


Even bad USB cables are gonna have total resistances below 150mΩ, and that's including contact resistance on both ends. Unless you're shorting the cable inside the contacts (you do short pins to make USB deliver power, but upstream ports gotta spec for shorts anyways), even bad cables are unlikely to be a severe risk.

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.


This isn’t quite right. High current at low voltages can start fires, too.


That's not really what anyone is talking about here. We're talking about if a USB cable itself could be an issue. For that to happen the cable would have to be shorted in a way that still coerced a USB upstream port to still deliver 2A. Even long and bad cables are going to have incredibly small resistances compared to any piece of electronics they're attached to that can make the USB port think that's okay. Which means that the majority of the energy dissipated in a USB short will likely be in the downstream electronics. You could probably use something besides copper and still have it be the minority of the resistance in a circuit that could get 2A.

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.


In fact, ohmic (i.e. reistance-based) heating is entirely independent of voltage; it depends only on amperage. Higher voltage is only dangerous inasmuch as it may increase the amperage.


Which is why I pointed out the resistance of the cable relative to the other components. It's not where you're going to get resistive heating unless it's a full short and that's the dominant resistor. You may know, but USB-PD has a pretty smart design here that makes it harder for such a condition to occur.

I refers to the 5/20V fear only in terms of how safe I feel about handling such voltages.


USB-C in general was a pointless evolution of something no one had an issue with, IMO. It's as if someone looked at the state of things and said "Where can I invent an issue and solve it?".


I disagree on this... USB-C the connector, is great... having more than 2 varieties of feature/cabling alignment is pretty ridiculous. I get the need/desire for a cheaper option... I even kind of get the cheapest by default... but with USBC the cables should have been limited to lowest and highest spec, with maybe a DOT for one or the other on the end next to the USB logo indicating as much.


There might be yet another issue. As commented by the author of this blog post in the RPi forums (https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=2438...): "Also the 5v on the connector is connected directly to the 5v rails. If the pi is powered over the GPIO then the USB-C connector is vbus hot which means it could backfeed devices when using the type C port on the pi as a USB client."

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).


Backfeeding power is one of those things that is 'technically' a bad idea, but practically damages pretty much nothing.


Another potential issue here is that if using the Pi as a client with a C-C cable this could confuse the device at the other end meaning it wont connect as it thinks it is being charged (will be seeing if I can get this to occur over the weekend).


Have just run this test and it does appear to confuse some USB-C ports (my phone and 3.0 usb-C port on my laptop detect the pi gadget however the 3.1 usb-C port doesn't detect the gadget if the pi is powered by gpio).


TIL; there are different types of USB-C cables with functional differences.

How do you know what type the cable is? Is is possible to detect it visually?


The USB-C ecosystem is quite a mess. Most cables are either limited functionality, or not up to spec that they advertise. Frying your devices with nonstandard chargers or cables is easily possible.

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.


The spreadsheet you are probably referring to is still online: https://docs.google.com/spreadsheets/d/1vnpEXfo2HCGADdd9G2x9...



Bensen Leung is also the author of this blog post


Benson's medium post refers to a discovery by Tyler (aka scorpia)

Edit: original link: https://medium.com/@leung.benson/how-to-design-a-proper-usb-...


Benson Leung is the person who wrote the OP link....


Wait, what? I see "Tyler Ward", not "Benson Leung".

Unless you're telling me they are one and the same.


A HN moderator has just swapped the link (https://news.ycombinator.com/item?id=20362538). When the above comment was written, the article this pointed to was still Benson Leung's.


Ah, ok. :)


> you can't always trust the specs promised on Amazon either.

didn't realize amazon is the arbiter of all knowledge hardware..


You can detect it visually by the sparks and smoke coming out of your device.


Sure, but what color sparks? In my experience, standard orange sparks mean you just killed a component. Blue sparks mean you just did something very interesting, but not too healthy. Green sparks mean you're scraping thin the boundaries of reality, and Eldritch horrors are looking at you in hunger.


Also curious about differentiation strategies, if anyone has tips. I'm guessing the marketing materials for the cables isn't even sufficient to tell them apart in many cases.

It's tempting to build some sort of test rig for this (though I hardly have the background for it)...


I don't have a USB-C device right now to check, but according to https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-c... there might be some information at /sys/class/typec/<port>-cable


There are lots of testers on the market, but it's hard to differentiate them and I'm sure many of them are garbage. I need one myself, but I haven't had the time to do the research yet.


In my experience the ThunderBolt 3 cables are the ones you want to plug into your laptop and route nicely behind it so you can tuck your dock somewhere aesthetically pleasing... but they have a 10cm bend-radius and are only 40cm long.

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.



You close your eyes and pray that it’s compatible


How does the HN system work when I submitted the exact same URL https://news.ycombinator.com/item?id=20317687 five days ago??? We have stickied this on the usbchardware subreddit as well at the time, it's still on the top: https://www.reddit.com/r/UsbCHardware/ We have a nice wiki and if you are still confused about USB C, ask away, we try to help (chances are, I will answer :) ). You will also find a wonderful cornucopia of interesting USB C devices -- not just the usual chargers, power banks and docks but also a toothbrush, a razor, headphones, speakers, video lights, a soldering iron... we like USB C :)


> How does the HN system work when I submitted the exact same URL

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...


Just guessing the person that submitted later has significantly more karma or popularity. It seems to happen quite a bit. There's also time of day to consider, it's possible this made it in when more people are browsing by newest and upvoted pretty early.


chx has 8000+ karma whereas OP has ~600, so scratch that as a possible explanation. I would also guess it mainly depends on the time of day.


The question rather is, why would the system allow the same URL to be submitted twice. In the past when I tried to submit something already in, I was redirected to the existing post and my submissions was converted into an upvote.


A five-day-old HN submission is effectively dead. Would make sense if the behavior you describe only happens to dupe urls within 24hr of each other if the first one hit a certain threshold of traction. Else makes more sense to allow the dupe submission to give it another shot.


You get redirected to an existing post if it has already had significant attention or is less than 8 hours old. Otherwise reposts go through.


Why don't you just bump the post to newest if someone attempted to resubmit it?


I don't understand what you mean exactly.


Let's presume http://example.com was never submitted. So, when it is submitted, it is on the top of https://news.ycombinator.com/newest but it doesn't get much attention.

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.


Thanks, I see what you mean now.

If we did that then /newest would no longer be a simple chronological log of everything posted to HN.


Indeed, there seems to optimal times for posting: http://hnnotify.leknarf.net/


Karma doesn't affect it. It's really mostly random.


The Raspberry Pi foundation has their own "official" USB-C power adapter as well (At least, they have it for pre-order). So I doubt it's the highest priority.

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.


This is going to be a really sticky issue for a consumer. Randomly not working with some subset of USB-C cables is the sort of thing you expect the engineering team to consider - and they missed it. How do you think the average enthusiast is going to figure out that their Pi4 no longer works because of the USB-C cable they're using? At best they'll decide the cable is faulty, use a different cable and probably bin the old one, at worst they'll just come to the conclusion the Pi is bricked and bin it.


How do you think the average enthusiast is going to figure out that their Pi4 no longer works because of the USB-C cable they're using?

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...


I agree, shitty bug but not the end of the world.

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.


Also, I've used my phone changer and cord to power the Pi 4 without issues, so I'm not sure how common it would be to actually see the issue.


When I saw the official adapter was 5.1 volts I just mentally relabeled that port as “proprietary power port” and got their adapter.

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 see it as an 'exercise left for the reader'


Curious what led to this decision. Reference schematics exist for a reason... It seems odd to not use them.


That's what I was thinking. I've recently gotten into hardware design myself as part of a hobby, and this is something I learned early on.

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.


Considering the heavy emphasis on budget, it could very well have been on reduced cost. Is a single resistor expensive? No but each decision adds up and it may just be ingrained in the team's ethos.

Many times if we push something too hard, we apply the rule without questioning whether it truly makes sense in a particular situation.


In this case they directly shorted two pins together though. That would give me pause to ask why the two pins existed in the first place. Something that should have led to the conclusion the author reached about the configuration.


  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...


I can see now how one might end up in the position, still the spec schematic clearly shows two separate resistors. Curious either way :|


I personally agree and would have been curious myself.

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.


I would not be surprised if this is the default in the bcm2711 documentation and they simply took that as guidance.


So the take-away for consumers is...what exactly? Don't use certain types of cables to power a RaspberryPi 4? And how does one identify a cable that could cause problems?


My personal take-away is "hold off on buying a Pi4 until this issue has been addressed in a future revision".


My takeaway is "use the official $8 charger they sell".


I'd agree (and that's what I did) except here I'd suggest "maybe wait until they solve the core overheating issue".

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.


Odd, mine is idling at 49 C in a 21 C room. This is the 4G version running fully updated Raspbian without the desktop (one of the updates fixed the USB controller using a lot of power at idle).


Mine is 4G too; I installed heatsinks on it couple hours ago and it now sits at 61°C idle, with an external HDD attached (but not under I/O load) to USB 3 port. Slightly better, though arguably still ridiculously high.


Apparently this will be fixed with a PCIe firmware update, they're just figuring out the best way to roll this out.


It looks like it'll be mitigated (https://www.tomshardware.co.uk/raspberry-pi-4-firmware-updat...), but not necessarily fixed- making a difference of a few degrees. Active cooling makes a huge difference, which is why it baffles me that the official case has no ventilation.


I did not buy the official cover, but a cheap top/bottom (but not side) acrylic case that included a fan, and also applied 3 heat sinks which came in the basic kit that came with the pi from canakit. It idles at 47°C and can browse "new reddit" at 59°C. A samba share its hosting causes it to run at 59°C during file transfers to an external SATA drive connected to the USB 3 port. I'm pretty happy with it considering all the complaints about heat issues. Only issue I've had so far is that you cannot reliably power more than one external hard drive with this. A second one will need its own power adapter.

There was a firmware update, so make sure you applied that. Might help bring the temps down a bit.


> 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.


Try sudo rpi-update

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...


Thanks!


i bought the rpi4 and the official charger and the combo works FWIW.

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.


But if you want to power a cluster from a single beefier usbc power pack


You'll be waiting for a Pi4+ or a Pi5, then. They've had similar "minor" bugs with trivially easy hardware fixes on older boards, but punted on fixing them until the next major version. I could be wrong, but AFAICT, they've never done a minor board revision for an already released Raspberry Pi.


I don't think there is any take away for consumers. This seems to be an explanation for why certain cables do not work and how to avoid this issue when designing electronics that accept USB-C power input.


Although the blog post is directed towards the Raspberry Pi Foundation, consumers essentially only have one option, use a "dumb" cable.


I had so many issues with 3B+, that I won't even use a power adapter/cable that wasn't sold as working with the Pi in the first place.


I read it but I have no idea what it meant. I am very interested in getting a Pi4, so can some of you more knowledgeable folks help me understand what this means?


The Pi4 does not work with all USB-C chargers. You may be lucky and it will work, or you may be unlucky and it will not work and you will have to buy another USB-C charger (which again may not work).

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 other reason for is that the developers of the USB-C specifications left us with a terrible confusing mess where visually identical cables have different capabilities and behaviors.


If it’s confusing, just don’t use it. They could have stuck with a micro-B charger, or a custom charger, and no one would have questioned it. Instead, they decided they were confident enough in their understanding of USB-C to implement it on their device. And they were wrong.


>They could have stuck with a micro-B charger

Somebody here said they were running into the maximum rated current for the port

>or a custom charger

Literally everyone would have complained


I don't think anyone would complain much if they supported a popular barrel connector with a popular power draw. As it stands, I'll only ever use a Pi with a charger sold as working with it after all the 3B+ issues I had (7 chargers, none worked without a warning on screen).


I said the "other" reason. I am not absolving the RPi team here...

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 article states it is an issue with an eMarked cable, not the charger. With a different cable, the Pi 4 started up with the same chargers as it was no longer detecting the Pi as an analog audio accessory.

The issue still lies with the Pi 4 for not having two CC resistors.


Can this be fixed with a dongle?


This is exactly what I wanted. Thank you kindly


Due to a design flaw, the raspberry pi 4 won't receive power if you connect it to a USB-C cable that supports advanced features. If you use the official charger (or most USB-C chargers that come with their own cable, I'm guessing) you should be fine.


Ah nice,thanks for the info


There are multiple types of USB C cables/devices. Raspberry Pi advertizes itself as the wrong kind of device, so it will only get power from a cable/charger that ignores that information.


It's more subtle than that: the RPi4 will advertise itself as the wrong kind of device only when the cable advertises itself as a marked cable.


to be 100% sure it works - get the official charger.


But then it's a $50, $60, $70 computer.

(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)


As a $50, $60, $70 computer, it's still an incredibly cheap computer.


most people don't have a 3A charger which the RPi 4 requires (per manual) if you're planning on hooking up peripherals.


I completely agree, I'm not sure why you're getting downvoted. The price is extremely important, and I don't care who says it's not. If it's a $35 computer, sure, buy a couple, play around with them, it's OK if one gets damaged/stolen/whatever. If it's $35, sure, the school can buy them for the kids. If it's $35, you can gift one to your nieces and nephews who are interested.

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.


The price is very important, but so is the act of minimizing electronic waste. I've personally collected so many gadgets and their associated accessories that I don't know what to do with them.

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.


If you ever thought that the raspberry pi was a $35 computer then I have a bridge to sell. The fact that it doesn't even come with a cheap plastic case should already be a warning signal that it's going to cost more than that.


Had to fire up Eagle quick and take a look at my latest design (first time using USB-C). Looks like I got lucky this time.


Wow, this is really bad.

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.


They've improved a bit over the years. The power screwup on the original Pi meant that some boards wouldn't work reliably at all with any power supply. (They mistook the 1.8v output from the USB+ethernet chip's internal regulator for an input and connected it to the 1.8v rail that powered everything else on the board, meaning that for some unlucky folks it ended up supplying 1.8v power to the entire board, overheating spectacularly, and falling over. It took an outside engineer to find that one after the folks who designed it blew off all the complaints about overheating Ethernet chips, USB falling over, etc as user error. In fact, they were so confident all the problems were user error that they banned the person who spotted their mistake from their forums for pointing it out.)


Can you list examples where it hasnt worked?

I support a USB system and I this was my worry since day 1.

Curious, and it would be helpful


The usual fare of Dongle Incompatibility, we have a Dell USB-C Dongle that won't provide display outputs to anything that's not a specific Latitude Model, we have quite a few HP Notebooks that won't properly charge with standard USB-C Chargers (even Apple ones), then there's the USB-C Audio Adaptor issue where some phones output analog audio via USB-C and others need an active adaptor with a DAC, which look physically identical...

The Standard, if you fully embrace it, is a mess.


Just get the official power supply then.


Usb PD + type C is hard. You have to read specs for days just to get a basic idea of the logic governing the negotiation protocol.

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.


Common misconception: USB Power Delivery is not what the RPi4 is doing. The base Type-C spec provides the schematic for analog signaling of either a 5V/1.5A or 5V/3A state. USB-PD uses a much more complex digital signaling method across the CC lines, and is its own separate spec.


Yes, it is not a PD. I am talking specifically about the case of doing USB fast charging aka USB PD, which is much, much more complex


The entire USB power situation is complex. Lets see, there's pre-enumeration classic 5V/100mA, post-enumeration 5V/500mA, a host of proprietary signaling methods for additional power, the more or less de-facto BC 1.2 method for extra power, Type-C analog signaling for 5V/1.5A or 5V/3A power, and USB-PD digital signaling. Oh, and there's also Type-C VCONN power in addition to VBUS power.

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.


There's a project management lesson here.

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.


Odroid, Latte Panda, Pine, and others went with dedicated tried and true barrel jacks.

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.


Why would this turn into a recall? AFAIU, this is just an inconvenience, not a show-stopper since it only affects high-end cables.


The Pi people are good folk - all that is needed is to run the USB 3 conformance tests and report back the results (both as USB PD sink and source). Better to know the knowns than have a enthusiastic fan base find them and we get into discussions like this!

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.


> The short summary is that bad things (no charging) happens if the CC1 and CC2 pins are shorted together anywhere in a USB-C system that is not an audio accessory.

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.


> Why should it matter what kind of accessory it is used in?

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.


>USB-C has a special-case allowance to drive analog audio signals through the port

Wat. Just when I think I've heard it all...


You've seen the Type C - 3.5mm headphone dongles right? They're so tiny and cheap.. did you think they could be active? :)


There is also a debug mode that manufacturers can use to send arbitrary debug data connections on the usb-C connections. (manufacturers used to do this over microUSB as well)


USB-C tries to be one universal standard that covers everyone's use cases (https://xkcd.com/927/). Some phones used non-standard modes in their USB connectors which output analog audio in the USB pins, to be used with a passive adapter to a 3.5mm socket. So USB-C added, in an optional appendix, a standard mode for that use case. It's completely optional, so you only have to implement it if your device wants to output analog audio in the USB connector, or if your device is one of these passive adapters from USB-C to a 3.5mm socket.


> Why?

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.


The author of the article has a doctorate in a relevant field and has worked on USB compliant products, as far as qualifications go he knows what he is talking about.


The link originally pointed to a different article and was updated to mine later hence some slightly confusing comments on here.


On the RPi4 CC1 and CC2 are shorted, while the standard says there should be a resistor (2*5.1kΩ) between them, that's a huge difference.


I just wish I could find a 4GB Pi 4 in stock/for sale so that I could even have this problem.


I ordered one yesterday from the Pi Hut here in the UK. It shipped today...


Pretty unfortunate design flaw, and hopefully it can be corrected, but this post is horribly finger-pointy and the tone generally stinks. Would hate to make a mistake while working around this guy

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...


It's a bit finger-pointy, but it is also a pretty darn stupid mistake.

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.


>and to test with at least a few cables

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.


Seriously. Considering what a cluster the spec is and the budgetary goals for a project like the Pi, this feels really harsh. The focus is on the mistake and how trivial it was without any thought of why or how.

Pointing out mistakes can be done without being such a jerk about it.


They spend months if not years on the design and crank out millions. Getting USB-C right seems like a no-brainer!


I highly doubt they spent years on the design... But regardless we all make mistakes.

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.


This is exactly why the presence of this mistake appears very careless.

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.


The spec might be bad but then why deviate from The Reference implementation without thorough review and testing!?



Yet there was nothing wrong with the old link.


> Please submit the original source. If a post reports on something found on another site, submit the latter.

https://news.ycombinator.com/newsguidelines.html


Was the whole medium article really pointless regurgitation?


Says more about the quality of no-name usb wotsits


Everything works for me except my Apple charger. I blame Apple.


Apple followed the specification, the Pi 4 does not. How is this Apple's fault?


The linked article shows how it's due to a design flaw and explains why shitty cheap chargers/cables work but ok


Wrongly.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: