I got an unlocked GSM Galaxy Nexus (GT-I9250) phone from Amazon a few months ago and I've been wondering why it was still sitting on Android 4.0.2 (Icecream Sandwich). Looking at "Settings | About phone | System updates" told me that my "system was currently up to date" despite the fact that most of my friends had been running 4.0.4 for a while on their Galaxy Nexus.

It turns out that a colleague of mine, who managed to buy this phone just before Apple got it banned in the US, found the reason: it was set to get over-the-air (OTA) updates from Samsung, not Google. Samsung has been sitting on this one for a while, which isn't great given the random crash+reboots that seem to occur about once a week on 4.0.2 :(

Finding who delivers updates to your phone

Apparently there is a text file somewhere on the phone that will tell you whether it is a Google-controlled or Samsung-controlled phone. If you know what file that is, please leave a comment, I couldn't find it. So I ended up temporarily installing this application (warning: contains gratuitous ads) and looking at the "Brand" field.

Another thing you can look for is whether or not your device is running a "yakju" firmware (see the "Product" field). If it's something like "yakjujp", then you're not with Google and updates may not be available yet.

Switching to the standard Google firmware

In order to get your updates from Google, you can switch to the vanilla "yakju" firmware.

I followed these painful Windows instructions while I really should have looked at these ones instead (and ignored most of the steps given how much easier this process is on Linux).

The whole procedure can be summarized like this:

  1. Backup your phone.
  2. Unlock the boot loader (which erases everything).
  3. Reboot into fastboot (hold down Volume Up and Volume Down then press the power button).
  4. Flash all of the different firmware images.
  5. Reboot and reinstall/reconfigure apps.

In any case, a few hours later, I ended up with a fresh install of the 4.0.4 yakju firmware and an unlocked boot loader. The only thing I haven't been able to do yet is to re-enable full disk encryption. I'm not quite sure why my phone refuses to start the encryption process...

Here's how to do it from the command line or ADB:

http://android.stackexchange.com/questions/26157/how-to-find-out-the-variant-of-my-galaxy-nexus

Comment by François Marier

Hey Man ,

Thanks a lot for this informative blog .

I happen to be in the same boat now Since I bought My Nexus from my sis who happens to live in Singapore( I live in INDIA), and the phone is a yakjujp make from middle east, probably UAE, and i have been stuck at 4.0.4 ICS update while many of my friends have 4.1 jellybean .. I was just as shocked as everyone else has been when i came to know of the yakju/yakjujp update story after buying the phone ,it is seriously irritating and frustrating to see a company cheat us so badly , Worse there is no proper in fact not a systematic way to get in touch for support form Google !

Coming to the point of discovering what make the phone is ( yakju/yakjujp) and who takes care of update for phone, we can find that by checking the "ABOUT" section in the settings part of GOOGLE MAPS .. there all details are given , as is in mine which is :
PLATFORM -- android:samsung-maguro-galaxy Nexus

Device : Samsung Yakjujp

this is simpler than opening the file inside teh android system to check for details .

Buddy now can you do me a favour and let me know a link or process where a step by step guide to upgrade to 4.1 jellybean is given from 4.0.4 ( mine is international unlocked version )

Also i'm kinda new to this , but did read a good amount of forums and pages on this .. and zeroed in on you as you too had "yakjujp" variant of Nexus .

Would be happy if you could suggest me a way out of this mess .

Also does it take 8 weeks or in worse cases longer than that to get updates ??

Thanks & Regards

Comment by Santosh Krishna Venuturupalli

@Santosh If you switch to the Google yakju firmware (following the instructions here), you should get the Jelly Beans OTA upgrade within a few days.

That's what I'm running now. I received the 4.1 upgrade about a week after I wrote this post.

Comment by François Marier