Recently I continued to feed my phone habit by buying a used Samsung Galaxy S Vibrant (i9000m). This phone was originally intended for use on the Bell Mobility network but can be unlocked to work on other GSM based carriers. In my case I’m using the phone on Fido. If you are patient, you’ll find good condition used phones below the $200 price point locally.
Of course I have no interest in running the stock firmware and will be installing CyanogenMod on it as soon as possible. The very first step is to learn a little about how the process of updating the firmware works so I don’t break anything. This post will focus on entering recovery and download mode, two different update states but both important.
The image at the top of this post is the stock recovery image. The phone I got had a 2.2 version of Android installed on it. There are various ways to get into this mode, some depend on the version of the firmware you have installed (which bootloader specifically).
- From powered off state. Home + vol up + vol down + power.
- From powered off state. Home + vol up + power.
- From booted and running. Using adb issue “reboot recovery”.
For the button version (#1, #2) release all buttons once you see the i9000 boot screen. For my phone, it was #2, I have seen a phone that used #1, and the adb method should work with both.
The stock recovery doesn’t offer many features. You can format the internal SD card, wipe the phone, and install an update that is on the internal SD card partition. If you look carefully you’ll see the version 3e at the top, this version does a signature check on the update.zip file and will not let you install unsigned binaries (the 2e version didn’t do a signature check).
The second mode you need to be able to get into is download mode. Download mode is used by Kies and Heimdall for doing installations. It is a more primitive mode than recovery which is running a software updatable portion of the firmware which is of course something you could relatively easily get wrong. If you’ve read a bit you’ll have come across references to a download jig that can be built (or bought) that can get you into download mode, some bootloaders apparently don’t have download mode buttons and if you break things badly you can’t get into adb.
To enter download mode.
- From powered off state, Home + vol down + power.
- From booted and running. Using adb issue “reboot download”.
You should get the an image simlar to the one above. The “Do not turn off Target!!!” message is only valid when you’re actually installing some firmware changes, if you accidentally enter download mode don’t panic.
The other thing many people have problems with is getting reliable USB connectivity to the device. I’m running Linux as my desktop which seems to have no problems in general. Windows seems to have all sorts of problems, some of which appear to be triggered by the Kies drivers. As a general rule of thumb I do suggest you try to verify that you can reliable communicate with the device before shoving some new firmware down the wire.
One other observation about this type of activity: many people out there that are posting in the forums have little to no idea how this stuff actually works. I won’t claim to be an expert in all things here, but I like to think I have a firm grasp on the basics. If you’re really lost, stop – maybe this isn’t something you should be doing. Read a lot, filter out the bad information and take steps you understand. Ideally you want to have a consistent and logical mental model of what is happening. There was apparently also some bad firmware revisions early on from Samsung that caused a lot of internet chatter which needs to be ignored at this point.
Now that we’re somewhat comfortable with the two modes, have some confidence that we can reliable talk to the device and have a couple of the tools installed – we can start thinking about what firmware and changes we’ll be doing to the device.