UPDATE: It appears Apple is not signing 4.0.2 SHSH requests anymore. As a result I've updated TinyUmbrella to 4.1.4 which will default to grab the 4.1 SHSH for iDevices (3.2.2 for iPads).
I put my money where my mouth is. I tested my code on my own iPhone 4 and was able to update to 4.1 without touching my baseband.
The only doctoring I did was removing my private info. The newest version of TinyUmbrella will have an added side-benefit of allowing you to update to 4.1 without the fear of baseband update. Of course, in order to downgrade back to 4.0.x you need to have your SHSH saved on Cydia or locally. Have fun :)
I've also seen a TON of questions about how to update from 4.0.x to 4.1 WITHOUT updating your baseband. I'll give you a quick rundown of how to do it.
- Get the latest TinyUmbrella (4.1.3)
- READ THE README TinyUmbrella README NOW Yes. You Read it.
- Run TinyUmbrella.
- Start TSS Server
- Open iTunes
- Restore 4.1 (NOT UPDATE) Yes this requires you to download 4.1 Here
- Let iTunes error with 1004 error (baseband update failed - we want this :) )
- Kick Device Out of Recovery
- \o/ -- You are now on 4.1 with 1.59.00 baseband!
I have heard a few folks voice concerns about how they can downgrade their 2.x baseband to 1.59.00 on iPhone4. Here are the basic steps:
- Close TinyUmbrella (if open)
- Close iTunes (if open)
- Remove ALL lines in your hosts file that contain gs.apple.com
- Windows: Start -> cmd -> ipconfig /flushdns
- Mac: Terminal -> dscacheutil -flushcache
- Start iTunes
- Restore (NOT UPDATE) Stock 4.0.2 iPhone 4 - 4.0.2 Download
Note that this will only work while Apple is signing 4.0.2 SHSH requests. This is due to the way Apple now updates/restores Baseband Firmware for the iPhone 4 different from the way it did to prior devices. Lucky us...