Step by Step Guide to Help with Downgrade iOS 4.0 & 4.0.1 to iOS 3.1.3 or 3.1.2
So you tried the new iOS 4.0.1, and thought you were better off with the older versions. Or maybe you have an iPhone 3G and think that the new OS is a bit heavy on your phone and slows it down a bit. All in all, you decide to move back to the previous OS. If so, follow these instructions below to move from iOS 4.0.1 to previous versions like 3.1.3 or 3.1.2 (your choice).

What you need:
- iPhone OS 3.1.2 or
- iPhone OS 3.1.3 ipsw files
Instructions:
The very first involved in this downgrading is to put your iPhone into DFU mode, to put your mobile into the mode please follow the below instructions carefully.
- Connect your iPhone to the PC
- Turn your iPhone off (by holding the Power button, and when the bar appears, slide the slider to the right to turn off).
- Hold the Power button and also the Home button together for 10 seconds
- Release the Power Button, but do not let go of the Home Button until your PC recognizes a new USB device plugged in.
- iTunes will recognize your iPhone now
>> Step [for iPhone 3G, 3GS and iPod Touch 2G [MC models]]
On the above mentioned models, you will have to make sure that your SHSH blobs are saved on Cydia for the firmware you are about to downgrade to [3.1.2/3.1.3]. If they are not, you cannot downgrade your OS. To see how to save SHSH blobs, click here
Now time has come to trick iTunes into thinking that it is watching over the Apple server, while in reality it will be over at Saurik’s Server. To do so, navigate to the below given location:
- C:\Windows\System32\drivers\etc\ and locate the “hosts” file

Open the host file using “Notepad” and add the following line (given below) to the file.
- 74.208.105.171 gs.apple.com

Save the file once you have added the above line to it.
Note: If you have Windows 7 or Vista: Start Notepad With Administrative Rights [right click on Notepad and click "Run as Administrator" option].
Once the above step has been complete, open iTunes. It is time we restore the iPhone to the firmware we want to degrade to. Click on your iPhone icon from the sidebar and click Restore [while holding Left-Shift].
iTunes will prompt you to choose the location where the firmware is stored, navigate to where you downloaded the firmware [earlier on] and choose the ispw file, and click “Open”.
Now for the time being, you just need to sit back and relax as iTunes restores your iPhone to the older version of OS, the one which you wanted on it. The iTunes window and your iPhone screen will be showing the progress bar, so keep a track of it, and try not to mess around while this process in undergoing.
Once iTunes has completed restoring your OS to the older version and is successful, close iTunes and download the given below program, so that we can take the iPhone out from “Recovery Mode”.

Now all that is left to do is to jailbreak your iPhone on the current version it is, so that you can use any carrier with it and also that you can use jailbreaked apps on it. To jailbreak iOS 3.1.3 or 3.1.2 you can use Spirit jailbreaking tool, whose instructions may be found here. You can also use sn0wbreeze if you downgraded to version 3.1.2. Other tools that can also be used are BlackRa1n.

i have the mb model 3gs with ios 4.0.1. am i able to down grade that without saved shsh blobs on cydia? it is not jailbroke right now. it ended up locking up and i wasnt able to get it to even enter recovery mode only dfu mode. so therefore i ended up having to go to ios 4.0.1
it is a 3gs i didnt put that on my last comment
This step by step guide works 100%, congratulations. You saved me and I can enjoy again my iPhone with 3.1.2 and the Cydia apps. Thanks a lot