Downgrading from iOS 4.3b back to 4.2.1

If you’re like me and enjoy tinkering and playing with the latest iOS betas simply for the ‘fun of it’, chances are you’re pretty ‘cluey’ about iOS and how the iPad, iPhone and so on work.

As of the iPhone 3GS and iOS 3.x, Apple now signs every single firmware with a signature, unique to every single device and firmware called a ‘SHSH blob’. This means that usually once Apple releases an update, you can’t go back down, you’re forced to go up. Presumably in an attempt to prevent jailbreaking, to enforce security and to make sure everyone has the latest version.

Usually it’s pretty easy to downgrade if you’ve got the SHSH blob for your device for the firmware you’re trying to downgrade to. Unfortunately, as of iOS 4.2.1, Apple is making things somewhat trickier.

For 3G devices, when you update or restore to a new version of iOS, the baseband is also upgraded. Usually, this is pretty easy to bypass using a tool such as TinyUmbrella. From iOS 4.2.1 however, a check is performed at first boot after restoring to the firmware version to check the baseband version. If the baseband doesn’t match the baseband in the firmware you just restored to, it’ll simply error out (usually with an error like 1015) and you’ll be stuck with an unbootable device, stuck in a recovery loop. In iOS 4.1 and earlier, you could simply use TinyUmbrella to kick it out of recovery mode, but Apple have stopped this in 4.2.1. This is an issue when you upgrade to 4.3 and want to go back down, as you…. can’t! Even if you have the SHSH blobs saved, you’ll get stuck in a recovery mode loop. Luckily, this can be bypassed as of today.

To start off, throw your iPad 3G or iPhone into DFU mode, and downgrade to 4.2.1 (I shouldn’t need to tell you how to do this). From here, when you’re stuck in the recovery mode loop (with error 1015 or similar), now download GreenPois0n and follow the steps.

Bam! You now have a happily downgraded iPad (or iPhone) running jailbroken 4.2.1. If you’ve run into any other problems, drop me a line below and I’ll try and help out.

Cheers!

Insert standard disclaimer here; I’m not responsible for any damage to anything, or if your computer blows up. I have only tested this on an iPad 3G.

Comments

  1. greg says

    wait so if we restore after the jailbreak can we go back to 4.2.1 or will it give us the same 1015 error?

    • Beau Giles says

      Unfortunately, from iOS 4.2.1, you will not be able to revert to stock firmware, if your baseband is a higher version than it should be with the corresponding firmware.

  2. greg says

    alright, oh and im having another problem with my ipad, its not able to connect to wifi and i dont have a data plan as of now, so would i have to restore and then upgrade back to 4.3 b3?

    • Beau Giles says

      Restoring and upgrading is the preferred method, yeah, however, it’s always worth a try just doing an upgrade from iOS 4.2.1 to 4.3b. What exactly were you having trouble with in regards to WiFi? On my iPad 3G downgraded to 4.2.1, I haven’t experienced any issues.

      • greg says

        I have the wifi symbol on the top left, but I cant go to safari, or anything that needs internet, and when I tried to reconnect to my wifi, it would say unable to join

        • greg says

          oh never mind works fine, just had to reset my router SORRY, and THANKS SO MUCH it works amazingly good

  3. Jim Crail says

    Hey this works! My son upgraded his 3GS to 4.3b even though we aren’t developers. We spent hours yesterday trying a bunch of other fixes. Found this the first thing this morning and BAM!! Out of the loop, 4.2.1 restored, and the phone reactivated. THANK YOU!!

  4. alex says

    hey, it works great thanks,
    do u know if we can do this in the future too, like if we are going to downgrade from the official 4.3

Trackbacks

  1. […] This post was mentioned on Twitter by Beau Giles, Bill Wallace. Bill Wallace said: Nice work. RT @BeauGiles: New blog post, for those of you having trouble downgrading from iOS 4.3b back to 4.2.1 http://bgil.es/rw 🙂 […]