2.1 Firmware

January 30th, 2009

After reverting to 1.1.4 from 2.1 I eventually went back to 2.1. I didn't miss the apps that I couldn't get on 2.1 all that much, though I do miss having php,mysql and apache. I'd read that someone had compiled php for 2.x, and it's also available through cydia. No apache or mysql though.

Still find it a it laggy when it comes to using the keyboard, also having problems connecting to wifi occassionally, but I think that's more to do with my router.

Going to try updating to 2.2 or 2.2.1 soon.

In other news, I've been dabbling with the iphone SDK. Planning to write an app or two.


How to Revert iPhone from 2.1 to 1.1.4 Firmware (2G).

November 26th, 2008

I've given up on the 2.1 firmware for now. Seems laggy compared to 1.1.4. Also some of the Apps I had for free on 1.1.4 were either not available on 2.1 or you had to buy them from the App Store.

So I managed to revert back to 1.1.4 from 2.1 after a bit of trial and error. Heres how I fumbled my way through it.

I tried using iTunes 7.5 as suggested by some google search results, but they were for reverting back from 2.0. I had no luck with 7.5. I ended up with one of the 6000 errors. So I reverted back to 2.1 and started again.

I read a post on Canadian forum that suggested using iTunes 7.6, which is what worked for me on my first gen (2G) iPhone.

What you need:
1.1.4 firmware
iTunes 7.6
iTunes 7.7
ziphone (I used version 2.6)

This is what worked for me.

1) Uninstall iTunes.

Firstly go to Music and rename iTunes to iTunesBackup. I also copied the files I delete in this step as a backup too, in case I needed them again.

Deletion time. Run these commands in a terminal to remove iTunes from your mac
(from http://sleepers.net/guides/20-to-114-downgrade/)


killall iTunesHelper
sudo -s
rm -r /Applications/iTunes.app
rm -r /Library/Receipts/iTunesX.pkg
rm ~/Library/Preferences/com.apple.iTunes*
rm -r /Applications/iTunes.app
rm -r /Library/Receipts/iTunesX.pkg
rm ~/Library/Preferences/com.apple.iTunes*
rm -r /System/Library/PrivateFrameworks/MobileDevice.framework


Some of those commands gave me file doesn't exist errors. I just ignored them.

2) Install iTunes 7.6

3) Put your iphone in DFU mode (NOT recovery mode) and connect it to your Mac. Hold the option key down and click restore. Find the 1.1.4 firmwware on your
mac. Let iTunes update the iPhone with 1.1.4.

4) When it finished it may show an error. Mine showed 1015. This is not a bad thing. Disconnect your iPhone. Quit iTunes and update it to 7.7.

Note: Actually you may not need 7.7. The only reason I installed it was at this stage I tried to use pwnage tool to unlock the phone, and it wanted 7.7. Pwnage didnt work anyway as it was the version for 2.1, not 1.1.4. so I then tried the origianl version of ziphone I used to unlock the iPhone when I first got it.

5) Put your phone back into dfu mode and reconnect it to the mac. iTunes will start up, just ignore it. Start ziphone and unlock the phone. 4 minutes later you have a working 1.1.4 2G iPhone again.

So thats what worked for me. Hope it helps if you if you are trying to go back to 1.1.4. If you cant get it working you can always restore back to 2.1 without a problem.



Ooops. iPhone 2.1 update.

November 11th, 2008

Well due to some careless rm -dfr staring I had to restore my iphone. iTunes decided I should upgrade to 2.1 and went ahead and did that. If I'd though about it I'd have tried to reinstall 1.1.4. I'd forgotten that the simcard wont work unless the phone was unlocked.

So I've spent the last few hours unlocking 2.1 and reinstalling apps (after a few attempts to revert back to 1.1.4). First thoughts on 2.1. I don't like the new version of installer. Cydia is good, never used it on 1.1.4, but some of the apps I installed never showed up on the springboard. And now I have access to AppStore of course.

I'll have to get iAMPServer installed and test if it works on 2.1. If not I'll be trying to find a way to revert back to 1.1.4

Starting MySQL Automatically

November 5th, 2008

I've created a .plist file so that MySQL starts automatically when you start or reboot your iPhone.

Previously I'd have to ssh into the phone and start mysql manually. Apache already starts automatically, but isn't much good on its own for a webapp that requires a database.

To start MySQL automatically create a .plist file in /Library/LaunchDaemons/ and put the following into it:

com.mysql.mysqld.plist

Reboot your iPhone and MySQL and Apache will be running.

Streaming MP3s to the iPhone

October 9th, 2008

I finally worked out how to send an MP3 to the iPhone via a web server and have the iPhone start playing it.

I wanted to be able to browse a list of songs with iPhone Safari, press play and have the iPhone start playing the song.

It worked fine if the link was to a file directly accessible via the web, say with apache, but I wanted to leave the MP3 files where they were and just use php to open the file and send the MP3 stream to the iPhone.

That way I could serve the MP3s that are, for example, in the iTunes library or a directory of MP3s on PC to the iPhone.

I couldn't get it working after trying various combinations of headers, so gave up on it for a while, but finally found the solution yesterday. So now I can continue developing my MP3 streaming app. I had lost interest in it after not being able to send MP3's to my iPhone.

Now I want to work out if I can send a continuous stream of audio to the iPhone so I don't have to play each song individually.