Posted: April 23, 2012 in Android, Nexus S 4G
Tags: , , ,

I have seen a few posts on other forums about people wanting to go back to stock to get the OTA.  There have also been a lot of questions about rooting after the OTA and if it will remove root.  I decided I would take my phone back to 2.3.7 and then install superuser for 2.3.7.  After that I will take the OTA to see if a few things happen.  Is the recovery replaced?  Does the OTA remove the SU binary and in effect superuser access?  Read on to see the results and what the next steps are.

The first step was to take a backup.  I have CWM installed so that was fairly easy to do.  While the phone was backing up I went and grabbed the factory 2.3.7 image from Google. You can get the factory images here: http://code.google.com/android/nexus/images.html

There are both 2.3.7 and 4.0.4 images available for the NS4G.

I extracted the image until I got the folder that containted the flash scripts and the images.  My phone was already running ICS but I decided to flash the bootloader and the radio back as well.  Since I am running this on windows though I couldn’t just use the script.  Here are the commands I used.

fastboot flash bootloader bootloader-crespo4g-d720sprke1.img

fastboot reboot-bootloader

fastboot flash radio radio-crespo4g-d720sprkh1.img

fastboot reboot-bootloader

(There is a known issue with the bootloader that it will not show the proper radio until after the phone has fully booted into the OS.  What this means is that after second reboot-bootloader command you will not see the updated radio on the bootloader screen.  As long there was no error this is fine if you are not running LC1.  If you are like me and running the LC1 radio you will not be able to run the next command without booting the phone all of the way back to the OS.  So you have two options, flash the .img files individually or boot up the phone and then power it off and go back into the bootloader.  I chose to reboot the phone for the sake of this test.  As soon as I was able too I chose to power off the phone.  Returning to the bootloader now shows D720SPRKE1 as the baseband.  This is also a known issue that KH1 will show up as KE1 in the bootloader screen.  This creates another problem.  The KE1 was always a pain to try and work with flashing even when building from pure source this bug was always there.  The easiest way to get around this is to extract the archive and modify the “android-info.txt” file.  Change the KH5 to KE1 at the end of the line and put the file back into the archive.  You can now proceed to the next step below.)

fastboot -w update image-sojus-gwk74.zip

Now we have a full factory imaged fresh 2.3.7 build with nothing on it at all.  The reason for the reboots are that we want to make sure when the image gets installed that all of the phone is exactly the way it would have been without having 4.0.4 on it.  I have not tried to do any of these steps without full reverting and have no idea what would happen if you tried to fire up 2.3.7 with the newer radio.  The bootloader is the same in both the 2.3.7 factory image and in the 4.0.4 image so the first two lines could probably be skipped.

Sign into your Google account and do all of the fun initial setup stuff.  I did not wait for the phone to finish syncing, instead I went directly to settings, about and hit System Updates.  The first time I went to system updates it said there was not one available.  I waited a little bit and then when I checked again it was downloading the 130+ MB update.  While waiting for the update to finish I did a little poking around since it had been a while since I played around with GingerBread.  One thing that I noticed right away was the signal strength, or lack there of.  With LC1 and ICS I had much better reception at my desk, I am not sure if this is just how GingerBread reports it or if there is that much of a difference in the radios.  When I put LC1 on it did seem to get better and provide better battery life though.

The update finished downloading and I was prompted to install and reboot.  The point of this though is too see if we can keep root.  I powered down the phone and went back into the bootloader.  I then flashed the latest ClockWork Mod Recovery and installed the su app and binary.  Now the phone is running 2.3.7 factory with su and CWM Recovery, time to see what the OTA breaks.  I had a 3.0.2 version of Superuser so I used that to make sure root was working.  I used the built in update feature to get the latest version without issue.

Pull down the notification menu and tap the updates notification.  Tap restart & install then wait for the 10 seconds.  There we hit a brick wall,  I think it has something to do with having CWM Recovery Installed.  The phone gave me an error and took me to CWM Recovery.  The downside to this is that when I rebooted it said my phone was up to date.  Now what am I going to do?  Luckily I know the path to the update, but it looks like you cannot OTA from 2.3.7 running CWM Recovery anyway.  I figured I would give it one more go since the phone connected via WiFi, maybe it needed to talk to sprint to verify the version for some reason.  So I turned off the WiFi in order to check for the update again.  No dice.  I even did the checkin dial pattern to see if it would help, again no dice.  So I downloaded the OTA from Google’s servers and put it in the root of my SDCard and made sure it was named update.zip.  If you need the file you can find the link that I posted about it with instructions previously here, note that the instructions are for a pure stock install and using CWM is a little different to install the update.

Powered off the phone, and got back into the bootloader.  Entered Recovery and then followed the steps to install it.  Seems like everything is working fine, now we wait.  I use touch but the options are still install zip from sdcard and then choose the install sdcard/update.zip.  It only took about 7 minutes to actually install the update using CWM Recovery.  Tap on reboot now and you should be all set.

The good news is that if you have a custom recovery you can use the OTA without issue.  The even better news is that if you are running the latest Superuser it doesn’t even remove it.  The bad news is that it does replace your recovery.  You will have to use fastboot to re-flash your custom recovery.  This takes about 30 seconds though if you are used to it.  The easiest way to get to 4.0.4 is to download it to the sdcard, name it update.zip and then use CWM to install.  I am now running a full rooted 4.0.4 factory build.  I will only be running it for about 20 minutes before I restore back to my custom ROM but it was a fun process and hopefully it helps some of you out there.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s