How-to Downgrade iOS 4.3 to 4.2.1

By
On March 12, 2011

Before downgrading your iPhone firmware from iOS 4.3 to 4.2.1, you must have SHSH Blobs for iOS 4.2.1. Why do you need to save SHSH blobs before downgrade iPhone firmware?
It’s explained very well in this post: What is ECID SHSH Blobs
The main point is, Apple will need to send signature approval back to iTunes while restoring firmware process and Apple will deny to sign iPhone OS 4.2.1 because it is older than the current release, iOS 4.3.
Saved SHSH Blobs is signature files that has been approved by Apple and you saved in a safe place (Cydia, Local Computer, or Email). Once you have it saved in a safe place, you will not need to ask Apple again while iTunes restoring firmware.

What do you need to downgrade iPhone firmware?

  1. Saved SHSH Blobs on local computer (you may import to local computer if you have it saved in somewhere else)
  2. Import save SHSHs from Cydia to local computer. You can click your connected device → click Save SHSH to import SHSHs from Cydia to local computer.
      It should show this list if you have any SHSH file(s) saved.

      In this picture, TinyUmbrella says that I have these SHSH files saved on my computer (also on Cydia):

    • iPhone4 4.0.1 (8A306)
    • iPhone4 4.0.2 (8A400)
    • iPhone4 4.1 (8B117)
    • iPhone4 4.2.1 (8C148)
    • iPhone4 4.2b3 (8C5115c)
    • iPhone4 4.3b2 (8F5153d)

    It means that I can downgrade to any firmware that mentioned above (includes iOS 4.2.1 → iPhone4 4.2.1 (8C148)). You will not be able to downgrade to firmware version which is not mentioned in TinyUmbrella.

  3. iPhone firmware file (.ipsw)
    Download iOS 4.2.1 IPSW file.

    Where to download iOS 4.2.1 IPSW file?
    Click here: Download iOS 4.2.1 IPSW

  4. Install the latest version of iTunes
    Get the latest version of iTunes here: Download iTunes latest version direct link

Get started to downgrade iPhone firmware.

  1. Open TinyUmbrella using Administrator access. right clickRun as Administrator.
  2. Click Start TSS Server
    TinyUmbrella Start TSS Server

    It will kill (close) iTunes (if iTunes is running).
  3. Click Log tab and make sure that TinyUmbrella’s TSS server is running and TSS Server Started & TSS Accepting connections… and no error message on console.
    TinyUmbrella TSS Server Running
  4. Verify that TSS Server is working fine.
    To verify that TSS server is working fine, ping gs.apple.com and it must be resolved to 127.0.0.1.

    C:>ping gs.apple.com

    Pinging gs.apple.com [127.0.0.1] with 32 bytes of data:
    Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
    Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
    Reply from 127.0.0.1: bytes=32 time<1ms TTL=128
    Reply from 127.0.0.1: bytes=32 time<1ms TTL=128

    Ping statistics for 127.0.0.1:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
    Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 0ms, Average = 0ms

    C:>

    ping gs.apple.com 127.0.01

    All right, you are good to go.

  5. Open iTunes
  6. Put your iPhone into DFU mode.
  7. Restore the iPhone firmware using shift + restore method (Windows) / Option + Restore (Mac)
  8. Browse to downloaded IPSW firmware file and wait until the process finished.