[3.0 GM] Downgrading the "Undowngradable"
Guys, I love my iPhone. You know, I really do :)
The reason for doing this is that there's millions of threads asking how to get back from the 3.0, especially from GM version... So here it is :)
Why? Well, no matter how much that slimy Apple tried to keep me away from messing with it, it always provides me with a way if I tried really hard. So, every new software update Apple provides us a little challenge to mess with.
Many of you, like me, who don't really rely on the soft unlock solution by our dear iPhone dev-team, have bought this phone to enthusiastically mess with it. So, naturally, when we saw the available 3.0 Golden Master, we went with the flow after ascertaining the risks and fired up iTunes 8.2 while preparing ourselves for the final version 3.0 of the iPhone OS.
Those were the reasons which made me jump in, like the most of you... Curiosity, eh? Now, I am ready to go home but at the iTrainStation there's been a lockdown that says that nobody's going back to the Old Country 2.2.1
By some... It's impossible. But with a little thought, everything is possible. Let's first review the issues that differ 3.0 GM from the betas.
1) iTunes 8.2 in it's final version alters the low-level functionality of the USB drivers. That means that the old-fashioned jailbreak and other nasty-edge reaching stuff we used to do in the past is not do-able from this moment on. Not without redesigning our approach.
2) iPhone 3G 3.0 GM talks only with miss iTunes of 8.2, because of the reasons listed above, or not? :P Read on
So the only way to restore 3.0 GM to the 2.2.1 is through the DFU mode in which we can't get into because of the new redesigned USB drivers and we can't use older versions of iTunes.
But, there's a catch :) A beta... Yes, 8.2 beta will be recognised by the lovely iPhone running 3.0 GM and we'll just have to uninstall the new iTunes and the parts that relate to USB communication with the device. So, basically, we'll just use 8.2 beta which still operates on the old mechanics but is able to communicate with 3.0 GM iPhone. As would the British say, smashing!
So, let's get our hands dirty... First things first, uninstall "iTunes 8.2" and "Apple Mobile Device Support" from your machine.
When that's done, download and install iTunes 8.2 beta:
Of course, run the iTunes 8.2 beta and you'll find out that the iTunes indeed communicates with iPhone 3.0 GM.
Now, jump to the DFU mode so we can channel our old software to the device without being detected & kicked out by errors of nagging Apple developers. How to do that, it's a little tricky, but the mechanic is the same as before:
1. Connect the iPhone to iTunes, wait for confirmation
2. Turn off the phone nicely, or force it if you are stuck in recovery mode (romantic picture of a USB cabel running towards the icon of iTunes) by pressing 'n' holding the power and home buttons for a few seconds until the screen flashes. LET GO THEN! Don't be nervous and get all sweaty, everything is going to be okay. :)
3. Now, the most tricky thing, perhaps to double-click the right corner of the Windows UI, on the clock and count 10 seconds there. PRESS AND HOLD the power and home buttons for EXACTLY 10 seconds. And at the tick of the tenth second, release the power button while holding the home button for another 10 seconds.
If all snaps together, your iPhone's display should be blank and it should report to iTunes that it's in "Recovery mode". Just click okay and shift+click restore.
4. Navigate to your 2.2.1 ipsw and select it. If all has been done well, the process of restoring to the 2.2.1 should commence. ERROR WILL OCCUR in the end, it ought to be something like 1013, as long as the second digit is 0, you are okay. You don't really have to know why. (1xYY -> x = 0 -> you're okay )
If the second digit is 6, you didn't get to the DFU mode and it failed. You must be in a stage where your display is blank (BLACK) and the iTunes is showing your device with only the "Restore" option available.
Basically, why do we get the error? Because the iTunes software automatically assumes that it is doing an update to a newer software and thus tries to write the baseband firmware. Since we are doing a downgrade, it's unable to write to the baseband and returns an error like 1013.
Which is good, we have accepted the fact that for now there is no way to revert/downgrade the baseband to an earlier firmware version. If you were depending on the soft unlock and you still went to 3.0, you've been... Well... I won't use the f-word. :)
After the "unsuccessful" successful downgrade, your iPhone will be taken to the recovery mode because iTunes considers the whole process a failure ( unable to write baseband, returned error xxxx).
You might experience some issues like me. I was trying to kick it out of the recovery mode using the old technique by connecting it to QuickPWN and getting through a few steps, but the QuickPWN got confused and stopped working (Vista Home Premium 32-bit here).
The downgrade WAS successful and you are currently in 2.2.1, but you can't easily kick iPhone out the recovery mode. I solved this by connecting it to iTunes 8.2 beta and while in recovery mode, NOT THE DFU MODE this time, I shift+clicked the restore button, selected the 2.2.1 software again.
Get the error 1013 again or something along those lines, force switch off your iPhone and try to switch it on. It ought to start normally this time and just jailbreak the usual way.
TROUBLESHOOT ON THE LAST PART OF QUICKPWN PROCESS (OCCURRED TO ME):
Some trouble might arise when it doesn't move it automatically to recovery mode (final step of QuickPWN, the part where you need to hold x for 5, hold x and y for 10... You know...). Simply unplug it in the middle of the process (don't worry, no damage), turn it off normally. Now, hold the Home button and plug in the cable whilst STILL HOLDING THE HOME BUTTON until it shows the cute romantic picture of a cable rushing towards an iTunes logo through black vacuum. Quickpwn registers and...
...simply continue to follow the onscreen instructions and get your iPhone 3G (now on 2.2.1) happily broken out of jail and access that bitchy system partition :)
That's it... I'll post a picture from "About" as proof in a few minutes. If you have any trouble with this, let us know here.
I sincerely hope this helps :)