Downgrade iPhone 3GS from iOS 4 back to 3.1.3

I have been very happy with the performance of my iPhone, but I could not help noticing that after upgrading the 3GS to iOS 4, the phone not only slowed down, but effectively stood still. Not really what you want when you are in need of getting directions, finding the name of that actor in that film, or simply making a phonecall. So, if you are in that boat, here is a recipe to downgrade your device and recover some functionality! You will need the following ingredients:

  1. iPhone 3GS
  2. iTunes
  3. Cable to connect iPhone to iTunes
  4. A copy of iOS 3.1.3
  5. RecBoot
  6. Some patience

Preparation 1 – Get iOS 3.1.3 ready

This sounds like a tricky one, but do not panic, it might well be that you do indeed have a copy of the iOS available in your hard drive, check in ~/Library/iTunes/iPhone Software Updates. On Windows, your iPhone OS updates should be stored in C:Documents and Settings[username]Application DataApple ComputeriTunesiPhone Software Updates

If you see a file inside this folder corresponding to iPhone1,1_3.1.3_7E18_Restore.ipsw or iPhone1,2_3.1.3_7E18_Restore.ipsw, those are likely the restore images you need.

If you don’t see anything that resembles the 3.1.3 OS or you just want  a freshly downloaded one,  iClarified has a list of iPhone firmware files. Just find 3.1.3 for your phone and download it to a place in your hard drive that you can remember.

Preparation 2 – RecBoot

Later on in the process, you will need RecBoot to be able to tell iTunes to free your iPhone after downgrading. You can download it here (available for Mac and Windows).

Preparation 3 – Put your iPhone into DFU mode

You need to put your iPhone into Device Firmware Update (or DFU) mode in order to downgrade to 3.1.3., here is how:

  1. Plug in your iPhone.
  2. Power it down by holding the sleep/lock button at the top and sliding to power off.
  3. Once it’s powered down, press and hold both the sleep/lock button and the home button for ten seconds.
  4. After ten seconds, release the power button but continue holding down the home button.
  5. If you did it right, iTunes will pop up a window telling you that it’s detected an iPhone in recovery mode and your iPhone’s screen will be black. If it didn’t work, start from the beginning and try again.

Preparation 4 – Downgrade to 3.1.3

It is now time to do the downgrading. Dismiss the iTunes alert that told you you’re in recovery mode. Select the iPhone in the iTunes sidebar

  1. Hold Cmd and click the Restore button
  2. iTunes will pop up a window prompting you to choose a file. Navigate to the location of the 3.1.3 OS file you obtained in preparation 1.
  3. Select that file, and iTunes will start the OS restore process. You will now use the bit of patience as thos takes a few minutes
  4. When it’s finished, you’ll  receive an error message  and your iPhone will boot up with a “Connect to iTunes” screen.

Preparation 5 – Recovering the iPhone

This is where RecBoot becomes useful. Open RecBoot, and click “Exit Recovery Mode”. After a few seconds the software should prompt your iPhone to leave the plug-me-into-iTunes mood  and there you go, you have a freshly downgraded iPhone device!

Serve cold and enjoy!