Tuesday, November 8, 2011

How I got the 'Xperia Arc 0% Battery error'

First of all, this page does not contain any information on how to fix the issue of 0% battery of your Sony Ericsson Xperia Arc mobile phone. It is just for anyone who might want to root his/her Android cellular phone should pay extra attention. Being a Linux administrator like me might just too careless and look down the risk, i.e. re-install everything from scratch by flashing the handset to Android version 2.3.2, thought it is as simple as re-install a Linux OS on a laptop, oops!


Root Cause
As I have a type A personality, I like to start everything from a clean state, if possible. Since I did a few days of test run with Android version 2.3.4 (through OTA upgrade). I was very comfortable with it and started to flash my phone back to version 2.3.2 using flashtool, directly and... deadly. Do not try to downgrade your Android phone. It really kills your mobile phone! If you are interested to find out what it is all about, check this thread. Unfortunately, it is said that the only solution is to have a motherboard replacement at Sony Ericsson.

Technical reason to downgrade to version 2.3.2 is to gain root privilege by running Gingerbreak. I did that 2 times when version 2.3.3 was available couple months ago and did not encounter any issue. Of course, this is before the release of zergRush. With the release of zergRush, you can gain root privilege when your Android handset is version 2.3.4.


Other Findings
While I was desperate and flashed my Arc with different images, I did try the LT18i (i.e. Sony Ericsson Arc S) image and successfully installed on Arc. Since one of my friend argues Arc S and Arc both use an exactly same CPU and the 1.4GHz is just a software overclocking, it is proved the information is not correct, at least, in term of CPU benchmark. The figure from SetCPU did show the LT18i on my Arc has a 1024Hz CPU.

Again, if you were one of those 0% group user, please bring your phone to SE, don't waste time and hope that flashing other image would fix the 0% battery error.

It takes two days to have my motherboard replaced and I notice few issues are fixed:
- WiFi: My previous Arc keeps dropping Wifi connection at home randomly, other devices (3 laptops, PSP, Iconia Tab A100) are all fine somehow...
- File transfer connection via USB freezes my laptop: 50 percent chance of my laptop will hang when my Arc is connected to it.
- Volume: the replaced motherboard somehow boosts the sound volume (not because of xLOUD enhancement).


zergRush
Here is the job log of zergRush:
vpcp115kg download # adb push zergRush /data/local/
536 KB/s (23052 bytes in 0.041s)
vpcp115kg download # adb shell
$ cd /data/local
$ ls
zergRush
tmp
$ chmod 755 zergRush
$ ls -l
-rwxr-xr-x shell    shell       23052 2011-10-21 19:50 zergRush
drwxrwx--x shell    shell             1980-01-06 08:00 tmp
$ ./zergRush

[**] Zerg rush - Android 2.2/2.3 local root
[**] (C) 2011 Revolutionary. All rights reserved.

[**] Parts of code from Gingerbreak, (C) 2010-2011 The Android Exploid Crew.

[+] Found a GingerBread ! 0x00015118
[*] Scooting ...
[*] Sending 149 zerglings ...
[+] Zerglings found a way to enter ! 0x10
[+] Overseer found a path ! 0x000151e0
[*] Sending 149 zerglings ...
[+] Zerglings caused crash (good news): 0x2abcccc4 0x0054
[*] Researching Metabolic Boost ...
[+] Speedlings on the go ! 0x6fd256bd 0x6fd39847
[*] Popping 24 more zerglings
[*] Sending 173 zerglings ...

[+] Rush did it ! It's a GG, man !
[+] Killing ADB and restarting as root... enjoy!
vpcp115kg download # adb shell
# id
uid=0(root) gid=0(root)
# exit
vpcp115kg download #
vpcp115kg download # adb remount
remount succeeded
vpcp115kg download # adb push su /system/bin
613 KB/s (26324 bytes in 0.041s)
vpcp115kg download # adb push su /system/xbin
567 KB/s (26324 bytes in 0.045s)
vpcp115kg download # adb shell
# ls -l /system/bin/su
-rw-rw-rw- root     root        26324 2008-02-29 02:33 su
# chmod 4755 /system/bin/su
# ls -l /system/xbin/su
-rw-rw-rw- root     root        26324 2008-02-29 02:33 su
# chmod 4755 /system/xbin/su
#
 


Summary
Lesson Learned
Do not downgrade Android OS, it might apply to other brands too. Or read XDA and confirm the downgrade will not damage your phone.
Lesson Not Learned
I gained the root privilege two hours later after I had picked up my repaired phone from SE :>