How to Downgrade Apple iPhone back to iOS 3.1.3 from iOS4.0
Ever since the launch of iPhone4 and iOS4.0, Apple has been under a hell lot of criticism and this time not from industry pundits but the users of Apple's devices. It seems that Apple has somewhat hit the point which Microsoft did with Windows Vista, that is, it is new but it is just not ready yet.
In case you are one of those who now wish to downgrade their iPhones back to iOS 3.1.3, here is the detailed guide on how to do it.
1.First of all you need to locate the previous system backup in /username/Library/iTunes/iPhone Software Updates/.
2.Once located, you need to download "RecBoot" from "http://www.sebby.net"
3.Now connect your iPhone to computer and press power to turn it off.
4.Now you need to take the phone into recovery mode and for those who don't know who to do it, here is how; When the device turns off, press both the power and Home button together (for about 10 seconds).
5.Then after 10 seconds, just remove the finger from the "Power" button (you only need to keep the "Home" button pressed--for another 10 seconds).
6.iTunes should detect the phone in "recovery" mode (click "Ok" when you see the message).
7.Select the phone in iTunes, and then hold the Option key while clicking the "Restore" button in iTunes.
8.Select the previous system file (found in step 1) and continue to restore the device.
9.An error will pop up that says you cannot restore to a previous OS. At this point, open "RecBoot" and it should dismiss the error and exit "Recovery Mode".
10.Sync your iPhone, which should now be running the last OS used (likely version 3.1.3 or whichever you have in the phone backup).
Technically with this procedure you are restoring the old iPhone state, and are not really installing the old iOS version over the new iOS version, but the result should be the same. If you do not have a previous system backup in the "iPhone Software Updates" folder, grab the latest version of iOS 3 for the iPhone 3G at this Web site (it is specifically the one called "3.1.3 (3G): iPhone1,2_3.1.3_7E18_Restore.ipsw") and use that to restore your iPhone 3G.
Check out the list of compatible cydia applications with iOS4: List of iPhone 4 and iOS4 Cydia jailbreak compatible Applications