Saturday, January 14, 2012

Upgrading Android on my Huawei IDEOS 8150 .. was easy!

I recently (in the last 3 months) bought a new cheapo Android phone Huawei IDEOS 8150. The excuse for this was that my daughter was turning 10, so consequently HAD to have a phone. I figured this was the push I needed to get on the Android train, and maybe simplify things like listening to mp3s on the way to work, having a synced calendar in my pocket, etc etc.

Before getting the phone I did some googling and it appeared that it was possible to make this cheap phone work even better by upgrading from Android 2.2 to some other custom Android based on 2.3. Why? These things were mentioned, and all were compelling:

  • multitouch support (really?);
  • better battery life/power management, aka..
  • ..overclocking/underclocking (hmm...);
  • support running newer apps;
  • something about running apps of the SD card rather than internal storage;
  • generally improved UI performance (aka "snappier")
  • a nice suite of standard software with gesture support (CyanogenMod looks great as a complete environment with documentation..).

So I thought I'd attempt the upgrade before I started using the phone. I figure if I start using it, and get some data on it, I'll be too scared to upgrade later.

Which ROM?
This is actually a really tricky question, because ROMs only tend to be available on dodgy-looking forums as links to even less comforting download sites, and half the time they're down. Also they tend to have cumulative, confusing release notes.

I settled on DroniX (v0.4) eventually, because it didn't seem to have any problems. (Yes - the site is in italian..)

The problems with the others:

  • IDEOS Dev Team's Gingerman - wifi was broken on the one I tried, and getting hold of later builds seemed impossible (lots of broken links, generally disorganised archives of releases)
  • FusionIdeos - Google chat didn't work for me, and there was a permanent notification telling me the network was down (grr!)

Some ROMs appeared to download and install fine, but after the final reboot did not appear to have changed anything about the phone. Possibly they were meant to be used as a skin over another ROM (file sizes for these ROMs vary wildly), or the upgrade process did not complete. So that ruled out other ROMs, e.g. one of the many CyanogenMod ports (possibly from IDEOS Dev Team).

Another thing I didn't like about some ROMs was a generally cruddy UI, with over-the-top boot animations and cluttered home screen/launcher.

Also related to this issue is how to obtain the ROM image. A popular app ROM Manager is available via the Android Market. This simplifies things, maintaining lists of links to various ROM images so you can select and download them directly to the device. This didn't seem to be an option for me - the ROM I needed (there weren't many listed for IDEOS, possibly only one) appeared to be a broken link. So I would download an image from a website and transfer it to the SD card manually (via USB).

Note however that ROM Manager was integral to the process, as it also allows you to backup your current ROM, which is fundamentally useful.

Performing the Upgrade
The process is as follows:

  1. backup anything on phone
  2. install the phone's driver (on a Windows PC)
  3. root the phone (using SuperOneClick, Windows-PC only) 
  4. install ROM Manager app on the phone
  5. backup current ROM
  6. install new ROM 
  7. test, rinse, repeat if desired.


Some details for the above items:

Installing phone drivers on PC:
  • turn on USB debugging on phone:
    • Settings>Applications>USB Debugging > ON
  • connect phone to PC via USB, new hardware wizard
  • select "search for drivers in specific location"
  • browse to adb something folder on phone, next
  • "setting up Android Composite ADB Interface" .. done.
Rooting phone:
  • download latest SimpleOneClick from xda forum:
  • unzip to desktop
  • (re)connect phone to PC via USB cable
    •  don't mount SD card/turn on USB file sharing
  • run SuperOneClick
  • click "Root" button
    •  progress...
  • "do you want me to install busybox?" yes (what is busybox?)
  • "do you want me to run a test?" yes - test successful
  • look in launcher, I now have SuperUser app, success
Installing ROM Manager is straightforward as it is available on the Android Market (unless you've installed a ROM that has broken your network access, or doesn't have the Market app installed).



Backup current ROM image:

  • first, need to install recovery ROM
  • select "Flash ClockworkMod Recovery"
  • failed.. reboot phone first perhaps?
    • disconnect phone from PC
    • reboot phone (off & on)
  • launch ROM Manager, select "Flash ClockworkMod Recovery"
  • select "Huawei U8150 Ideos"
    • progress bar
    •  SuperUser allow? Yes
    • success!
  • ROM Manager, select Backup Current ROM
    • enter a file name, go
    • auto reboots
    • terminal thing with android picture and it says it is backing up
    • various things happen
    • generating md5 sum takes ages
    • auto reboots
  • where is this image saved?
    • it is in the menu of ROM Manager's Manage and Restore Backups
    • it is on the SD card in a folder under clockworkmod
    • it is ~240 mb


Installing new awesome ROM:

  • downloading via ROM Manager menu doesn't seem to work (bad dropbox link?)
  • download a good ROM (see above!) - I downloaded from this forum:
  • mount SD card, copy file, unmount
  • launch ROM Manager, select "Install ROM From SD Card"
    • browse to zip file, select
    • ROM preinstall ok defaults
    •  backup existing NO (default + I just backed up)
    • wipe data and cache NO (default)
    •  wipe dalvik cache YES (default)
      • (dalvik cache is the java virtual machine cache)
    • OK to reboot and install
    • quick console stuff
    • boots into new phone .. is it better?
It's really that simple.

So is it better?

The Truth About Multitouch
As it turns out, you can't magically make this device have multitouch by installing a new ROM. The screen can see both your fingers, but it may confuse the x and y coordinates of them. You can install multitouch test apps which make this clear.

However, even with this limitation, pinch-to-zoom works well in (for example) Google Maps, which is reasonably nice.

What Else is Improved?
Not much really. There is an over/underclocking app preinstalled, so I can tweak the CPU speed, but I don't really use this - I leave the minimum CPU speed at 61 MHz, and max at 652 Mhz, which is probably a little different than the defaults. Perhaps the phone is running a little better and smoother, I can't be sure.

Battery life seems reasonable, probably improved - 2-3 days or more, but I don't do much with the phone.

If Music Playback Stutters This Might Fix It
The only time I used the CPU app was to fix a problem with FusionIDEOS. When the phone was idle (screen blank) and playing music, music playback would stutter. Somehow it occurred to me to raise the lower CPU limit, which was at something like 30 MHz, and this remedied the problem.

Conclusion
I appear to have mainly done this for "the fun" of it, so if you're not that keen, feel free to stick with the standard ROM, it's probably fine. Also note that I gave up attempting to run Android 2.3, I think because I couldn't find any 2.3 ROMs that worked, so I'm ended up running 2.2.1 (an upgrade of 0.0.1).

Thanks to these websites which I found useful, you may too:

I had hoped that this post would be a reassuring and clear step-by-step guide to this process on this device, but time has passed. However if you have any questions feel free to comment below and I may be able to track down details.