How to Downgrade iOS 4.2 to 4.1 / 4.0.2 / 4.0.1 on iPhone 4, 3GS, 3G and iPad

iOS 4.2 was released earlier today. Just like iOS 4.1 and iOS 4.0.2, the new iOS 4.2 at the moment is not jailbreakable. It also contains new baseband for all iOS devices which currently makes it impossible to unlock using existing version of Ultrasn0w. So if you rely on a jailbreak and unlock, stay away from this new firmware until new jailbreak and unlock tools are available for download.

iOS 4.2

If you upgraded to iOS 4.2 and now want to downgrade back to iOS 4.1 / 4.0.2 or 4.0.1, follow the instructions posted to downgrade iOS 4.2 on iPhone 4, 3GS, 3G, iPod touch and iPad to iOS 4.0.x. This guide will only work if you have SHSH blobs saved for the respective firmware you downgrading to.

Step 1: Download the required old ipsw firmware files. (Download links: iOS 4.1, iOS 4.0.2, iOS 4.0.1, iOS 4)

Step 2: Put your device into DFU mode (not recovery mode).

  • Connect your iPhone to your computer.
  • Turn iPhone off.
  • Start iTunes.
  • Hold Power and Home buttons together for 10 seconds or so.
  • Release Power button but keep holding the Home button until your computer recognizes a new USB device.
  • iTunes will now recognize your iPhone.

Note: Your iPhone screen at this time should be blank (black in color), if not, then you are most likely in Recovery Mode, not DFU mode.

(Step 3 is for iPhone 4, iPad, iPhone 3GS, iPod touch 4G, 3G, 2G (MC Model) users only. If you are on iPhone 3G or iPod touch 2G (non-MC model), skip Step 3 and continue from Step 4)

Step 3: This step is applicable to iPhone 4, iPhone 3GS, iPod touch 3G and iPod touch 2G (MC model) which have their SHSH blobs (ECID SHSH) saved on Cydia for the firmware you downgrading on. If you don’t have your SHSH files saved, you cannot downgrade the mentioned devices.

So what we will do is to trick iTunes into thinking that it is watching Apple servers, while in real, we are going to change the address to Saurik’s server.

  • Navigate to C:\Windows\System32\drivers\etc\ and locate “hosts” file.

Mac OS X users can get to “/etc/” directory by going through “Go –> Go to Folder” from Finder.

  • Open this “hosts” file in Notepad (for Windows) or TextEdit (for Mac OS X) and add this
74.208.105.171 gs.apple.com

line as shown in the screenshot below:

Now simply save this file and you are good to go!

NOTE for Windows 7 and Vista: Start “Notepad” with Administrator privileges by right clicking on “Notepad” app, and click on “Run as Administrator“ option.

NOTE for Mac OS X: Make sure you have full read and write access on your account when you are saving the host file. If it still throws permission error, simply copy the host file to desktop, make the required changes, and then replace it with the original file in “/etc/” directory.

Step 4: You will now have to restore your iPhone to the firmware you downloaded in Step 1. Click on your phone icon from the sidebar in iTunes. Now press and hold left “alt” (option) button on Mac (Left “Shift” button on Windows) on the keyboard and then click on “Restore” (Not “Update” or “Check for Update”) button in the iTunes and then release this button.

This will make iTunes prompt you to select the location for your downloaded firmware file. Select that ipsw file and click on “Open”.

Step 5: Now sit back and enjoy as iTunes does the rest for you. This will involve a series of automated steps. Be patient at this stage and don’t do anything silly. Just wait while iTunes installs the requested firmware on your iPhone. Your iPhone screen at this point will be showing a progress bar indicating installation progress. Now at some point, iTunes will probably throw 1004 or 1015 error at you. This is normal, just ignore this error as the firmware has already been successfully installed on the device.

Step 6: Your iPhone at this point will be stuck in Recovery Mode, showing that “Connect to iTunes” screen. To exit your device from Recovery Mode, download this program called TinyUmbrella (Windows / Mac). Run it and the click on “Kick Device Out of Recovery” button. Your device will now restart normally.

This is it, you should now be able to jailbreak and unlock your device on iOS 4.0.1 with JailbreakMe, guides for which can be found below:

Once you are done with the jailbreak, you can follow our step by step guide posted here to unlock your iPhone on iOS 4.x, on older baseband using Ultrasn0w.

Step 7: Last but not the least, you must now remove 74.208.105.171 gs.apple.com line from the host file so that you are prompted for future updates from Apple via iTunes.

You may also like to check out:

You can follow me on twitter or join our facebook fanpage to keep yourself updated on all the latest iPhone jailbreaking and unlocking releases.