Skip to main content

Upgrading Globe Nexus S (i9023) to 4.0.4

Doing this now. These instructions should work for i9023 devices (like the one from Globe Telecom).

http://www.androidpolice.com/2012/03/28/download-official-android-4-0-4-imm76d-update-for-the-nexus-s-heres-how-to-get-it-right-now/
An new official update IMM76 (Android 4.0.4) is poised to roll out for the Nexus S. The update file, which weighs 18MB, can be downloaded directly from Google's servers and applied only over stock IML74K (Android 4.0.3):
UPDATE 1:

The procedure didn't work for me. After selecting recovery, it brought me to a blank screen. It turns out the 4.0.3 recovery has a bug that doesn't turn on the backlight but I was able to see the words by shining a flashlight angled from the bottom to the screen. Nevertheless, I got the status 7 error when I tried to flash the zip file. xda member oldblue910 has an explanation:

http://forum.xda-developers.com/showthread.php?t=1445635

A NOTE ABOUT ANDROID 4.X OTAs 
Beginning with the 4.0.3 -> 4.0.4 OTA update, you are NO LONGER ABLE TO FLASH OTA UPDATES MANUALLY IN STOCK RECOVERY. IT WILL FAIL 100% OF THE TIME. The only way to flash OTA updates on 4.0.3 and later versions using stock recovery is to wait for the OTA notification on your phone, then tap "Reboot and Install".
If this pisses you off, you have the option of unlocking your bootloader, installing either a stock Gingerbread recovery or ClockworkMod recovery, and then flashing the OTA updates manually.
The alternative, which I will do after holy week, will be to flash the 4.0.4 factory install images that was just released by Google. Note that this is only for soju devices, which includes the Globe Nexus S i9023. The downside to this is that it will wipe out all your apps and data unlike OTA. It would be best to wait for the OTA if you don't want to spend a day restoring all your apps. Anyway, you'll end up with a fresh factory state which may be a good thing. The instructions as follows:

http://forum.xda-developers.com/showthread.php?t=1572307

UPDATE 2:

SUCCESS! I am now running 4.0.4. The procedure went very smoothly without errors or glitches. I used the factory install images method to get to 4.0.4. The entire process took less than 3 minutes (assuming all the files and sdk have been downloaded and installed).

Preparatory steps:

  1. Use Astro File Manager to backup all your apps.
  2. Install SMS Backup to backup your SMS messages.
  3. Connect the phone by USB cable and copy the DCIM folder (pictures), SMSBackupRestore (SMS), backup (Astro Apps Backup).
  4. Go to System Settings -> Developer options -> USB debugging on
  5. In your PC, install the Android SDK and platform tools. You have to be able to enter the "adb devices" command in your PC and see your phone.
  6. Copy the three zip files that are inside the soju-imm76d-factory-ca4ae9ee.tgz file to the platform-tools folder where adb is.
  7. If step 5 works, then you may type the following on your desktop to start the procedure.
Jasons-MacBook-Air:platform-tools jgngo$ ./adb reboot bootloader


This was my device information:


product name - herring
hw version - Rev 52
bootloader i9020xxkl1
baseband - i9020xxki1
carrier info - xse
lock state - Locked



Since the boot loader was locked, the first step was to do:

./fastboot oem unlock


This step requires you to confirm on your phone that you want to reset all data. Now you can just follow the commands to flash the factory images. I included the outputs so you know what to expect. The ones in bold are the commands that I typed.


Jasons-MacBook-Air:platform-tools jgngo$ ./fastboot flash bootloader bootloader-crespo-i9020xxkl1.img
sending 'bootloader' (1536 KB)...
OKAY [  0.241s]
writing 'bootloader'...
OKAY [  0.348s]
finished. total time: 0.589s
Jasons-MacBook-Air:platform-tools jgngo$ ./fastboot reboot-bootloader
rebooting into bootloader...

OKAY [  0.001s]
finished. total time: 0.001s
Jasons-MacBook-Air:platform-tools jgngo$ ./fastboot flash radio radio-crespo-i9020xxki1.img
sending 'radio' (12288 KB)...
OKAY [  1.794s]
writing 'radio'...
OKAY [  1.695s]
finished. total time: 3.490s
Jasons-MacBook-Air:platform-tools jgngo$ ./fastboot reboot-bootloaderrebooting into bootloader...
OKAY [  0.001s]
finished. total time: 0.001s
Jasons-MacBook-Air:platform-tools jgngo$ ./fastboot -w update image-soju-imm76d.zip 
archive does not contain 'boot.sig'
archive does not contain 'recovery.sig'
archive does not contain 'system.sig'
--------------------------------------------
Bootloader Version...: I9020XXKL1
Baseband Version.....: I9020XXKI1
Serial Number........: 30337519A9C100EC
--------------------------------------------
checking product...
OKAY [  0.001s]
checking version-bootloader...
OKAY [  0.001s]
checking version-baseband...
OKAY [  0.001s]
sending 'boot' (3444 KB)...
OKAY [  0.539s]
writing 'boot'...
OKAY [  0.448s]
sending 'recovery' (3776 KB)...
OKAY [  0.584s]
writing 'recovery'...
OKAY [  0.488s]
sending 'system' (282046 KB)...
OKAY [ 36.586s]
writing 'system'...
OKAY [ 31.748s]
erasing 'userdata'...
OKAY [  0.226s]
erasing 'cache'...
OKAY [  1.992s]
rebooting...
finished. total time: 72.617s



After this, the phone should have already restarted and began to boot. Congratulations, you have a fresh factory installed Nexus S running Android 4.0.4.

Comments

Popular posts from this blog

Get uptime alerts in Telegram

You will be configuring 3 services. The assumption is that you have accounts already for these services. UptimeRobot — source of the uptime/downtime notifications. It currently supports email, Twitter, Slack, Pushover, Pushbullet and others but not Telegram. We will use the webhook notification as the way to send messages to Telegram. IFTTT — bridges UptimeRobot and Telegram by providing the webhook for UptimeRobot and triggering a message to Telegram. In IFTTT terminology: IF {event trigger from UptimeRobot}, then {send message to Telegram group} Telegram — destination of the notification. You will need to create a group for this. Telegram Configuration In Telegram, create a new group, if needed. You may opt to use an existing group. Go to @IFTTT and follow the instruction so link your Telegram account to your IFTTT account. Send /connect_group to @IFTTT and connect the group where you want to send the notifications. IFTTT Configuration Sign in to IFTTT and add a ne

Activating NDD on your Globe landline

NDD and IDD is not available by default on your new Globe landline to protect you from inadvertent charges due to calls to mobile phones and long distance numbers. Note that these instructions are for Metro Manila accounts. To activate NDD, you need call 730-1000. The problem is, an Interactive Voice Response (IVR) menu greets you at that number and there is no menu option to activate NDD. There is also no easy way to get to a human in the options. For credit card companies, I always use the "Report a lost card" option to reach an agent immediately. It appears there is no such shortcut with Globe's number. After several attempts at the menus, the way I got to an agent was to pretend to customize my plan and select the option that says the information is not helpful. Here's the guide: 730-1000 IVR Menu: 1 - English 1 - Globelines 1 - Customize your plan 1 - Customize your plan 2 - Not helpful 1- Talk to a customer agent It will take about 3 minutes for the

CI/CD for .NET Core

If you have a .NET API that you want to containerize, here are the steps to prepare it. Create docker image Push to repository Setup ECS The TLS 1.0 option is needed if your SQL Server database does not support TLS 1.2. The recommended option is to update your database to the secure protocol. You may also change sdk and aspnet version to 5.0 if you haven't updated to 6.0 yet. This Dockerfile uses a multi-stage build to get an optimal image size. Dockerfile FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build-env WORKDIR /app # Copy csproj and restore as distinct layers COPY *.csproj ./ RUN dotnet restore # Copy everything else and build COPY . ./ RUN dotnet publish -c Release -o out # Build runtime image FROM mcr.microsoft.com/dotnet/aspnet:6.0 WORKDIR /app # Enable TLS 1.0 RUN sed -i 's/DEFAULT@SECLEVEL=2/DEFAULT@SECLEVEL=1/g' /etc/ssl/openssl.cnf RUN sed -i 's/MinProtocol = TLSv1.2/MinProtocol = TLSv1/g' /etc/ssl/openssl.cnf RUN sed -i 's/DEFAULT@SECLEVEL=2/DEFAULT@