Monday, September 05, 2011

Android Adventures - How I brick'd my phone

There is one more advantage to Running. It helped me skip a Puja shopping session - citing pain because of my run the previous day - and had a nice 6 hour window for myself.

I have been using Samsung Galaxy S for the last 1 year. It is a fantastic phone and has helped me in my running, exploring unknown places, keeping an eye on the server without booting up a laptop every time.

The PoS called Kies allowed me to upgrade to Froyo ( 2.2 ) from Eclairs ( 2.1 ). However it does not upgrade to Gingerbread (2.3) for whatever reason. While the rest of the Android world is enjoying Gingerbread I am stuck on Froyo. It was a long time dream to understand what this Android ecosystem is all about - and finally I found the time to sit and read about it and perhaps install Gingerbread.

Here are the steps to brick a phone.

1. Root the phone. This is the easy part. It does not brick it - totally harmless.

2. Get ADB. There is a defect in my phone. The hardware way of reaching recovery screen ( Volume Up + Home button + Power button ) does not work. A few SGS phones have this problem. The workaround is to install Android SDK. This gives you Android Debug Bridge ( ADB ) which can reboot your phone into recovery or download mode by running a command from the console ( adb reboot recovery or adb reboot download )

3. ClockworkMod. What an Idea Sirji! - Free download from App Market. It can install any ROM / firmware. You do not need ODIN ( coming up in a minute ) - just install this app, copy the ROM to your SD Card, reboot and install it. Also helps you to do a backup of your existing ROM - so you can revert back to a working copy.

4. Stock 3e. This is the recovery console that Froyo has put - and it is incompatible with ClockworkMod. When you install it will say Unable to verify signature. Lots of googling ( how did people ever live before Google? ) and I had to downgrade it to 2e.

5. ODIN. In order to downgrade to Stock 2e I had to flash a different Kernel. This video has good instructions : Using ODIN is not that hard - and I feel this is the best way to flash ROMs or Kernels.

6. Confidence increases. Still my phone was working after every reboot. For a geek where things keep working one after the other - the confidence builds up. I typically watch for these signs as law of average will kick in soon and something bad will happen.

7. Installing Gingerbread. I was as excited as a child. I downloaded Gingerbread, copied it to sdcard, rebooted into recovery mode ( 2e now ), and started the installation process...and was enjoying reading the messages scrolling.

Removing the crap you installed before....
Unmounting mount points...
Your phone is now High, ReBo0t .

8. The Brick. The phone didnt ReBo0t after the installation and it went to the 3e console. I should have panicked here but I was ignorant. I happily rebooted the phone and thankfully the SGS splash screen came. But then the screen started going crazy. The phone started making androidish noises. Waited for a while with my BP rising. Powered the phone again and the screen was stuck at the SGS splash screen. 

9. The hardware defect surfaces. The 3 button trick to reboot to recovery console does not work. The phone has to first get picked up by the Laptop so I can run adb reboot recovery. Adb kept saying device not found. After lots of trial and error ( plug the usb cable and power up the phone, plug cable before splash screen comes up, plug cable after splash screen ) some combination worked and was able to reboot the phone. But the recovery mode never came and the phone kept hanging. Here I switched on the fan as I was sweating. 

10. ODIN saves the day. I had left ODIN ON and while I was trying to get adb to recognize the phone - so I can run reboot command - while switching windows I happened to notice that the phone was showing in one of the COM ports of ODIN. This gave me some hope. I downloaded the same Froyo version I had at the beginning of this adventure - it is a 190MB download - while reading more of the How Tos to unbrick a phone. Did a adb reboot download mode - the Android icon with the spade icon showed up, loaded it on ODIN, installed it, phone rebooted and the regular Samsung Galaxy S 1900 showed up and the second animated Samsung Galaxy S icon came up. No I didnt thank God but I thanked the entire Android community for bringing back the phone.

I was too exhausted at the end of this. Now I have the phone in the exact state I started it - ( lost the apps etc. - which is not a big deal anyway ). Since I have everything tied to Google - got all the contacts back. 

You might wonder - why did I download a Froyo ROM and not the Gingerbread ROM - since anyway I was going to flash. Remember the thing I said above about law of averages? I wasn't prepared to take any more chances. I just wanted my phone in a working condition - I was even prepared to go back to the slow Eclairs with the infamous Lag. 

Quite an adventure!