There are a bunch of posts like this one with download links to tons of different firmwares. If there isn’t a build for exactly the same version of Android that you have, it’s OK to use one a little bit behind.
If all goes well, the phone will reset itself and boot back up normally.
You can check to see that your flash worked by looking for the new serial number in your phone Settings.
Or perhaps you’ll find the same problem I did: something else on my computer had already “claimed” this phone, so Heimdall errored out with “libusbx: error [darwin_claim_interface] USBInterface Open: another process has device opened for exclusive access. ” If you encounter this problem, you can solve it by manually shutting down that other software: Then try the heimdall commands again. and because it wasn’t spinning extra cycles without signal, greatly improved battery life, too.
So we know: every time you update your ROM, do a modem firmware update, too.
The guide is applicable for Upgrading i Phone from any OS version below 4.0 (3.0,3.1.2 or 3.1.3) to 4.0 and also for i Pod Touch. Do not disconnect your i Phone until the update has finished That’s it, Once update is finished your will have i Phone 3G/3GS running latest i Phone OS 4.0 For Jailbreakers & Unlockers You can jailbreak i Phone 4.0 OS with redsn0w 9.5.0 or download Pwnagetool 4.0 or by grabbing i Phone 4.0 custom firmware file from internet.