I had the 1.0.2 firmware and I upgraded it to 1.1.3. You too can quite easily.
First thing you need to do if your iphone is unlocked and jail broken go to the installer app and get the Virginize app.
Here is how to virginise your iphone http://iphone.unlock.no.
How to "Virginize" the iPhone to repair the baseband?
Ignore all long and complex tutorials - I have set up a fully automatic script that will repair the baseband. This script will work on any baseband version, but will not work on phones with new bootloader (out of the box 1.1.2). It will not run on 1.1.2 firmware either, you need to downgrade to 1.1.1 or 1.0.x before running.
You would want to virginize if you upgraded to 1.1.1, and have 0049xxx IMEI. Check this in Settings → General → About.
- Set Settings → General → Auto Lock → Never
- Start Installer and update it if it asks. Tap on Sources, Edit, and Add http://i.unlock.no/ as a repository.
- Make sure you have BSD Subsystem installed. If it's installed it's listed in "Uninstall", if not listed, tap on Install and goto the System category and install it.
- Now, install The Virginizer found in the Unlocking Tools category. This will take almost 10 minutes to complete.
- When done, restore your phone to get 1.1.1 firmware reinstalled (this is not necessary if you are going to upgrade to 1.1.2)
- When phone has been restored, you can Activate and unlock as normal.
You only need to do it if your firmware is older than 1.0.1 or 1.0.2.
Then enter recovery mode so that you can restore the firmware from itunes. Here is how to enter recovery mode from http://iphone.unlock.no
To enter recovery mode, connect the phone to the computer and press and hold the Power button (on top) and the Home button (on bottom front) simultaneously. After about 15 seconds phone will appear to turn off, release the Power button but keep holding the Home button. After about 15 seconds the computer and iTunes will detect the phone in recovery mode, and you can perform a restore.
Once you are in recovery mode just connect to itunes and click restore while holding the shift key down and itunes will ask you to select the file, now you can choose which ever version you want.
1.0.0: iPhone1,1_1.0_1A543a_Restore.ipsw 1.0.1: iPhone1,1_1.0.1_1C25_Restore.ipsw 1.0.2: iPhone1,1_1.0.2_1C28_Restore.ipsw 1.1.1: iPhone1,1_1.1.1_3A109a_Restore.ipsw - 130 Mb approximately 1.1.2: iPhone1,1_1.1.2_3B48b_Restore.ipsw - 90 Mb approximately 1.1.3: iPhone1,1_1.1.3_4A93_Restore.ipsw - 160 Mb approximately
Here is the list of iphone firmware's available from apple site. Download the version you want and select it when you restore and itunes will restore it. Don't disconnect iphone while this is happening make sure power outage doesn't happen. Use a PC with ups or use a laptop.
Once its done iphone reboots and shows you the activate screen go and download the ziphone program. Its a 1 Mb or so download. Once downloaded unzip and run the ziphone.exe file and select all the three options of unlock, activate, jailbreak and it will do the rest. Once its finished you should have a iphone that is updated jail broken activated and unlocked.
If this fails for you can always go back and restore to a older firmware.