The following instructions will help iPhone 4 unlockers to update to iOS 4.2.1 while keeping the old 1.59.00 baseband, jailbreak it untethered with GreenPois0n RC5, and then unlock it with Ultrasn0w.
NOTE: This guide is meant for iPhone 4 only.
Step 1: Download the latest version of TinyUmbrella from here.
Step 2: Start TinyUmbrella, and then click on “Start TSS Server”.
Step 3: Start iTunes, Connect your iPhone 4 with your computer. Click on your iOS device icon from the sidebar in iTunes. Now press and hold left “alt” (option) button on Mac, or Left “Shift” button if you are on Windows on the keyboard and then click on “Restore” (Not “Update” or “Check for Update”) button in the iTunes and then release this button.
This will make iTunes prompt you to select the location for your iOS 4.2.1 firmware file. Select this ipsw file and click on “Open” to restore your iPhone.
Step 4: Now at some point while restoring to iOS 4.2.1, iTunes will throw 1013 error at you. This is normal, just ignore this error as the firmware has already been successfully installed on the device without the upgraded baseband.
Step 5: Now click on TinyUmbrella’s “Exit Recovery” button. Your device will now restart normally.
Step 6: Now follow our complete step by step guide posted here to jailbreak your iPhone 4 untethered on iOS 4.2.1 using GreenPois0n RC5.
Step 7: Once you have jailbroken your iPhone 4, you can safely unlock it on iOS 4.2.1 (on 01.59.00 baseband) using Ultrasn0w 1.2.