The iPhone Serial Port Hack
An anonymous reader writes "The iPhone's little known secret, a hidden serial port, is revealed. 'The real benefit in all of this is that there are so many console packages for iPhone in Cydia now that you can have a fully functional computer, as useful as a Linux box, but without carrying around a laptop.'"
Get a Nokia N900 or Android.
i want to know why everytime i plug in my ipad the pc asks what kind of camera it is
I'm reminded of Linksys WRT-54G routers and such.
You might need to do some surface mount soldering to get to the required connections.
Very handy for booting up a Sun server.
This isn't a "secret"... it's been in the iPhone (and iPod for that matter) for quite a long time. This same serial port is how 3rd party docks and cables control the device from the outside: http://www.adriangame.co.uk/ipod-acc-pro.html
Could have sworn there was more to these computer things then that.
"Have you ever thought about just turning off the TV, sitting down with your kids, and hitting them?"
If you'd like to read the article instead of Computer World's stupid-ass slide show, it's at http://resolvehax.blogspot.com/2010/10/iphone-serial-port.html
How are you going to attach the tape reader/punch for the program tape without a serial port?
Welcome to the Panopticon. Used to be a prison, now it's your home.
And yet, you are posting on Slashdot.
Or, I dunno, a small netbook and a USB-to-serial cable. They're hardly massive.
It's not like you don't know in advance when you're going to need a terminal. If you can remember to bring that massive dongle thing along you can remember a netbook.
No sig today...
And yes, I'm aware you have to root the phone to install a custom ROM...but you can still install apps from anywhere without having to void your warranty or hacking the phone.
Living With a Nerd
Please don't use the hardware you purchased and is now yours for non-Apple authorized activities.
How soon until you're just licensing that iPhone?
If brevity is the soul of wit, then how does one explain Twitter?
as useful as a Linux box
Sure.
What next? They'll discover a hidden parallel port and what? It's supposed to stop world hunger?
1 Earth is warming, 2 It's us, 3 it's royally bad, 4 we need to take action NOW
<sobbing level="softly">I don't want to go back to carrying gender changes, null modems, 9/15 pin changers as well as worrrying about DCE/DTE and handshaking ..... </sobbing>
I am Slashdot. Are you Slashdot as well?
Never. There's no need. You can own the hardware. You just can't use any of the software included until you agree to the license, and thereby agree to Apple's restrictions on how you use the hardware.
That's the cleverness, really. They don't control your ownership of the hardware. So to a naive observer, you're completely in charge. But the moment you actually try to use any functionality embodied in the included software (i.e., anything capability beside "crappy doorstop" and "blender fodder"), Apple owns you. As long as your path coincides with Apple's decisions, you're golden. But try to do anything they don't want you to do... "You get nothing! you lose! Good day, Sir!"
Welcome to the Panopticon. Used to be a prison, now it's your home.
...given that you can buy ipod breakout boards on ebay with the serial connectors clearly marked, it doesn't seem to be a particularly well kept secret.
See http://cgi.ebay.co.uk/Enhanced-Breakout-Board-Ipod-Iphone-Ipad-/370447835814?pt=UK_CE_MP3Access_RL&hash=item56406962a6 for an example.
This serial port has been around forever. All those cars with iPod integration use it for control and data. I've controlled the iPod functionality on every iPod I've had (since 3rd gen) as well as three iPhones using an Atmega controller. I year or so I shared some controller code for Arduino based atmega microconrollers.
Here's how you control your iPhone or iPod music with an Arduino, easy peasy:
Sheldon
* /* Control iPod/iPhones from Arduino
Sheldon Stokes
Jan 3, 2009
Standing on the shoulders of ipodLinux.org
http://ipodlinux.org/wiki/Apple_Accessory_Protocol
This send comands to the iPod as though it were a remote.
These are the simple 2 byte commands that should work on all
Apple iPods and iPhones starting with the 3rd Generation iPod
*********** Commands (array index, command value, command description) **************
0 0x00 Button Release
1 0x01 Play/Pause
2 0x02 Vol+
3 0x04 Vol-
4 0x08 Skip >
5 0x10 Skip
6 0x20 Next Album
7 0x40 Prev Album
8 0x80 Stop
*/
int commandBytes[]={0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
int checkSum;
int playPin = 2;
int stopPin = 3;
int fwdPin = 4;
int backPin = 5;
int playVal, stopVal, fwdVal, backVal;
void setup()
{
Serial.begin(19200);
pinMode(playPin, INPUT);
pinMode(stopPin, INPUT);
pinMode(fwdPin, INPUT);
pinMode(backPin, INPUT);
}
void loop()
{
playVal = digitalRead(playPin); // read play button // read stop button // read fwd button // read back button
stopVal = digitalRead(stopPin);
fwdVal = digitalRead(fwdPin);
backVal = digitalRead(backPin);
if (playVal == LOW) // send play command // send button release // send stop command // send button release // send stop command // send button release // send stop command // send button release
{
sendRequest(commandBytes[1]);
sendRequest(commandBytes[0]);
}
else if (stopVal == LOW)
{
sendRequest(commandBytes[8]);
sendRequest(commandBytes[0]);
}
else if (fwdVal == LOW)
{
sendRequest(commandBytes[4]);
sendRequest(commandBytes[0]);
}
else if (backVal == LOW)
{
sendRequest(commandBytes[5]);
sendRequest(commandBytes[0]);
}
delay(100);
}
void sendRequest(int val) {
checkSum = 0x100 - ((0x03 + 0x02 + val + 0) & 0xFF);
int request[] = {0xFF, 0x55, 0x03, 0x02, 0x00, val, checkSum};
Yeah, it's got a serial port, with TTL levels, at its external connector. Big deal.
It's also possible to attach USB devices, which is somewhat more useful today. For example, you can plug a real keyboard into an iPad.
I still think the iPhone is much more of a hackers platform than any android phone.
It is kind of long but I'm going to recycle a recent comment:
---
What's funny is, iOS jailbroken is actually a nerd's paradise. Much more so than android actually.
On the iPhone, you have a full apt package system, a terminal running bash, OpenSSH/OpenSSL tools, server, client, etc. a full GCC dev environement, etc.
A lot of this stuff is stuff you just don't get on Android at any level. You get a terminal out of the box with android, but what do you get? Busybox. Guh. Want SSH? You get Dropbear. The package system sucks compared to APT. I've never tried getting GCC running on the phone but I don't imagine it is easy, if at all possible.
With the iPhone I really feel like I have a full computer running in my pocket. I asked several android hackers why you are limited with these crappy tools on the phone itself, and they replied it was an embedded device so you get embedded tools. I'm sorry but something with 1-2 cores at >1GHz, a GPU that far outstrips anything on my earlier computers, and 32 gigs of NV storage is -not- an embedded device, I don't care how small it is.
You get all this, PLUS a UI that (only IMO I understand) is far more fluid and nicer to use than Android.
Don't get my wrong I'm not just yelling across the fence. I had a Nexus one for a good few months. I tried hard to like it, but in the end when the i4 came out, I jumped ship like it was on fire.
There is of course, hassle. I don't like to restore from backup so Every time there is a major firmware update I actually wipe my phone clean, then sync all my apps over fresh. But thanks to several tools out there it isn't a total restart.
There is hassle but for me, android has a LONG way to go, especially on the hacker front to be anywhere near the iPhone in terms of UI -AND- geekery.
---
It's easier to fight for one's principles than to live up to them.
More recent ones have anti-tamper (Droid X) or auto-reflash (G2), making it a pain to root.
I honestly think Google is very disingenuous to say Android is open when many currently-selling actual devices are locked tighter than the iPhone.
Perhaps Google is just happy that Android is "open to the carriers".
You want a sure bet for an open system, go with the N900.
Make sure everyone's vote counts: Verified Voting
Love how you classed that right up by adding a smiley.
So a jailbroken A is more open than a B in its original, closed state? Fascinating.
Escher was the first MC and Giger invented the HR department.
Meh... or you could get a N900 that comes with those tools *ALREADY INCLUDED* in the base OS.
Package manager? Maemo is a modified Debian, and uses Apt.
Shell? Default is Busybox, but the full system is in the repos.
Build toolchain, including GCC? In the repos.
OpenSSH and sshd? In the repos (also dropbear, if you prefer).
Anything that's available as source and compiles on ARM? Go to town. You can even pull directly to the device using Subversion and other mackage managers.
Seriously, arguing over whether iOS or Android is more open is like arguing over whether a Prius or a sports car is better for off-road driving. You're both doing it wrong. Get the right tool for the job.
There's no place I could be, since I've found Serenity...
Few people remember when the iPhone serial port was used to hack into a flying saucer and inject a virus into an alien space fleet, saving the Earth. And the President himself led the attack against the mothership. It seems like only yesterday, before these stupid people locked me up in here.