Why can't the same "hobbyist" effort that's applied to breaking the handshake and encryption on Playstations and Xboxes be applied to reverse-engineering Apple's peripheral chip?
It has already been hacked. Basically a voltage drop across 2 pins IIRC.
EDIT: More than 2 pins, actually. According this guide http://pinouts.ru/PortableDevices/ipod_pinout.shtml, depending on the type of device you want to emulate(charger, stereo dock, etc.) you'll need to either short or drop the voltage on different pins.
The way to hack in a charger against the "this charger not supported" has been known a while.
I'm talking about the data connection on the iPod/iPhone docking connector. You can't access the dock API unless you're an approved Apple "Made for iPod" vendor and purchase special chips from Apple that handshake between your docking peripheral and the device.
Hacking power is one thing, but it's useless unless you can move data in and out of the device. Using the headphone jack to move data with FSK is clever but slow and not very robust.
Only have to do this because the accessory kit in iOS is so locked down and Apple wraps that mess up in their "Works for iPhone" program.
The dock connector has full serial bus for accessories with power. It's easy to program and build accessories. No weird hacks converting to analog and then doing software signal processing and generating power with continuous tone.
Apple just locks it down from developers getting access unless you follow their strict guidelines. One of which is that your accessory works for iPhone and only iPhone and not multiple devices. They also have licensing fees involved. It's arbitrary.
The also do this same program for Bluetooth. They claimed custom protocols at WWDC a few years ago that gave me hope I could connect to common bluetooth devices (like a laptops and my Lego NXT device). Entirely not the case.
03/15/2011: Google donates Android phones to the project.
02/18/2011: Microsoft donates Windows Phone 7 phones to the project.
Cheap, multi-platform sensors. With a little tweaking, I assume they could transmit data over a phone line. This means you don’t have to build for any specific target platform: any no-name, off-brand phone in some Harare phone shop can record data.
What happens when we bake these into a toxin module, and distribute them to people in LDCs? It’ll be a lot easier to start seeing evidence and location of toxic spills, chemical safety violations, whatever.
A cheap platform shouldn’t be hampered by any specific pathway: we’re building a parasite here, people.
The Square unit uses the headphone jack. It exchanges data through tones being sent back and forth over the speaker and microphone pins.
Since there are no unpublished APIs being used, no App Store terms are being violated.
You can do a lot when you can send and receive serial data over a port. Millions upon millions of devices that you never see or know about communicate in this very manner.
Your home is filled with microprocessors that talk to each other over two-wire serial protocols. Your oven probably has a control panel that talks over I2C or some other serial protocol to a control module.
That credit card terminal on the shop counter has a modem that talks to another computer the old-fashioned way: frequency-keyed tones over a phone line.
Your car has more chips than you think, all talking over a shared serial bus like CAN or DBUS (not the desktop protocol, the Bosch one).
That touchscreen on your smart phone communicates with the host processor over a serial protocol.
In the embedded systems world it's cheaper and easier to use these ancient protocols than to try and install ethernet lines and TCP/IP stacks...just so that your oven can start a bake cycle.
It says Phone peripherals, not iPhone. It says audio jack, not 30-pin connector. It doesn't seem like everyone is glad we have a multi-platform smartphone connection, why? Even Micro-usb is bulkier than this.
13 comments
[ 2.8 ms ] story [ 37.3 ms ] threadEDIT: More than 2 pins, actually. According this guide http://pinouts.ru/PortableDevices/ipod_pinout.shtml, depending on the type of device you want to emulate(charger, stereo dock, etc.) you'll need to either short or drop the voltage on different pins.
I'm talking about the data connection on the iPod/iPhone docking connector. You can't access the dock API unless you're an approved Apple "Made for iPod" vendor and purchase special chips from Apple that handshake between your docking peripheral and the device.
Hacking power is one thing, but it's useless unless you can move data in and out of the device. Using the headphone jack to move data with FSK is clever but slow and not very robust.
The dock connector has full serial bus for accessories with power. It's easy to program and build accessories. No weird hacks converting to analog and then doing software signal processing and generating power with continuous tone.
Apple just locks it down from developers getting access unless you follow their strict guidelines. One of which is that your accessory works for iPhone and only iPhone and not multiple devices. They also have licensing fees involved. It's arbitrary.
The also do this same program for Bluetooth. They claimed custom protocols at WWDC a few years ago that gave me hope I could connect to common bluetooth devices (like a laptops and my Lego NXT device). Entirely not the case.
02/18/2011: Microsoft donates Windows Phone 7 phones to the project.
Cheap, multi-platform sensors. With a little tweaking, I assume they could transmit data over a phone line. This means you don’t have to build for any specific target platform: any no-name, off-brand phone in some Harare phone shop can record data.
What happens when we bake these into a toxin module, and distribute them to people in LDCs? It’ll be a lot easier to start seeing evidence and location of toxic spills, chemical safety violations, whatever.
A cheap platform shouldn’t be hampered by any specific pathway: we’re building a parasite here, people.
Since there are no unpublished APIs being used, no App Store terms are being violated.
You can do a lot when you can send and receive serial data over a port. Millions upon millions of devices that you never see or know about communicate in this very manner.
That credit card terminal on the shop counter has a modem that talks to another computer the old-fashioned way: frequency-keyed tones over a phone line.
Your car has more chips than you think, all talking over a shared serial bus like CAN or DBUS (not the desktop protocol, the Bosch one).
That touchscreen on your smart phone communicates with the host processor over a serial protocol.
In the embedded systems world it's cheaper and easier to use these ancient protocols than to try and install ethernet lines and TCP/IP stacks...just so that your oven can start a bake cycle.