Tutorial: how to downgrade firmware for iPhone 3GS

This tutorial also works for downgrading from iOS 4.0 to firmware 3.1.3 or for any other firmware you want to downgrade.

Ok, the story with the signature of the firmwares is here, now I will do the tutorial to downgrade from any firmware as long as you have SHSH saved.

The tutorial applies DONATE la iPhone 3GS/iPod Touch 2G/3G (new bootrom). For iPhone 3GS it doesn't matter what bootrom you have, this is the only way to downgrade. Although the title suggests downgrading only to 3.1.2, if you have in Cydia saved file ECID/SHSH for firmware 3.0/3.0.1/3.1 you can also downgrade to the respective versions.

If you don't have at least intermediate knowledge of working with Windows, then you better wait for a jailbreak/custom ipsw solution.

One more clarification, the tutorial applies DONATE for those who have a file SHSH/ECID saved in Cydia. IF YOU ARE NOT SURE THAT YOU HAVE ECID/SHSH SAVED IN CYDIA OR NOT, DO NOT START THE TUTORIAL!! Open Cydia and check if on the first page, at the top, the first text says something like: This device has SHSHs in file for iPhone OS : 3.0, 3.1, 3.1.2. If this message does not appear, then do not follow this tutorial because you will be left with a blocked phone and you will have to restore to the latest firmware version available in iTunes.

Through this tutorial you will modify a file from Windows who instead of sending the verification request a iTunes to the server Apple Lossless Audio CODEC (ALAC),, will send it to saurik's server. It is recommended that after the downgrade process you restore the initial settings.

Step 1

If you are a Windows Vista/7 user, go to Control Panel/User Accounts/Change user Account settings and drag the slider down. IT'S VERY IMPORTANT to do this, otherwise you won't be able to save the hosts file and you won't be able to restore!

If you are using the Windows navigate to: C:\Windows\System32\drivers\etc and copy the file hosts in a folder on the desktop. After doing this, return to the one in the previous path, open it with Wordpad.

If you are using the Mac then open the Finder application and type /etc/ press enter and it will take you to the folder where you will find the file hosts, copy it to a separate folder on the desktop and then open it.

Step 2

After opening the hosts file, regardless of which operating system, enter after the last line: 74.208.105.171 gs.apple.com to send all Apple requests to its server saurik, then save the file.

After this step, open Command Prompt and write ipconfig / flushdns for the redirection to work.

Step 3

To restore and implicitly downgrade to a lower version than the existing one, you must enter iPhone/iPod Touch your in DFU Mode, the tutorial this will show you how.

After you put it in DFU Mode, hold down shift while you click on restore, select the desired firmware and wait for it to restore.

During the restore process, you may encounter some errors :

Error 3002 - you don't have a file ECID/SHSH saved on saurik's server, unfortunately you can't downgrade and you have to stay at 3.1.3 firmware until further notice.

Error 1015 (the iPhone could not be restored) - put the phone back into DFU mode and repeat the process, it will give you the error again and you must follow these steps:

Before you start downloading iRecovery you can try to jailbreak with blackra1n or redsn0w 0.9.3, it should work and it's much easier than with iRecovery :

[download id=”13,14,15,16″]

If the jailbreak method does not work for you, then download iRecovery from here: [download id=”10,11″]

After that, extract the entire archive directly to the desktop, it should NOT be in any other folder on the desktop!

– for Mac users: open the Terminal application and enter each line of text individually:
cd Desktop
. / iRecovery-s
setenv auto-boot true
saveenv
/ exit

then reset the phone by holding down the home + lock buttons until the apple appears on the screen

– for users of Windows : install libusb-win32-filter-bin-0.1.12.1.exe(in Windows 7, the installation of this program blocked all my USB peripherals, so be very careful) from the archive then unzipped iRecovery.exe and libusb0.dll in a folder on the C:\ partition, then open it Command Prompt from Windows, navigate to the folder you have iRecovery.exe and enter the following commands individually:

cd Desktop
. / iRecovery.exe-s
setenv auto-boot true
saveenv
/ exit

then reset the phone by holding down the home + lock buttons until the apple appears on the screen.

If you followed all the steps correctly, you should now have an iPhone ready for use jailbreak/unlock.

IF you activate the phone using the operator's card, then it is very important to delete that ip/host from the hosts file, otherwise iTunes will not activate your phone! And after the change open Command Prompt and type ipconfig /flushdns.

If you encounter other problems that are not covered by this tutorial, please ask me using the support page located here.