Monday, 11 October 2010

Updating a Samsung Galaxy S i9000 the "official" way

Before we start, I'd say that going through this is beyond painful. The only reason to do it this way is if you particularly care about being able to claim on your warranty with Samsung if things go tits up. That or a sense of bloody-mindedness.

What You Will Need:

  • One i9000 (rooted or not shouldn't matter, but you'll probably need to be running stock firmware. For the record the one device I've got this working on was running stock, Orange-branded firmware, was not rooted but was SIM unlocked).

  • One Windows machine, physical or virtual. I was running XP pro on a VMWare virtual machine in an Ubuntu host but also verified every step except actually blowing the image on a physical machine; they behaved similarly. The VM was, if anything, a better experience than the physical machine. All windowses involved are 32bit, ymmv with 64 bit (I have seen reports of problems running on a 64 bit machine).

  • Patience.

How To Make The Damn Thing Do What It Should:

First, Install Windows Media Player 11. If you don't have this, one of two things will happen. Either kies (the samsung piece of crap you're about to use) will simply refuse to install or it will install perfectly happily, but will be unable to communicate with the phone. The symptom of the former is that the install process will hang waiting for a .cab file to be downloaded (sitting at 0% progress) and then abort with the error message "Installation Aborted". The symptom of the latter is that when you plug your phone in to the machine ready to connect to kies, Windows will detect a new MTP device and begin installing hardware but never complete the process. Should you end up in this state, just press the home button on your phone and disconnect it. Windows will eventually give up trying to install the hardware and tell you that it may not work properly. I've also noticed mysterious shutdowns happening on the phone a couple of minutes after disconnecting it when this second situation occurs. You may need to yank the battery to bring it back to life since the phone may well not respond to the power button.

If you've already hit either of the above problems but haven't installed Windows Media Player 11, you don't need to uninstall kies - just install WMP 11. You'll need to reboot the machine after installation, but then things should begin to work.

Now download Kies and install it. I used version 1.5.3.10093_80. When Kies starts up it may ask you to let it update itself (or it may not; on my VM it didn't on my physical machine it did). I didn't manage to get it to work after updating, though that isn't to say that it wouldn't; simply that I hadn't figured out all the rest of the workarounds yet. Regardless, you can certainly update your phone without running an updated kies. It's up to you if you want to take a punt and update. Close Kies down again and open up the registry editor (enter "regedit" into the Run... dialogue on the start menu). You need to add two registry keys in order to stop the firmware update software from recursing its way into a stack overflow as it tries to look for them when you start the upate process:
  • In System/HKEY_Local_Machine/Software/Samsung add a new key named FUS
  • In System/HKEY__CURRENT_USER/Software/Samsung add a new key named FUS
Close the registry editor and restart kies. If you don't do this, the firmware update will stall at 0% trying to download binaries, and eventually you'll get an error message about MSC.Thunder.FirmwareUpdate running out of memory. If this happens to you don't worry; the updater hasn't actually started doing anything to your phone yet. Once it's crashed you can just unplug your phone.

Over to the phone now: Switch your phone to Samsung Kies mode in the USB settings menu (which is hidden inside the "About Phone" menu in the main settings menu) and switch your launcher to TouchWiz or Kies won't play nice. I set it as the default for the upgrade, just to be safe. Navigate to the homescreen and plug your phone in to the PC. If you're lucky, you'll get the MTP screen up on the phone with the message "Initialising" shortly followed by "Connected". If you're unlucky your phone will, at this point, go mental and start rapidly switching between the homescreen and the MTP screen. In this case, unplug the USB cable and go on the phone to settings->SD card and phone storage->Internal SD card. Unmount and format the internal SD card. Plug the phone back in to the PC, and you should get to the "Connected" screen. Kies should now see your phone pretty quickly, and offer you a firmware update (if one is available). It should be plain sailing from this point, just go through the update process marvelling at the incomprehensible language used in the dialogues. Don't mess with your phone at all until the update is complete.

Once the update is complete, your phone will sit on the S splash screen for what seems like an age. It'll also be extremely unresponsive after it finally starts up. I assume it's doing some book keeping behind the scenes, since this will pass after a short while.

1 comment:

stan said...

Hey, thanks for posting this. I was pulling my hair out trying to get this stuff to work.

Stan