Posted
by
kdawson
on Tuesday August 03, 2010 @01:50PM
from the hard-charging dept.

ptorrone writes "In this 7-minute video we explore the mysteries of Apple device charging. Usually, device makers need to sign a confidentially agreement with Apple if they want to say their charger 'works with iPhone / iPod,' and they're not allowed to talk about how the insides work. If you don't put these secret resistors on the data lines too, you get the dreaded Charging is not supported with this accessory. We demonstrate how anyone can make their own chargers that work with iPhone 4, 3Gs, etc."

Lots of companies do this. APC puts a RS-232 serial port on a UPS but wait! They move the pins around so you need a special cable. Cisco used to have a product called the Gigastack that used a standard 6-pin Firewire cable, but no! Pins 1&2 were shorted in the "special" cables Cisco provided.

Not only does she have a well stocked desk, she has her own company and sells some geeky stuff to us tinkerers: http://adafruit.com/ [adafruit.com]
Her monochron pong playing clock was featured on/. a while back.

Reading the article, it appears that the purpose of the resistors is NOT to lock out manufacturers, but to inform the ipod of the amount of current to draw from the charger. They found different manufacturers using different values of resistors. From the looks of it, one resistor sets the amount, and the other resister serves as a "checksum of sorts, complementing the other resistor correctly to verify the value. Getting the value wrong could very easily cause a fire, so this is important to make sure you get it right.

This is not surprising, as USB does not allow variable voltage, and current is supplied completely on demand with no regard to the provider. So you either have your device set to draw a fixed amount of power (current) and limit your options to *1*, or you develop some simpler way to tell the device how much power (current) a device can demand from any given charger.

The only other option would be to use the data pins and actually communicate over the usb spec normally and outright tell the device how much power to draw. (which is actually already in the USB specs) Apple would have probably preferred to go this route, but that would significantly increase the complexity of the power adapters. All the people that are whining about Apple being nasty about this need to get some education. Apple's other two options were to make chargers cost more, or to not be able to offer both fast (wall power) and slow (AA batts) chargers.

The only group that's more thick-headed than the Apple zealots, are the anti-Apple zealots.

We all love to call out Apple when they design deliberate incompatibility into their devices, but there is a perfectly valid technical reason for what Apple is doing here, and, in fact, they are following a USB specification (which LadyAda unfortunaterly didn't even test).

Without data communications or when suspended, devices may legally draw no more than 2.5mA from a host, which is useless for charging. In fact, even if you're generous and pretend they're connected, devices are not allowed to draw more than 100mA without negotiating for a higher current, which requires actually talking to the host, and 100mA is still too little to charge properly. 500mA is the maximum allowed by the USB spec, but devices must negotiate it (there may be too many devices on the bus for negotiation to succeed).

Before there was a spec for "dumb" USB chargers, Apple used the resistors as a sentinel to avoid drawing too much current from undersized chargers in order to avoid damaging the host. This is a hack, but it works, and honestly, we're smart enough to figure out a couple resistors on the data lines. It's not like they're using crypto auth on the charger. They have a perfectly valid reason to do this. Devices which charge from "dumb" chargers aren't following the spec, though this is a common industry practice.

As it turns out, the USB-IF came up with a USB Battery Charging spec [usb.org]. The spec is long and boring, but it boils down to: short together the data lines (no resistors required) and you indicate that you're a dumb charger that can supply anywhere from 0.5A to 1.5A.

(Yes, I'm not following the USB spec there by in turn using a USB cable to supply the 5V and not negotiating over its data lines. I didn't feel like grabbing a dedicated 5V PSU for the shot, so sue me.)

It looks more like a way to signal to the iPhone that it can go ahead and "fast charge" by pulling 1A, or "slow charge" by pulling 0.5A. They just didn't tell anyone about how to do it.

As for your dell power supply, just get one of those "ATX power" extension things, cut in half, "scramble" the wires in the right way, get a working dell PSU, and then start selling it. see http://pinouts.ru/Power/dell_atxpower_pinout.shtml [pinouts.ru] for the pinouts.

Maybe you aren't using Powerchute, because if you were you would definitely need an APC cable. In fact, the smart features require a different cable from the "dumb" Back-Ups.

Not true for the "smart" units; RX and TX are pins 1 and 2 on the UPS DB9 connector. If you're using powerchute then short 1,4 and 7,8 on the host side so it will "detect" the cable. It's still RS-232, the cable isn't magic. Here's a handy table [pinouts.ru].

Funny, my Android phone does the same exact thing and it uses a standard USB micro interface. You need a special plug to get the full 1000ma charging, but it can use regular plugs too and charge at 500ma without frying anything.

You got modded insightful?My N900 charges via a USB cable. It charges at 1200mA with the fast Nokia charger, at 500mA with the slow Nokia charger or PC USB port and at what appears around 300mA with a $2 Chinese car charger.And they certainly don't charge third parties to provide them with secret recipes on how to make the chargers work.Or naw... you are right, Apple never does anything wrong, just uncool people complaining about everything...

Funny, my Android phone does the same exact thing and it uses a standard USB micro interface. You need a special plug to get the full 1000ma charging, but it can use regular plugs too and charge at 500ma without frying anything.