Hi to all of the people that are suffering from the No Service issue after downgrading your 3GS (new or old Bootrom) 3.1.3 to 3.1.2 . After suffering a couple of hour's with the No Service issue, i finally got everything back in place(Back to 3.1.2, jailbroken and iPhone activated via itunes) after accidentally upgrading to 3.1.3 .
Please follow carefully, as most of what should be done had already been mentioned in previous posts/forums :
P.S you should have made a backup on Saurik's server via Cydia, otherwise, i'm sorry to tell you that you can not proceed with the downgrade to 3.1.2
1. First of all download/save to your computer firmware 3.1.2 for your iphone, can be downloaded from here
Download the new iPhone 3.1.2 Firmware | Redmond Pie .
2. Edit your computer Host to fake iTunes and make it believe it's communicating with Apple, but instead make it communicate with Saurik's server. Follow this link to show you have to edit your host file for mac
How to edit the hosts file in Mac OS X – Leopard Decoding the Web .
3. Add 74.208.10.249 gs.apple.com to the end of the file and save the file and while the Terminal is open and you've already exited the host file, type dscacheutil -flushcache and hit enter.
4. Now put your iPhone in DFU mode, i would like to emphasis that you should put it in DFU mode not Recovery mode. Follow this like to know how to get it in DFU mode
What is Difference Between Recovery Mode and DFU Mode | iPhone 3G S .
5. For Mac press on the Option key on your keyboard and then click restore on iTunes. Specify where you've saved the downloaded 3.1.2 firmware in step 1 .
6. While restoring, an error 1015 will occur, don't panic!! let the iphone reboot and the Connect to iTunes screen appear.
7. When stuck on the Connect to iTunes screen, download iRecovery from here
iHackintosh iRecovery Package for Windows & Mac.rar .
*8.1 To start iRecovery on mac, simply open the command line applicaiton(Terminal), and then DRAG the iRecovery file from the location you've extracted it and DROP it inside the Terminal window and add to the end of the command line that is automatically written '-s' so it should be 'irecovery -s'.
**8.2 To start iRecovery on windows, first extract the iRecovery to the root directory "c: \" of your hard disk, then run the exe file 'libusb-win32-filter-bin-0.1.12.2.exe' already contained in the archive downloaded in step 7, then open windows command line application 'cmd' and type 'irecovery -s' while you are at c: \
*** Note for Windows users : BEFORE INSTALLING libusb-win32-filter-bin-0.1.12.2, right click the file and set it to run under compatibility mode for Windows xp sp2. Thanks to gangsta415 and pappajohn for pointing that out, as i'm not a windows person
9. When you are left with command line empty, type in the following :
setenv auto-boot true "hit enter"
saveenv "hit enter"
/exit "hit enter"
10. Reboot your iPhone by pressing and holding the sleep/power button and the home button until the iPhone display turn off.
11. Have a SIM card inserted in your iPhone.
12. While the iPhone is still connected to your computer and iTunes running, Start your iPhone normally by pressing on the Sleep/Power button.
12. Wait until the iPhone get ACTIVATED by iTunes and then you can jailbreak it by any method you'd like (I prefer BlackraIn).
Hoping that i've made someone's day and that my instructions was easy to follow. Kindly post me your feedback.
Enjoy your back to life jailbroken and activated 3.1.2 iPhone 3GS.
Rafay.