For anyone who have accidentally upgraded to iPhone OS 3.1 and would like to downgrade back to OS 3.0, you can follow this guide for the downgrade. This guide is written for iPhone 2G and 3G only. It will not work for iPhone 3GS.
By downgrading your iPhone 2G/3G from OS 3.1 to 3.0, you can use redsn0w to jailbreak it again. But for iPhone 3G user, while you can jailbreak your iPhone, ultrasn0w will not work for you as iPhone OS 3.1 has upgraded the baseband.
Okay, let’s get started.
Downgrade iPhone OS 3.1 to 3.0
1. First, make sure you are using iTunes 8.2 or 9.0. Also, download the iPhone 3.0 OS here.
2. Put your iPhone into recovery mode. To put your iPhone into recovery mode, first disconnect your iPhone from USB cable and power off your iPhone. Then hold the “Home” button and connect USB cable again. Keep holding the “Home” button until you see a dock cable pointing to the iTunes icon (or yellow triangle for older version of iPhone). Now you are in recovery mode.
3. Launch iTunes and it should detect your iPhone in recovery mode. For Windows user, press SHIFT and click on the Restore button to select the firmware 3.0 IPSW file. For Mac user, press Option button and click on the Restore button to select the 3.0 IPSW file.
4. Wait until iTunes completely restores the iPhone 3.0 firmware. If you’re using an official SIM card (e.g. from AT&T), your iPhone should be ready for use after reboot. Continue with the last step if you need to jailbreak your iPhone.
Tip: If you get error message like 1011, 1013, 1015, just ignore them. Your iphone should already be restored with iPhone OS 3.0
5. Lastly, you can use redsn0w to jailbreak and unlock your iPhone (note: unlocking is for 2G only). Follow this jailbreak guide for the details (skip step 1 and 3-5).
Though the above procedures have been tested for several times, use it at your own risk. As always, if you encounter any problem, leave us comment below and we will try to help.
Update #1: I will post the procedures to downgrade the baseband of iPhone 3G very soon. Stay tuned.
Founder, developer and chief blogger of simonblog.com