19

There's been a lot of press about how some old USB Type-C cables are dangerous. As I understand it, they have the wrong resistor, and that causes the device to draw too much power.

On the other hand, I'd like to get some cheap USB A-to-C cables for stashing around the house. I also currently have a likely-nonstandard cable that came with my phone. I have a OnePlus 3 and the cable is part of the "Dash Charge" quick charge system. The cable is designed to handle up to 5V 4A. (I'm assuming that's safe for use with a PC, though.)

While "get cables that have been tested by benson leung" is a good idea, having a standard way to test my cables that do not involve having a Nexus 5X or 6P would be nice.

From what I understand, the issue is with excessive current draw. Would monitoring the current draw phone side, with an app like Ampere be sufficient? And, what current is safe for a phone connected to a PC?

If I wanted to check the resistance, where would it be?

In short, if I don't want to pick up a Nexus phone and run CheckR: How can I test to see if it's safe for my current phones and PCs?

I'll be using a variety of possible charging sources. But, more importantly, I want a cable spare I can use to connect my phone for data transfer. For my purposes, let's assume a Windows 10 PC with a powered USB hub as a baseline for testing. I'd likely use legacy USB A-to-C cables for the most part.

I'd also add: It's plausible that the problem might be specific to certain phone/PC combinations. The OnePlus 2 apparently would use any USB cable, in spec or not. The Nexus phones might not have. Hence, testing for my own hardware.

10
  • 2
    Supposedly, only cables that have been tested to prove compliance with the specs can carry the USB Type-C™ and USB-C™ trademarks. The key may be to not look for inexpensive cables, but to stick with cables from major cable and peripheral manufacturers whose reputation relies on quality.
    – fixer1234
    Commented Jul 14, 2016 at 18:20
  • 2
    Sarcastic Answer: Order hundreds of different cables and perform test to verify they comply with the standad. Serious Answer: Read hundreds of amazon reviews by a Google Engineer that did exactly that. Of course you know this already, figured I would provide, a semi-serious comment for fun.
    – Ramhound
    Commented Jul 14, 2016 at 18:56
  • @Ramhound yes, this is plausible. However said google engineer has written software that works on hardware google designed and they essentially support no matter what, which is a luxury I do not have. On the other hand, my phone might just draw a sensible current, which means I can use whatever cable's on hand. In future one might come across a random cable, and being able to ascertain early in the charge process that its good would be nice.
    – Journeyman Geek
    Commented Jul 14, 2016 at 20:38
  • 2
    @Ramhound there's been cases where they've changed the design of a 'good' cable after review and vice versa. On the other hand, I can't say I've heard of this happening with non nexus phones yet. Trust but verify sounds like a good idea, even with known good cables.
    – Journeyman Geek
    Commented Jul 15, 2016 at 0:17
  • 1
    @fixer1234 Because people making dodgy cables overseas would never dare to violate trade mark laws... Commented Dec 21, 2016 at 7:15

4 Answers 4

12

There is no need to suspect something or not. Everything is defined in Type-C specifications. Use the common rule of engineering: Read specifications.

Yes, the main problem is with “legacy cables”, Type-A plug to Type-C in particular. The Type-C specifications define the primary mechanism of how the consuming port (phone/tablet, or Upstream Facing Port, UFP) detects source capability.

If a standard C-C cable is used, the supplying port (Downstream Facing port, DFP) “advertises” its capability by using three different pull-up resistors on CC pin. If a 5V pull-up reference is used, these values are 56k, 22k, and 10k, for port’s capability of 500mA, 1500mA, and 3000mA correspondingly. The CC wire propagates this information from DFP to the end of Type-C cable. The connected device (phone) will (should) detect this, and limit its consumption accordingly.

Now, what to do if you have only a legacy Type-A port on your host, as most PCs do? The Type-A does not have any extra pins like CC. The Type-C Specification suggests embedding this information into the Type-C end of the legacy A->C cable. Therefore, the “information channel” is broken now, and the phone will try to grab as much current as the pull-up resistor inside the Type-C overmold indicates, which is soldered by cable’s manufacturer. Since the cable does not know which port you will plug it in, the safe cable pull-up should be 56k, otherwise the phone can try to suck 1.5A or even 3A from the cable. If the port is a regular USB, the requested cable power may vastly exceed port's capability. With cheap uncontrolled power delivery (some cheap PC mainboards connect the VBUS directly to internal +5VSTBY), it will cause system shutdown.

If the port is powerful enough, but the cable in use is skinny (Type-C cables can have as low as 28AWG on VBUS and GND wires) and the C-connector has wrong 10k pull-up, the cable might burn out and cause fire.

P.S. You can measure the pull-up value of CC-to VBUS on any A-C cable by using a breakout connector like this one: link

8
  • 1
    That of course assumes everything is as per the specifications - and that can go both ways. VIsual cable thickness may not be a good indicator - there's nothing someone from tarting up a normal cable in overly thick sheathing. And you may not always have a breakout board and multimeter on hand to check. I might read and grok the specs, but the random cable I have on hand... might not have been bought by someone who did.
    – Journeyman Geek
    Commented Jul 23, 2016 at 7:04
  • 1
    @JourneymanGeek, if you don't have technical tools to check cable parameters by yourself, you have no means to know, except if you always purchase cables that carry USB-IF certification logo and carry verifiable TID (Test ID, listed on USB-IF website). Commented Nov 19, 2016 at 1:08
  • @AliChen Any idea where I could buy such a USB-C breakout board? I can't seem to find it. Also, the answer you posted is very complete, thanks! Commented Mar 1, 2017 at 1:21
  • 1
    @KevinVanRyckegem, search eBay for [Type-C breakout] Commented Mar 1, 2017 at 2:08
  • 1
    @KevinVanRyckegem, Type-C legacy cable has only one CC pin. Depending how do you flip the overmold and look at it, it could go into CC1 or CC2 of the Type-C receptacle. Commented Mar 14, 2017 at 18:23
4

A guide on how to buy safe USB-C cables was prepared by laptopmag.com and is available here:

http://www.laptopmag.com/articles/how-to-find-safe-usb-type-c-cables

Suffice to say that testing currents and resistances from connector to connector is going to be nontrivial and would likely require specialized gear. Trust, then, in cables certified by people who have that gear. As an example, looking at the engineer you mention in your post, Benson Leung's, google+ blog, you can get an idea about his testing methodology. A lot of it seems to be a combination of plug-and-pray and putting things under an oscilloscope.

edit: There is a diagram of how the resistors are arranged within a USB-C cable available here. It may be possible to use a USB-C breakout board, such as the one available here, to establish baseline impedances and resistances across terminals of known-good (certified) cables and test those baselines against suspicious cables. Be sure to account for tolerances.

4
  • 1
    I thought the USB-IF list of certified products was available only to participating integrators, but your link includes a link to the PDF: usb.org/kcompliance/view/…, which is apparently updated every few weeks.
    – fixer1234
    Commented Jul 14, 2016 at 19:42
  • Feels like a few of the tips there are flawed. 'Seamless' usb C cable connectors seem uncommon, even in many safe models. I'm toying with checking resistance between pins, which dosen't really sound that complicated. If I could just find my multimeter. I'd also add that Both Benson Leung and another google engineer use an app called checkR, that only runs on the two current model nexuses and the pixel q, and would let you check if a cable's safe.
    – Journeyman Geek
    Commented Jul 14, 2016 at 20:54
  • 1
    Why not take a known-good cable from the list and establish baseline resistances / impedences / etc from that? It might be easier for you to do this if you wired up some sort of breakout board that'd make testing the leads easier. Here's one for sale: saikosystems.com/web/… Commented Jul 14, 2016 at 21:04
  • I also just found this: cypress.com/knowledge-base-article/… Now this is a bit of a guess, but you might be able to calculate an expected equivalent resistance between the positive terminal and ground and decide from there if the appropriate 5.1kOhm resistor is present in the circuit. Commented Jul 14, 2016 at 21:08
3

I did a bit of homework on the subject. I don't have the equipment to definitively check for safety yet, but there are several things I noticed during my own tests.

For the most part, this issue seems to be with USB C to USB 2.0 Type A cables. They misidentify themselves to certain phones. The Nexus and Pixel phones seem to be the primary ones. They then draw significantly more power than is safe. USB C-to-C cables should be fine.

That said, the phone, computer, and cable all seem to play a part.

If you have a Nexus 5X, 6P, or Chromebook Pixel, the checkR app would be a good way to do a quick test. I don't, and this doesn't work on my device. These seem to be the primary devices mentioned in most articles on the matter. These devices are both the best tools for doing the checking, and the devices with which you need to exercise the most caution.

I use Ampere instead since I have a OnePlus 3. It gives me a "max USB current reading" (which I only see on my USB-C capable phone and not my old Moto G). Connected to a power bank or charger, this value shows up as 1500mA. However, on front panel USB ports, it's detected as 500mA.

A "safe" cable will have a value under 3A, and of course, the current draw should be under that unless you're using a fast charger. The DASH/VOOC charger/cable combination is detected as 1800mA USB max, and charges at 3500mA (as designed). I believe Ampere shows the phone's charge rate, so your actual current draw would be approximately 200-500mA more. Current Monitor (com.ericjohnson.currentmonitor) would give you raw data as well.

I suspect the OnePlus 3 drops down to 1.5A charging (or 500mA on a PC) unless the DASH/VOOC cable/charger is used, so it might be safe, by default, by virtue of being out of specification. If you're unsure, it's probably worth keeping an eye on it.

I may buy a dedicated USB volt/ammeter, for science, in the future. But it seems that unless your phone's designed to draw more current based on the cable, as per the spec, it should be fairly safe.

So, my phone seems to behave well with any cable, and my cheap dodgy cables are safe for the most part. If anyone visits with a Nexus, I'll get them to run checkR first, and annotate my cables.

2

Unfortunately, the only sure-fire way of testing if a cable is spec-compliant is to use a dedicated device for testing - something like Advanced Cable Tester, which I believe Benson uses nowadays in his tests.

If you aren't sure if a cable works, check if it's USB-IF certified - this is the best way of knowing if a cable is valid beforehand! The full list is available here and is updated regularly: USB Type-C Cable Certifications.

If it's not USB-IF certified, check if someone (such as Benson) tested it and published the results before.


All that said, here's why it can be difficult to test a cable.

When it comes to USB Type-C to Type-A cables, there are two things to keep in mind:

  • Does it have the 56k pull-up?
  • Is the cable resistance low enough for it to safely handle the maximum power it can support?
  • Is it wired correctly?

The first is (sort-of) easy - as Ali Chen pointed out, you can measure the pull-up resistance and determine if a cable is safe.

The latter two, however, may not be straightforward.

If you're sure the cable uses a correct 56k pull-up resistor, you may be able to check if the voltage drops when the cable is in use, connected to a compliant charger and under load. If it's below 4.5V, throw it away immediately. If it's above that, but below 4.8V under normal load, you don't need to throw it away, but you probably should.

Checking if a cable is wired correctly is a whole different story. An incorrectly wired cable can kill your device - exactly what happened to Benson with a really bad cable. There are many mistakes the manufacturer can make and it's difficult to determine if everything works correctly without a specialized device.

All this, with the exception of 56k pull-up which is legacy cable specific, goes for USB Type-C to Type-C cables as well - they too can be incorrectly wired and the resistance requirements are more strict here, as these cables have to support at least 60W - or, in some cases, for emarked cables, up to 100W - a huge jump compared to legacy USB which only needed to support 2.5W - 15W.


Finally, with all this in mind, an app like Ampere is not a good enough metric of whether a cable is valid - even if we disregard the fact a bad cable can be unsafe to plug into your phone for even a minute, a phone charging is not a good measure of how good a cable is:

  • If the cable doesn't have the 56k resistor, the phone may still charge - it will try to draw more power from the charger.
    • On some chargers, this will actually work. Many chargers can take a high load, either by design or the manufacturer didn't take the correct safety precautions (a charger should shut down in some form when overloaded, because it's unsafe to run).
    • On some chargers, this will cause a voltage drop, but the phone may still charge slowly - which will look a lot like the cable is correct while in reality the charger is overloaded. Different phones are more or less tolerant to lower voltages.
  • Not all phones will actually try to draw that much current, even with the 56k resistor in place.
  • Ampere only tries to estimate the load based on the difference in charge for a given period of time. For example, a device that's consuming a lot of power at the moment will appear to be charging slowly in Ampere.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .