Shared publicly  - 
 
42nd analysis: #USB #TypeC +Anker PowerPort Speed PD 30w wall charger [Model A2014111].
tl;dr: Noncompliant charger. Printed and advertised levels do not match actual capabilities. Inconsistent overload protection. It may not work on certain laptops and high-power devices.

[PDF of Compliance Checklist for Anker A2014111]
(to be posted later, data in images)

Anker released this product just a few days ago. It seems they repeated certain design errors common to their other products.

https://plus.google.com/+BensonLeung/posts/71FgNerD8TB

This charger violates [Section 10.2.2 Normative Voltages and Currents] [Table 10-2 Normative Voltages and Currents] of the USB-PD spec. This sates "Table 10-3, Table 10-4, Table 10-5 and Table 10-6 show the Fixed Supply PDOs that shall be supported for each of the Normative voltages defined in Table 10-2."

Per [Section 1.4.2.10 Shall/Normative]: "Shall and Normative are equivalent keywords indicating a mandatory requirement. Designers are mandated to implement all such requirements to ensure interoperability with other compliant Devices."*

Furthermore, Anker misrepresents the capabilities of the charger on marketing materials and text on the charger itself. On the side of the charger and online it even claims: "5v/3a 9v/3a 15v/2a 20v/1.5a". USB D+/D- BC1.2 DCP signaling mandatory. [I advocate "Autodetect" signaling here.]

The actual electronic capabilities of the charger are "5v/3a 9v/3a 14.5v/2a  20v/1.5a". USB D+/D- have Apple 12W signaling.  (Attached traffic dumps from a TotalPhase PD-Analyzer and Google/Plugable Twinkie linked.)

This will cause it to silently fail when used with certain high-power devices and laptops using the 15v rail. I dislike this type of error since users without very expensive test equipment will never know what is happening.

Another ramification of this is certain devices like Chromebooks which prefer "lower voltage for same wattage" will latch on to the higher voltage rail and generate more heat converting voltage than they otherwise should.

15v*2a=30w and 20v*1.5a=30w. The rules were set up so devices which can only accept 20v get 20v (like laptops) -- but flexible ones (like Chromebooks) which accept 15v or 20v can take whatever is most efficient for them to convert. In this case, 15v is more "efficient" and runs cooler.

But because Anker used 14.5v/2a (instead of 2.06a exactly), the Chromebook will see 14.5v*2a=29W and 20v*1.5a=30W, and will pick the inappropriate 20v level. You're probably generating 3-5W of waste heat [and losing that much from charging] as a result. (See my recent disclosure about the Pixel charging behavior for "thermal" notes.)

This appears as if Anker tried to use a workaround to support Apple's proprietary voltage levels. The proper way to do what Anker was trying to attempt would be to offer 5/9/(14.5 optional)/15/(20 optional) and the exact proper amp values, respectively.

This suggests other bugs in the PD controller firmware, which I found.

The IR drop compensation is sawtooth, not linear. This suggests non-optimal design. With the chips already in the charger, it should have been possible to use linear PWM compensation. The PD controller firmware has bugs shared with some chargers, like inappropriate packet header incrementing, and claiming  to be "dual role data" when it is not appropriate.

Finally, the overload protections are questionable. Sometimes it shuts off the charger entirely and reboots into 5v. Other times it sags voltage to unsafe levels and holds it there. this caused some issues with my load testers. (Documentation supplied in the form of TotalPhase PD-Analyzer voltage and current logs.)

All in all I'd say this was a VERY close attempt by Anker, but due to questionable issues I can't recommend it.

#USBC  
22
Gisle Enåsen (breal)'s profile photoNathan K.'s profile photoBart van K.'s profile photoBenjamin Spence's profile photo
14 comments
 
How are we supposed to move forward with all this broken charging 😑 How were we going to move forward safely without these guys testing all these things? 
 
+Linh Nguyen This charger is "safe-ish". Just designed poorly. I am critical about these things because otherwise we'd be in a swamp of everyone and their ODM "doing their own thing".
 
+Nathan K. oh, I'm glad of your critical work. I just meant this rush to push product is painful. There's a history of "oh, just buy Anker" and not everyone follows you and Benson. Being safe-ish isn't enough, the spec is there, stop short cutting it :(

The whole Belkin auto charger Google was/is highly disappointing, for instance. Let alone the multitude of Verizon chargers you posted (that were all way too similar for consumers to differentiate). This feels like it's a more painful transition than past.
 
+Gisle Enåsen This charger is SAFE. Just has flaws. (With exception of maybe the overload behavior.) A UK plug on a device sold in the USA is perfectly "safe". It just won't work properly.
 
+Nathan K. I am very much enjoying the work that you have been putting this cable, charger, and battery validation. However with very few highly recommended "Must buy" is there anyway you could show us to to build our own safe charger using something like an Arduino board or something else along those lines?
 
So I grabbed the specs and try to follow along with what you're saying here... Some questions:
1) PDO (Power Data Object) is just a type of payload for a PD packet, right?
2) Why doesn't the firmware simply send a 15V@2A PDO and a 14.5@2A PDO for the 12" MacBook? Is that MacBook its charging firmware borked/predating PD rules?
3) Do we know who is the supplier of that firmware? Are there reference implementations from the USB that we can inspect?
 
I've partly found the answer to question 2 in an old comment from Benson: "Apple's C to Lightning cable actually has active components as it acts as a bridge between USB Type-C and USB PD and Apple's lightning higher voltage charge protocol."
 
+Bart van K. (1) Yes. A SRC_CAP packet contains multiple PDO elements. Furthermore, a SNK can claim the PDOs it would like in a SNK_CAP.

(2) NO. That's the whole rub. Anker could have easily avoided this by adding a 14.5v AND 15v PDO. Trivial. I can only presume they did 14.5v only as an attempted compatibility hack.

(2.5) Yes, the MacBook predates the PD rules and was "grandfathered". However it is causing all sorts of headaches now, since Chinese companies are literally only designing for and testing with only one USB-C device they have in their factory.... you guessed it.... a MacBook.

[Personal opinion] By rushing to market with their own proprietary USB-C stuff, Apple salted the earth of the ecosystem behind them.

(3) No idea who made the firmware. Anker hasn't contacted me. I don't pay dues to the USB-IF so I can't see their lists anyway. If have to crack open the charger to find out.

(3.5) Yes. There is ONE reference solution for a PD charger that is completely open. TI's PMP11451. Literally all these guys have to do is copy that design and maybe rejigger the firmware to support additional voltage levels. That's it. But they don't. :/ It's infuriating. If TI sold this as a complete assembled kit, I'd have bought one already.
ti.com - USB-IF Certified USB Type-C™ DFP 20V/3A/60W Out, Universal AC Input Reference Design - PMP11451 - TI Tool Folder
 
Here's the TI reference design, look at the thermal images. TI "did their homework", even though the voltage levels are incorrect for PD2.0 power rules now. But I presume all they need to do is rejigger the daughterboard (which is detachable) to make it work better.
ti.com - www.ti.com/lit/pdf/tidubi5
 
+Nathan K. Thanks for the very enlightening answers. BTW that reference implementation is very cool. And these thermal images are mesmerizing.

I don't see source code, though. I'd expect some C code for the PD protocol?
 
Oh wait, that daughter board handles the PD protocol "TPS25740 USB Type-C™ Rev 1.2 and USB PD 2.0 Source Controller", and I bet it comes with a ROM for the PD protocol?

 
+Nathan K. Awesome, thank you for the reply. Another question, have you considered testing any of the Griffin chargers? Specifically the PowerJolt Dual Universal Micro? I purchased one a couple years ago and haven't had any issues with it on iOS and Android devices (including my new Pixel). The Pixel even says it is 'rapidly charging' on it, however I would like to be certain that it isn't slowly killing my devices. If you haven't considered testing them, I would be more than willing to donate my personal one to help the cause.
Add a comment...