Death to the Lightning connector

Apparently Apple's latest patch to prevent cops from rooting your phone means that I have to type a password every time I want to charge my battery now.

"USB power chargers are not affected, but some USB accessories that provide power may not charge the device until the device has been unlocked." My ass. At first I thought that Apple had decided that my USB hub was somehow debased, profane or pwned by the Federales, but no -- it does this even when the phone is plugged directly into an iMac with an official Apple cable.

I gather that this is because the Lightning connector is such an over-engineered, Turing-equivalent exploitable piece of shit that to even pull 5v out of it you have to first agree to ISA-level DMA to your RAM or some shit. What kind of stultifying layer violation do you have to have baked into the design to not be able to pull power without going through some kind of protocol dance first? What is that data made of?? HINT, IT'S ELECTRONS. You squirt them into the damned battery.


Update, 2020: Some time in the last few months, Apple seems to have fixed this. I can, once again, charge my Apple phone by plugging it into my Apple computer without unlocking the phone first. It's a goddamned miracle. So, to the people in the comments saying that the previous behavior was right and proper and the only thing possible thanks to the new USB spec... Cool story bro.


Previously, previously, previously, previously, previously, previously, previously, previously, previously, previously, previously, previously.

Tags: , , , , ,

8 Responses:

  1. ssl-3 says:

    So it charges sometimes with USB?

    Forget the connector and the interface. What possible problem could this be an attempt at solving?

    All I've got is that it is bitchy about connecting to USB hosts or other devices with the datalines connected to something smart. And that, per USB spec, a device is only allowed to draw more than some miniscule current over a proper USB bus unless it successfully negotiates a higher current.

    Dumb chargers are dumb, and don't communicate with data. So dumb chargers are fine.

    In these negotiations on a USB host, data is sent betwixt the device and the host. And since data is happening, rooting can happen.

    Thoughts:

    1. Nobody ever really paid attention to that part of the USB spec, either on portable devices or on USB hosts. Plug even a simple resistor into a random USB socket on a random computer, and you'll be able to draw 500mA @ 5v with zero negotiation and zero damage to anything. This blind adherence to spec never helped anyone.

    2. Jesus fucking Christ, Apple. If you can't allow your device to negotiate a charging speed without risk of being rooted, your speed negotiation code absolutely fucking sucks.

    3. I hope this isn't indicative of the quality of the software driving the numerous other interfaces that are available on any modern pocket computer that do not resemble a physical port.

  2. Zygo says:

    USB lets you draw 100mA at 5V without negotiation--not enough to run a modern smartphone, much less charge it. With negotiation (including measurement of the cable characteristics) you can draw a couple dozen watts out of USB3 cables (using the data wires to carry power) and 100W out of USB C cables and connectors.

    Without negotiation, if you try to draw 100W out of a cheap USB cable with C adapters at both ends, your device will not charge because your cable will be on fire.

    Your complaints about the device's USB stack being incapable of performing this negotiation without also being a surveillance gloryhole are valid.

  3. robert_ says:

    Not directly related but this amused me: How to build a 1 trillion dollar company

  4. Rich says:

    Flip the question: is it possible to gain unauthorized access to a charge-providing computing device by negotiating power level for a lightning doobrie?

  • Previously