This is a followup about the Apple C-to-Lightning cable. This also covers Legacy C-to-microB cables and "USB Condoms". After consulting with +Benson Leung and the bright folks over at a certain company, the issue lies with the charger.
tl;dr: Anker, dodocool, and other manufacturers need to add a USB Charging Port Controller to the D+/D- lines of all ports, including the USB-C one, so that legacy devices work.

This situation was aggravated since Apple's Lightning spec is relatively opaque. I was under the impression Lightning signals current capacity with single-wire communication over the spare Lightning pins. I've had to read articles from people reverse engineering Apple cables (shout out to Chipworks) to discover how it actually worked. For simplicity -- and to avoid cleanroom information contamination -- I will quarantine that information to another post. (If you work with the USB-IF or deal with patents, don't click it.)

http://blog.freedelity.be/blogs_message-49-1-Hacking_the_Lighning_cable__let_s_talk_tech.html
https://www.chipworks.com/about-chipworks/overview/blog/systems-analysis-apple-lightning-usb-cable
http://www.macrumors.com/2013/05/09/apples-lightning-connector-detailed-in-newly-published-patent-applications/

The problem boils down to the fact that "Legacy device cables" strip out the current advertisement information contained within the CC line. There is no way to pass this information on to legacy devices without complex circuitry (that some argue against). In turn the USB-A legacy device doesn't know it can draw more current.

The Apple C-to-Lightning cable is essentially a C-to-femaleA legacy device ("OTG") + A-to-Lightning put together. (It's not actually that simple, read the other post for the iPad Pro USB-PD details.)

It falls to the charger itself to transmit the information over the USB D+/D- line "as a backup". The Anker PowerPort+ and Dodocool USB-PD chargers do not do this, and as a result, "legacy devices" like Apple iPhone or iPad only draw 100mA, as if they were connected to a computer that did not identify itself. Per the spec, only after it enumerates can a device draw 500mA. (This means a lot of USB-A devices out there are actually noncompliant, since they draw 500mA off the bat!)

http://plugable.com/2014/10/02/usb-stock-chargers-dedicated-multi-port-chargers-or-charge-sync-hubs-whats-best-for-me/

This also means those "USB Condoms" or "Current Boosters" are actually noncompliant and potentially dangerous! If you snip the USB data lines, the most a device can draw (legally) is 100mA. Some cable hacks go one step further and connect the two USB data lines together, "faking" a 1.5A USB DCP port so the device can "charge faster". Many of these potentially dangerous adapters have been sold on Kickstarter, etc.

If you pay close attention, this is the EXACT same type of "bad cable" overdraw situation Benson was campaigning against on Type-C. (Using 3a signaling when the port may only be capable of 500/900mA.) In this case, it is "using 1.5a signaling when the port may only be capable of 500/900mA".

The proper way to make a USB Condom would be to have intelligent IC's enumerate on the host, identify the current, then transmit that information to another IC on the other side. Accordingly, I will make an exception for power-user tools like the USB Wrapper below. In this case, it relies on the human user acting like the IC and setting the right switches based on what charger you are plugging it into and your eyeballs.

https://www.tindie.com/products/galvant_industries/usb-wrapper/

I also wanted to point out this is data I have indeed been watching out for, and included in my Compliance Checklists. (See attached.) However, I didn't know the C-to-Lightning cable functioned, and thought it was a lot "smarter" than it was!

Benson has said he will consider updating the Chromium recommendations for charger design based on this exchange. Please follow the page here for the "Word of God" explanation on the matter:

https://www.chromium.org/chromium-os/cable-and-adapter-tips-and-tricks

#USB #TypeC   #USBC  
PhotoPhotoPhotoPhoto
[Plus] Analyses C-to-Legacy Issue
4 Photos - View album
Shared publiclyView activity