All About USB-C: Illegal Adapters
hackaday.com
hackaday.com
It would be interesting to have a USB 4.x spec that was both explicit in all the behaviors AND had explicit tests for and responses to non-compliant stuff. I don't think the IEEE or anyone else for that matter has the stones to try the experiment though.
Of course, depending on the jurisdiction who can actually bring claims, and how damages can be calculated, vary greatly.
I, for one, wouldn't buy "USB compatible but not USB authorized" cables if it meant being secure in knowing that the damned cable will actually work. Less tech savvy people might not, but there's also people who can be tricked into buying blinker fluid for their cars. There's gotta be a happy medium somewhere.
Oh, while you are at it, they will also need names that don't keep changing and don't have synonyms.
The 4.x names are ok for reference in a standard, but they are useless for consumer communication.
USB-IF promulgates the spec, licenses the logo and all that, they also have a suite of tests that manufacturers are to perform and submit to certify the devices. The problem is that not all manufacturers perform the tests or use the logo, so while it means USB is ubiquitous, it also has some weird behaviors in some devices that are compounded by the complexity of the USB C spec.
Even now Congress (or your local county equivalent) could make USB the law and make anything non compliant illegal.
USB is silently super backwards compatible. This is really good in a pinch: I need to get the data off this drive and even if it takes six hours because I only have a USB 2 cable I'm better off than if I couldn't do it at all.
The problem is the opposite case for users: They have a fast USB-4 drive (potentially 40 Gbps) and a USB 4 laptop but pick up a USB-2 only cable. Hard for most people to diagnise, especially as such a cable won't have an e-marker so the laptop can't even query it. Or a slow charging cable for their device, so they fancy laptop doesn't visibly charge, or only charges overnight.
Even for me these cases are hard to diagnose. And harder to understand than, say, using an inferior cable with your monitor so you et no signal at all.
I recently threw out all of my USB-C cables that are longer than a foot but can’t charge at 100w, because I decided USB-C is a primarily a charging protocol, and I’ll use wireless, short cables, or Ethernet for data transfer and HDMI for display.
The matrix of charging + data speeds in USB-C is a nightmare and always resulted in having the wrong cable for the desired devices and usage.
But if you actually pay attention it seems like cables work as advertised with reasonable consistency, at least for me.
The ability to know what the cable you’re holding can do is just not there. Unless you have some way of ensuring that all your cables are the same, you need to:
- discard/donate every cable that you can’t identify (as @brookst did) by its eMarker (though they’re required by spec) unless you own a specialized USB-C voltmeter or multimeter
- manually label every cable with all its unique specifications, either after running it through an eMarker reader or immediately after taking it out of the box
Fortunately, this is changing, though it's shameful it took this long to get standardized, straightforward labeling: https://tidbits.com/2022/09/29/usb-simplifies-branding/
The reason is that the USB-IF is owned/ run by the manufacturers and many of them want to be able to make cheaper gear (TBF mandatory high tolerances was part of the “problem” with the original Thunderbolt too, lo those many years ago).
This is also why USB-A is not symmetrical as was originally designed: to save money in the connector.
I was going to ask how to test these things as I need to do some housekeeping too. I just found out about (and bought) a digital USB volt/amp meters. Here's an example. [0]
[0] https://www.amazon.com/Eversame-Multimeter-Voltmeter-Indicat...
edit:
I just read this write-up [1], which clearly explained why the 65W USB C charging hub I bought doesn't necessarily enable "super fast charging" on my Samsung phone. Chargers and cables need to meet PD3.0 standard with PPS support to dynamically negotiate the volts and amps to maximize power throughput safely. Otherwise, you get auto-downgraded due to sticky default voltages.
[1] https://www.gsmarena.com/dont_just_buy_any_45w_pd_charger_fo...
Edit: Based on the description it does sound possible.
That was my conclusion when I looked into this about a month ago, especially if USB-C is the main focus. I remember a reviewer pointing out some deficiencies on the USB-A front (compared to other, simpler, meters) but unfortunately I don't remember what they were.
The firmware on the unit is upgradable. While there's no guarantee that the manufacturer will (or can) add support for any given future standard, looking at the firmware changelog suggests they have at least some track record of doing this:
V0.65 2022-10-27 Add automatic detection QC4/QC4+/QC5
V0.63 2022-10-16 Compatible with other Xiaomi charging heads
V0.60 2022-10-07 Added support for PD3.1 triggering
V0.60 2022-10-07 Added support for Xiaomi A port PD charging head triggering
What they should do is give a popup saying "You have a slow cable, it could be faster, go rummage till this message goes away and mark the good one with a sharpie", and that wouldn't need any changes to the spec
They've chosen reliability over quality. Cheap reliability is a great thing. We did fine before fast hard drives, we can often live without them. But we'll want to scream if we can't get it working at all.
I dunno if I even have the right kind, or how to even shop for the right kind, because there are like 500 wrong kinds that are all wrong for a different reason =/
Basically I just look for Thunderbolt 3/4 support and if it doesn't have that, I give up, because who the heck has time to understand 4000 kinds of incompatible USB?
I wonder if you could start an online cables boutique that just sold tested and reviewed cables and cable management with a 50% markup for people who just don't want to deal with it.
And your store idea invalidates having cheaper devices and cables and a ubiquitous protocol.
The only good thing about USBC is that if you moderately keep up to date with all your devices, eventually, recharging becomes relatively easy for all your devices. I don't think I've ever had a problem charging a USBC device. Generally everything charges everything. The high power devices like laptops are probably the exception since you need a brick that can deliver 65-80W[1].
1. One reason why Apple Silicon is so appealing. The M2 Air is plenty fast and basically consumes the power of an iPad. You don't need a 30W supply to charge it.
- devices that don't support USB Power Delivery
- chargers that don't put out sufficient power
- chargers that don't put out sufficient power only when there's more than 1 device plugged in
- devices that only work with a special USB Type A charger (the fat kind), not with C to C charging
- Google/Samsung phones not charging with each other's chargers, even though both have similar power draws and both use USB-C
- devices where only certain USB-C ports can reliably charge (some recent Macbooks had this issue)
- devices where the USB-C port can't be used for charging at all, only comms
- USB-C hubs with unreliable power supplies that sometimes work sometimes don't and eventually dies on you altogether
- USB-C cables that wear out unpredictably over time and only support slow charging after a while, not PD fast charging
etc. All of those were scenarios I've personally experienced in the last few years. It's a nightmare.
Thunderbolt is much cleaner but much more expensive.
Except for the fact that it's very expensive.
(So much so that I bought two of them.)
I don’t know if you can trust what you see on eg Amazon but “USB IF certified” should be a fully-spec-compliant cable. I’ve successfully bought cables on Amazon this way.
It’s annoying, but from research that’s the magic incantation to search for.
I think something like this exists in Windows. I'm not sure under what conditions it triggers, but I remember occasionally seeing a tooltip saying something like "this device could work faster", directing me to plug it into a different USB port.
Not sure if they continued this for USB 3.0 and USB-C.
Android does this. "Charging slowly"
There is no way to tell what a good cable is ('good' brands included), or if the cable is even the problem.
Also, Dial-Up/Ethernet pairs seem to be too complex? Each house I bring my Ethernet/wire Tester+Detector to, somewhere I find a rat's nest of copper cable. Just today I found an Ethernet cable that connects 4/8 to nearby the router, and the other 2 Pairs of wire terminate in a Dial Up cable in another room!?
https://www.amazon.com/dp/B093YVRHMB?
- USB A and USB C on one end
- USB C, micro USB and Lightning on the other end
- 100W PD
- 20GB data
- video over USB C for my portable second display (https://www.amazon.com/dp/B095GG31KX)
I never have to worry about the “right” cord. I did keep my MagSafe cord for my Mac.
I bought a couple of multi-connector cables similar to the ones you have, but from a different manufacturer and no real specs on the packaging a couple of years ago.
They both charge whatever is connected extremely slowly, no matter what power supply or device. They can barely charge a phone overnight, and charging is so weak that if my phone is used while plugged in, battery net-drains instead of charging. Would've been better to buy cheap, separate charging cables and more power supplies to keep the different device-end connectors powered.
But to be fair, there were no specs when I bought them in a store, just claims that they can be used to charge different devices from USB, which they do, just surprisingly badly.
Any cable ran in the previous decade should be dedicated to Ethernet, though…
So I have to be extra sure that I have the right cable before I leave for a trip.
https://datatracker.ietf.org/doc/html/draft-thomson-postel-w...
In Section 4, they define an alternative design principle based on the lessons of protocol deployment:
Protocol designs and implementations should be maximally strict.
Wasn't this the goal of xhtml?
It doesn't matter if all your angle brackets are in the right place or all your attributes are quoted. What matters is that all implementations do the same thing given the same input. You can be strict and achieve interoperability without punitive error handling.
If the behaviour of such code is rigorously specified, is it even correct to label them "shortcuts" or "errors"?
Which, if I had to rank the two, I'd choose the compatibility easily. Users who actually have a need for 40Gbps transfers will either put the effort into getting the correct cabling, or they will quickly learn that lesson. The fact that they have a working option in a pinch is far more valuable then assuring they can't possibly make sub-optimal cabling choices.
The article has to go to great lengths to even try to make this point. I mean, sure, if you hack up an unlabeled USB cable into a PSU and then plug it into devices it wasn't intended to be used with you might fry the ports. Is this really a problem a "user" is likely to face?
I think it's a matter of where you apply it.
For a purely software construct such as a network protocol, probably ok.
For something like negotiating current and voltage where making the wrong decision can melt a cable or fry a circuit board, as stated in TFA, obviously it doesn't fly.
If there are many implementations with differing amounts of perceived flexibility or wrongness in different areas, the average is going to be OK.
If misunderstanding a spec is so common that many implementers are universally confused and "wrong" in the same way, maybe it's the spec that was wrong, and the misinterpretation should have been the spec.
Ps. Phrasing this as "evil" contrasting with good reads to me as paranoid and melodramatic.
Bad behavior being eventually codified into a standard because implementations were lax and it's impossible to go back on what everybody is now already doing is the story behind much of the modern web as it exists. HTML requiring closing tags for some elements, requiring a lack of closing tags for others, and leaving the closing tag still optional for yet others is a side effect of common browser behaviors.
You're right that many implementations with different wrongness smooths out the average in many cases, except when all those implementations are expected to behave the same way on the same bad data. Then they all converge to the same bad behavior, which then becomes the new standard. Perhaps that's organic and natural, but I still wish we had a world where HTML was strictly compatible with XML, or with any other structured and predictable format.
And to be precise, it's "accept stuff that subtly wrong" that's the problem.
"Accept previous version of standard in addition to current one" can be completely fine.
And USB problem is really neither, it's just sheer overload of features and how most of them are optional so you never know what supports what
Like there's a reason that Speak-On (1) was invented. It turns out sharing a common connector for carrying power and signal can be fucking dangerous.
https://www.bax-shop.nl/speakerkabels/klotz-scasf030-neutrik...
> Speakon connectors are rated for at least 30 A RMS continuous current
1/4 is still used in places (I have not too old guitar amp with one), but main benefits are:
* No exposed metal
* Higher current rating
* Unidirectional. Can't put output to output.
* Locking connector.
Especially the last one, you don't want random pull to remove a connector easily, especially on events where you can't control everything going on.
The fact it's different than the rest is just cherry on top. Actually, with lower power (say tens of watts) you probably wouldn't even damage anything but speak-ons are near-ubiquitous on "big boy" stuff with few KWs of power
The un-negotiated 20V power input is a WTF and I've never seen that before, but the typical behavior from a port not expecting that is getting fried so it's not like anyone else is being overly liberal.
The extension cable works because basically all physical connections from the last 30 years or so are designed to still try to work at a degraded level with subpar signal integrity, because the world is analogue and you can't have a 100% perfect signal. The sometimes missing pins can't be required without breaking compatibility with pre-C ports that don't have them. Likewise, the male-A to female-C adapter can't really be distinguished from a male-A to male-C cable, so you can't prevent it from working without also blocking those cables.
IMO the real issue is the USB-IF stubbornly refusing to allow any legit versions of an extension cable (or I guess male-A to female-C) with active circuitry to make them reliable/safe. A hub allows male-A to male-A connections and length extension after all...
I bought the power bank from a well known brand, and I've tried charging it from different supplies. It seems to negotiate the power to charge itself correctly. And my devices just detect it as a power supply. It has wireless charging for phones too.
If you're worried about purely theoretical attacks, you should also be worried about your power bank's firmware being infected from the malicious port and subsequently infecting your phone.
It’s not obvious that if a connector fits it will work!
Is it wrong? To me not, you have to be careful, just as you can plug a 3kW space heater with an extension cord with a 0.75mm2 cable and burn your house down you can use the wrong usb C connector (that will unlikely start a fire)
Instead it's yet another standard that looks like someone that fell out of the ivory tower outhouse.
Preferably, two different idiosyncratic languages. I vote Prolog and Snap! (BYOB). If you pick C and D, you'll get basically the same idiosyncrasies leaking in from both languages.
Be strict at what you send, as much as you can. This maximizes the probability of your widget working with everything else. Be lenient in what you accept, and your widget will likely work with everyone else's widgets, even if everything else's ideas of the correct protocol slightly diverge.
Following the two approaches makes your widget more compatible than a strictly-adherent, inflexible widget your competitor might produce.
The more compatible your widget is, the fewer unhappy customers you have: it fails to work in fewer cases that a strictly-adherent widget would. It may not work ideally in every case, but it may work well enough for the customer to keep it, or even for you to deny a refund.
With low-price items like cables, it again plays into the cable maker's hand: all the various cables are okay because they demonstrably work (not "broken"), but now you can differentiate between very cheap cables that can do little but suffice in simple cases, and premium cables that offer high speed, high power, etc. You can put a cheap cable into a toy as a charging-only low-power cable and save the all-important few cents. You can charge $29.99 for a cable that can do it all™, for customers annoyed by cheap underperforming cables (which they also bought from you!), who decide to finally splurge on the real thing.
A world where there'd be one and only maximalist format, and where the smallest deviation from it would render a device / cable useless, would be (even) more painful for the customer, more expensive, and with some more preice-sensitive segments underserved. The variability that follows from the "be lenient to what you receive" corresponds to the need to serve many varied market segments.
Sorry!
https://community.silabs.com/s/article/what-s-the-role-of-cc...
- whether CC pins are to be handled by the cable or by the device,
- whether added pins are for insertion detection or for protocol use by the host,
- which pins are to be pulled down or left NC for charging,
- whether USB-C is meant to be a “mobile” connector, or a replacement for the USB-A connector, or how soon the replacement is to occur.
As the result, there were some devices that has a USB-C input but only works with an A to C cable.
Never had issue with c-c cables neither, but I use tiny anker 65w charger and official samsung phone c-c cable (so getting ultra fast phone charging or whatever is the proper name), but its true that if I had to supply 3-4 locations with all necessary and convenient set of chargers and cables that would cost quite a bit. It really is one of those 'you get what you pay for', unfortunately very few people know this and I learned most of this here on HN too
That's still not perfect because the 2 cm of plug sticking out of the side of the device is long enough to put substantial leverage on the soldered part inside the device but that seems to be a given. I do try to find the shortest possible plug to minimize that force, but can't find them much shorter than that.
It was nice to have a "mag-safe" USB-C, but frustrating to have the port stop charging randomly - something I always ended up noticing when my laptop throttled down to a crawl as it reached near-0% battery.
https://www.reddit.com/r/UsbCHardware/comments/motlhn/magnet...
when i started typing this i had a coaxial cable in mind as an example of "looks like female but isn't", although UHF/F come close. the "male threaded" part is not the male connector.
I've fixed ~4 phones by doing that.
This was a problem with USB micro, too.
Still have some working iPad 1 chargers (fat lightning).
The other style is oval shaped, and those would obviously be incompatible.
And what's the worst that happens? I might eventually have to switch to normal, horrible cables, like you use every single day? Enjoy wearing out your cables and devices...
Aliexpress brands respectively uslion (x2) and elough.
Metal scraping flimsy metal contacts that are nigh-unrepairable is a hard lesson. Unfortunately it is also one that I seem to need to re-learn on a consistent basis.
I do like the suggestions of plastic or wood; that's probably a better idea as the material is softer. My spudger doesn't fit a USB port, sadly. IDK if a toothpick would, I'd never thought of that.
I try to be mindful of the actual connector's pads when I clean, so as to not scrape them.
I've cleaned mine with a needle several times without any issues. Being a little careful seems to suffice.
It's also a problem with Apple's Lightning. Every once in a while I preventively take a toothpick to my iphone in order to delint it.
The flaw was acknowledged by Nokia. It was handed down by a phone upgrade addict though so I couldn't be arsed to try and make a claim for free repairs or something.
I've had a lot of cables die though, but mostly because I bought them at a gas station in "need to charge asap" type situations.
In my experience, Anker products are nothing short of garbage. Keyboards and adapters all break within weeks. I feel like all the “anker is the best!” stuff I see online is stealth marketing because I’ve had better results buying absolutely anything else.
It happens to all the brands.
It turned out that if I used a non-Anker cable or a non-Anker charger, everything works fine. Anker were happy to send me replacements for things, but no only-Anker solution would work reliably. I bought a bunch of cheap generic brand USB-C cables and they work much better.
I've stopped buying Anker now, since there now seems to be no benefit over buying a generic brand.
And this explains your scenario: in the USB-A plug to USB-C plug case, the cable always provides power on the USB-C plug; in the USB-C to USB-C plug case, the device on the other end will only provide power when it sees the pull-down to ground, which should be provided by the device, and in your case is probably missing.
https://github.com/alvarop/usb_c_cable_tester
It has a number of connectors, the cable gets plugged into the board with both ends and labelled LEDs will light up for wires that are connected. It runs off a coin cell, no microcontroller, no single-board computer, no nothing. Just a power source, LEDs and connectors.
From what I remember, the creator said that the repo should contain everything required to have some manufactured by JLCPCB (that's a large Chinese PCB prototyping service that also populates boards with components if you like).
To help with this in the future, I recently ordered a run of these usb cable testers from jlcpcb with some friends - https://github.com/alvarop/usb_c_cable_tester - totally worth it to never have to guess about a cable again.
(for the curious, a technical description of what was happening: the cable had pins A1, A4, A5, B1, B4, and B5 all connected. The port had pins A12, A9, A8, B12, B9, and B8 connected - If you look at this in a pin diagram like the one on this page https://arstechnica.com/gadgets/2015/01/usb-3-1-and-type-c-t... you can see that no matter which way around you put it in the port you'll never get contact)
I once worked in a data center where there was a rule that all cables over 1 foot long must have all wires and be 1:1. Any "adapters" were very short, labelled cables. USB-C is now there.
I literally cannot predict if a cable can charge, transfer data slowly, fast or if it will fry my device.
I mostly want a *hard requirement for a specs label ON THE CABLE*. How else am I supposed to know what they are for? Even Apple is not labeling their cables.
Same physical appearance and no labeling is recipe for disaster
At least 10-15 years ago I was trying to copy data from one USB harddrive to another. I was already using my ports so I tried to do it through a hub. This was in the day where machines still had 3-4 ports, maybe even 5. But after my webcam and mouse, I was full.
I was poor and broke then and always had cheapskate hubs. It would always work but you'd have weird errors or crashes and finally one drive would stop responding midway through a 6 hour operation.
Now 2022 with a decent job I said it's time to properly experience USB and splurged on a well-known $100+ one.
Laptops in 2022 now have ONLY ONE USB PORT, both my Macbook and Huawei. The second port is for power. And? .... Yeah USB hubs don't work at all. Same crap. I was blaming my Xiaomi phone & Windows 10 for the fact I can't back up my photos .....for months. Nope it was the gdamn USB hub. And it's ALWAYS 100% OF THE TIME weird issues that appear in the middle of long operations inconsistently. The hardware involved never matters, Mac, Windows, cheap hub, fancy hub.....all TRASH
Thunderbolt > USB-C any day.
It’s prohibitively expensive for the average user’s use case.
Now obviously you want to be careful with where you plug it in but it's still quite convenient.
A more advanced way to do this is use an arduino board that can negotiate arbitrary voltage in 20mV steps with a PPS-compliant charger, effectively giving you a tiny lab power supply (although you can't get under 3.3V and the chargers are still a bit pricy).
And that charger I have which is USB-C but only works in one orientation.
And those expensive OpenFlow/P4 compatible switches in the datacenter whose management interface is serial (as in RS-232), but the form factor of the connector is USB-mini.
My phone had this problem. I went through several cheap USB cables over the course of a year, before finally realizing it's not the cables that were the issue (other than being cheap and easy to deform): the issue was caused by lint accumulated in the USB port. After scraping it out with a needle the issue went away.
The lint and dirt will accumulate over time, and get compacted in the port by the charging cable, making it very hard to spot, as it looks just like the back wall of the port would. Cheap USB cables will easily deform after being plugged a couple times, making them much easier to pull out - but this alone will not make the connection intermittent, even though it feels that way if you're not aware of the lint problem.
Edit: I know complaining about downvotes only solicits more but I am genuinely curious why two people thought this comment was so irrelevant to the discussion that they downvoted it. Only explanation is that they believe that Apple could do no wrong. Lol
Also, Apple will be forcing all Mac apps to go through the Mac App Store any day now. Since it introduced the Mac App Store a decade ago.
Based on iPhones with Lightning connectors supporting USB C PD charging for years now as well as various iPads with USB C/Thunderbolt connectors supporting many "USB C features" such as docks with HDMI and USB A ports, I'm curious why you are "more than certain" that Apple would change this behavior in the future. Could you care to elaborate?
This talks about power. I'd also like to read one about all the possible data and video usages and gotchas.
Is this a typo? The whole point of a "data blocker" cable is to not have data transfer.
Drives me crazy. Whole point of USB C is to avoid shit like that. I'd rather shit devices still come with micro USB so at least I know they need an old charger.
That said, I'm guessing this violates some specification or other. Ah, well, no explosions yet.
I would like to have really long cables (12ft+). That way I don’t need to bring a bulky extension cord with me when traveling. Has anyone found a way to make this work?
There are also 4m (~13ft) and more cables available but they might not support the latest Power Delivery standard.
I think for charging, there should be a charging only port, and for data, having separate ports which you can tell which physical port is in use, and perhaps RS-232 or MIDI would be good, than USB which is no good.