Okay guys I spent an entire day searching the net trying different ways to downgrade from 3.1 to 3.0 on 3gs and have found a way.
First of all off Sauriks Blog
To this end, I have constructed a server that duplicates the functionality exposed by Apple's signature server, except using "on file" results rather than live requsests.
All we need, then, is to make iTunes use it. Luckily, most operating systems also have the ability to locally define bypasses on specific hostnames through a file called hosts. Using this, we can redirect requests to Apple's signature server to Cydia.
So, open the file C:\Windows\System32\drivers\etc\hosts (Windows) or /etc/hosts (Mac OS X) and add the following entry to the bottom of the file.
74.208.105.171 gs.apple.com
Now, when iTunes thinks it is talking to Apple, it is talking to Cydia instead. Doing this will allow iTunes to access signatures already stored by Cydia's "on file" feature.
This server will also act as a cache for any SHSH blobs it hasn't seen, acting as an intermediary to Apple's server. This effectively registers your device with the "on file" mechanism, which means you can now enjoy the protections of being able to downgrade your firmware in the future even if you aren't jailbroken.
This point should be stressed: even if you don't jailbreak, and even if you never intend to jailbreak, you should consider using the new "on file" service.
Let's say that Apple releases an OS upgrade in the future, you take it, and they break something important. Maybe they break your e-mail account, or your todo list. Your business is now crippled.
If only you could downgrade, right? Alas, Apple won't let you anymore. That's where the new signature cache server comes in: by doing your restores through this server you secure your ability to not accept upgrades from Apple if the need is dire.
Performing the Restore
Now, one would have hoped that the process would be as easy as "restore using the 3.0 IPSW". If only we were that lucky. The first problem is that a downgrade from 3.1 to 3.0 must be initiated in DFU mode.
So, we begin: hold down the lock and menu buttons (some call these the power and home buttons) for 10 seconds, letting go of the lock button but continuing to hold menu until iTunes recognizes the device with the message: "iTunes has detected an iPhone in recovery mode. You must restore this iPhone before it can be used with iTunes.".
Note that, at this point, your iPhone's screen should be entirely black. Many people confuse "DFU" with "recovery" (and in fact, iTunes itself glosses over this), but they are quite different. If you see anything on your screen, such as the iTunes logo and a sync cable, or a cartoon of Steve Jobs swearing in Cyrillic, you are in recovery mode and need to try again. One can find videos online that may help.
At this point, you should do a "normal" restore to the 3.0 software. When doing this, remember to hold down the option key (on Mac OS X) or the shift key (Windows) while clicking the Restore button in iTunes. Select the firmware (which is probably named iPhone2,1_3.0_7A341_Restore.ipsw), and things should be on their way.
You will then find that it will come up with an error. That is fine do not panic. Now follow this blog.
http://www.blogsdna.com/3911/how-to-downgrade-iphone-3gs-31-to-30-os.htm
How to Downgrade iPhone 3GS 3.1 to 3.0 Firmware
1. Start your iTunes 8.2 & Connect your iPhone 3GS to computer via USB
2. Switch of your iPhone and put it in DFU mode with following instructions
- Click the Home + Power On button for 10 seconds exactly
- Release the power button and continue to click on Home
3. Following message will be displayed in iTunes 8.2. Click on OK
iPhone in DFU Mode
4. Now Press ALT key on keyboard and click on Restore button on iTunes
5. Locate & Select the original iPhone 3GS 3.0 firmware
iPhone 3GS OS 3.0 Firmware
6. A Confirmation message will be displayer. Click on Restore
iPhone 3GS Restore Mode
7. A Restore Process will start. At the end of restore process following error message Unknown error occurred (1015) will be displayed.
iTunes Error Code 1015
8. Do not panic with above error message. You just need to ignore above error message and click on OK button
9. Download iRecovery for Mac and iRecovery for Windows
10. Extract connect of iRecovery on Desktop
iRecovery
11. Go to terminal on Mac and on Command prompt on Windows and type following command
cd Desktop
iRecovery -s
12. Once you see a Message entering in Recovery Mode, Starting command prompt on screen type following command
Fsboot
iRecovery Last Command fsboot
13 Once the iPhone 3GS has been restarted, you see the Emergency calls only and You need to reactivate tour iPhone 3GS via iTunes
14. Either you can restore a backup or configure your iPhone 3GS as new phone and you are back to iPhone 3G 3.0 Firmware.
15. Now you can jailbreak your iPhone 3GS 3.0 with Purplera1n. Download Purplera1n from here & Check out how to jailbreak guide for iPhone 3GS 3.0.
I found that instead of putting in Fsboot I put
run the coomand setenv auto-boot true
then run saveenv
then run fsboot and it worked.
Hopefully this works for all people who updated to 3.1 and wanting to go back to 3.0
First of all off Sauriks Blog
To this end, I have constructed a server that duplicates the functionality exposed by Apple's signature server, except using "on file" results rather than live requsests.
All we need, then, is to make iTunes use it. Luckily, most operating systems also have the ability to locally define bypasses on specific hostnames through a file called hosts. Using this, we can redirect requests to Apple's signature server to Cydia.
So, open the file C:\Windows\System32\drivers\etc\hosts (Windows) or /etc/hosts (Mac OS X) and add the following entry to the bottom of the file.
74.208.105.171 gs.apple.com
Now, when iTunes thinks it is talking to Apple, it is talking to Cydia instead. Doing this will allow iTunes to access signatures already stored by Cydia's "on file" feature.
This server will also act as a cache for any SHSH blobs it hasn't seen, acting as an intermediary to Apple's server. This effectively registers your device with the "on file" mechanism, which means you can now enjoy the protections of being able to downgrade your firmware in the future even if you aren't jailbroken.
This point should be stressed: even if you don't jailbreak, and even if you never intend to jailbreak, you should consider using the new "on file" service.
Let's say that Apple releases an OS upgrade in the future, you take it, and they break something important. Maybe they break your e-mail account, or your todo list. Your business is now crippled.
If only you could downgrade, right? Alas, Apple won't let you anymore. That's where the new signature cache server comes in: by doing your restores through this server you secure your ability to not accept upgrades from Apple if the need is dire.
Performing the Restore
Now, one would have hoped that the process would be as easy as "restore using the 3.0 IPSW". If only we were that lucky. The first problem is that a downgrade from 3.1 to 3.0 must be initiated in DFU mode.
So, we begin: hold down the lock and menu buttons (some call these the power and home buttons) for 10 seconds, letting go of the lock button but continuing to hold menu until iTunes recognizes the device with the message: "iTunes has detected an iPhone in recovery mode. You must restore this iPhone before it can be used with iTunes.".
Note that, at this point, your iPhone's screen should be entirely black. Many people confuse "DFU" with "recovery" (and in fact, iTunes itself glosses over this), but they are quite different. If you see anything on your screen, such as the iTunes logo and a sync cable, or a cartoon of Steve Jobs swearing in Cyrillic, you are in recovery mode and need to try again. One can find videos online that may help.
At this point, you should do a "normal" restore to the 3.0 software. When doing this, remember to hold down the option key (on Mac OS X) or the shift key (Windows) while clicking the Restore button in iTunes. Select the firmware (which is probably named iPhone2,1_3.0_7A341_Restore.ipsw), and things should be on their way.
You will then find that it will come up with an error. That is fine do not panic. Now follow this blog.
http://www.blogsdna.com/3911/how-to-downgrade-iphone-3gs-31-to-30-os.htm
How to Downgrade iPhone 3GS 3.1 to 3.0 Firmware
1. Start your iTunes 8.2 & Connect your iPhone 3GS to computer via USB
2. Switch of your iPhone and put it in DFU mode with following instructions
- Click the Home + Power On button for 10 seconds exactly
- Release the power button and continue to click on Home
3. Following message will be displayed in iTunes 8.2. Click on OK
iPhone in DFU Mode
4. Now Press ALT key on keyboard and click on Restore button on iTunes
5. Locate & Select the original iPhone 3GS 3.0 firmware
iPhone 3GS OS 3.0 Firmware
6. A Confirmation message will be displayer. Click on Restore
iPhone 3GS Restore Mode
7. A Restore Process will start. At the end of restore process following error message Unknown error occurred (1015) will be displayed.
iTunes Error Code 1015
8. Do not panic with above error message. You just need to ignore above error message and click on OK button
9. Download iRecovery for Mac and iRecovery for Windows
10. Extract connect of iRecovery on Desktop
iRecovery
11. Go to terminal on Mac and on Command prompt on Windows and type following command
cd Desktop
iRecovery -s
12. Once you see a Message entering in Recovery Mode, Starting command prompt on screen type following command
Fsboot
iRecovery Last Command fsboot
13 Once the iPhone 3GS has been restarted, you see the Emergency calls only and You need to reactivate tour iPhone 3GS via iTunes
14. Either you can restore a backup or configure your iPhone 3GS as new phone and you are back to iPhone 3G 3.0 Firmware.
15. Now you can jailbreak your iPhone 3GS 3.0 with Purplera1n. Download Purplera1n from here & Check out how to jailbreak guide for iPhone 3GS 3.0.
I found that instead of putting in Fsboot I put
run the coomand setenv auto-boot true
then run saveenv
then run fsboot and it worked.
Hopefully this works for all people who updated to 3.1 and wanting to go back to 3.0