Downgrading Google Nexus One from Android Gingerbread 2.3.3 to Froyo 2.2

Google Android has an automatic update service integrated that will ask you to update your version when a new one is available. This may be great for consumers - but it can be pretty annoying when you've just updated to 2.3.3 (Gingerbread) and then realize that you now have a testing device that is on a level that only 1.7% of your potential customers are on (see Google Android Platform Versions).

So how to downgrade your device?

1 Answer

1

First of all: You do this at your own risk ;-) ... and you will lose any data on the device, as well as any settings. This will be getting you down to 2.2 - and so far as the update the phone offers would go directly back to 2.3.3, I have no way of getting to 2.2.1 for instance. After the downgrade is complete, you may want to disconnect USB (I found it a bit confusing because I got a screen with only one button "activate USB-filesharing" and now way to get out of there - except disconnecting USB). Finally: You'll want to re-active USB-debugging on your device after the procedure is complete.

The following steps are mostly taken from How to go back to Froyo from Gingerbread without unlocking the bootloader., with some notes added; there's other instructions for downgrading available on the Web but these are the most straightforward ones I found:

  1. Go to Android - Passion (Nexus One) on www.shipped-roms.com
  2. Download Passion_Google_WWE_2.16.1700.1_FRG33_MFG_Shipment_ROM.zip (you can probably find later 2.2 versions but I haven't tried that, yet)
  3. Watch out: I had to try this 3 times before I was able to download the complete file. In the first two attempts, I only got 54MB and 29MB of the file - so you'll be unable to unzip the file (and you certainly wouldn't want to get an incomplete file on your Android ;-) )
  4. When you have the complete file on your machine, unzip it. The unzipped file is called: PASSIMG_Passion_Google_WWE_2.16.1700.1_FRG33_release_signed.zip - be very careful to rename this file to PASSIMG.zip (should be easy - you just remove "_Passion_Google_WWE_2.16.1700.1_FRG33_release_signed" ... also, be aware that case matters, so passimg.zip wouldn't work)
  5. You should have ddms on your machine, it's part of the Android SDK, in the tools folder. Start ddms, click on your device and select from the menu: Device / File Explorer ...
  6. In the file explorer, select mnt / sdcard and click the button to "Push file onto device". Select PASSIMG.zip ... for some reason, this didn't work for me the first time - when it works, you get a nice progress dialog. The file should end up in the sdcard folder
  7. Take a deep breath ;-)
  8. Switch your Google Nexus One off. Switch on on while holding the trackball (this will get you into the bootloader mode)
  9. Use the on/off button and volume up/down to navigate. BOOTLOADER -> on/off button -> FASTBOOT -> on/off button (basically just hit on/off button twice). The device will now check PASSIMG.zip, which takes a little while (btw, you might want to remove PASSIMG.zip after you're done ;-) ). Eventually the device asks you if you want to update, say "yes" by hitting volume up
  10. Be patient.
  11. Eventually, the device will boot and you'll be back in 2.2. Problem solved.