Jailbreak! Upgrading a non-upgradable Android

Is your old Android phone a dead end? Crack it open and breathe new life into it with a replacement ROM

Android practically demands to be hacked and modded. A whole subculture of Android hackers has emerged, hell-bent on making the 'Droid something its manufacturers never intended it to be. What's more, some Android phone makers now regard hacker-friendliness as a selling point; HTC even saw fit to announce recently that it will allow customization of bootloaders on future phones.

Predictably, one of the most popular Android hacker activities is altering older phones to run newer Android versions. And that's exactly what I intended to do.

[ Also on InfoWorld: Ready for an upgrade? Check out these 10 upcoming Android devices we can't wait for. | Keep up on mobile developments with InfoWorld's Mobilize newsletter and Mobile Edge blog. ]

You see, I had in my possession one of the first Android devices, a Motorola Cliq XT that ran Android 1.4. It turned out to be one of many phones that later became infamous for not receiving any further Android updates; Motorola decided it couldn't get Android 2.x running well enough on the Cliq, so it simply abandoned any future upgrades. A whole galaxy of 'Droid software -- even such obvious staples as Amazon's Kindle application -- was out of my reach unless I bought a new phone.

When I started jailbreaking my Cliq XT, typing the needed commands on the phone's keyboard was the biggest bottleneck.

So I decided to jailbreak my Cliq phone -- hack and take control of a device that's normally locked down (a process also known as "rooting"). It turned out to be quite an odyssey, with twists and turns I describe here in order to help those who wish to embark on a similar journey. In the end, I chose the CyanogenMod variety of "aftermarket firmware," which comes in a version for the Cliq and just about every Android device out there.

Was it worth the trouble? Yes, in the sense that learning how to jailbreak your own phone is a valuable skill, and I got much more functionality out of the Cliq, when I was expecting to simply junk it. The adventure wasn't without its tribulations, though, and a jailbroken phone has its functional limits. Here's how events unfolded.

Jailbreak, Android style The first step for me was to jailbreak my Cliq XT. The process typically involves exploiting a security hole or some other design defect to allow the user to gain privileges not normally granted. Once this is done, the user can then replace the stock version of Android with one of any number of other custom versions -- usually newer editions of 'Droid, but also customized editions of the OS that include changes provided by the hackers themselves.

Since jailbreaking involves exploiting security holes, there's constant tension between those who create jailbreaking strategies and the phone or phone OS manufacturers. Not long after a hole is discovered, it's usually patched by the phone maker. Consequently, the exact steps to take when jailbreaking a phone vary widely from model to model, so you need to dig up instructions specific to that make.

It wasn't hard to find details about how to jailbreak the Cliq XT. The process involves installing some drivers and software on the PC side, then running software on the phone itself. If you follow the instructions to the letter, the process is just about guaranteed to work. The biggest holdup was typing the necessary commands on the Cliq's on-screen keyboard.

The jailbreaking process in action -- much of the work happens behind the scenes, courtesy of commands issued from a connected host PC.

One extremely important detail to keep in mind when jailbreaking a phone: You must remove any antivirus or system-protection software. Any jailbreaking attempts may be discovered by said software and disabled, which renders the whole operation moot. I had AVG's free antivirus package running on my 'Droid phone, and the first time I tried the jailbreaking process, it shot me down. After removing AVG and restarting the jailbreaking process from the top, it worked fine. (I was also pleased to know the phone wasn't bricked because the first jailbreaking attempt was halted -- the last problem I needed was to have the phone killed before I could do anything.)

Once you've broken open the phone, outward appearances should not be all that different -- except for the presence of a Superuser program (with a skull-and-crossbones icon) in the App Drawer. This program isn't used directly, but it's invoked by other programs that need permission to make modifications to the system not normally possible.

Another addition -- that, again, isn't immediately visible -- is a new bootloader. This lets you perform all sorts of low-level functions with the phone: wipe the user data, back up the currently installed version of Android, or install a modified version of Android. To be safe, I made a full backup of the phone's state and saved the data to my PC. This proved handy later when I wanted to roll back to the stock Android installation and make comparisons, or just revert the phone to baseline functionality.

Adding new firmware The next step was to pick a modified ROM. There are more than a few places to track down modified phone ROMs, and in each such community, I was able to find a whole selection of ROMs with different alterations. At TheUnlockr.com, for instance, there's a Cliq XT ROM that uses Android 2.1 and Motorola's "Blur" interface (aka "Motoblur"). Since my Cliq came with Motorola's Motoblur version of Android, I thought I'd start there and see how it behaved.

The jailbroken Cliq XT: Note the Superuser icon in the application drawer, which is not invoked directly but used by other applications that install new bootloaders or perform other previously forbidden activities.

Once I downloaded the ROM, I backed up the phone and installed it. The backup and installation are, as I noted above, done through the bootloader, so the process is semi-automatic. All you need to do is copy the ROM file (a Zip archive) into the root directory of the phone's SD card, fire up the bootloader, and select the appropriate menu option.

Getting into the bootloader on the Cliq isn't hard. You turn the phone off, then hold the power and camera buttons down at the same time. Up comes a text menu from which you can choose various options: flash the system with a downloaded ROM; back up or restore the system to a file; connect the memory card to a host via the USB port (handy if you want to dump a ROM file in without having to formally boot the phone); and perform a number of other low-level functions.

The entire process of upgrading the phone through the bootloader, including making a backup, didn't take more than 10 minutes. I rebooted and found myself looking at a version of Android that resembled the version I had on my other, brand-new Android phone. Mission accomplished.

Kicking the tires The next part, and in some ways the hardest, was finding out just how good the modded phone was for everyday use. Outwardly, everything seemed solid: I could make and receive calls, install applications, and get on Wi-Fi networks -- in short, do nearly everything I expected without trouble. Most of the differences between the old and new versions of Motoblur were not significant enough to throw me off.

A modified bootloader is used to install a new version of Android on the Cliq XT. Several other under-the-hood functions can also be accessed from here.

Then I started to run into snags -- little ones, but problematic all the same. When trying to supply a password in certain contexts -- mainly, in a Web browser -- the cursor would jump to the beginning of the input field when I tried to type a number. This made it all but impossible to type directly into those fields. I had to type the password in another place, then copy and paste it in. Obviously this wasn't going to work if I was being constantly confronted with password fields.

Sure enough, after being confronted with this problem for the third time in a row (it's amazing how many times you need to supply passwords to set up an Android phone), I decided to give another ROM a whirl. Besides, Motoblur itself had limitations that I had never been all that happy with, and after dealing with it for a while I could see why people had called it "Motobloat." I didn't have the option of not using it -- until now.

Switching to the Cyanogen ROM After some more casting around, I decided to go with a custom version of Android I'd heard a great deal about: CyanogenMod. In fact, I felt a little foolish that I hadn't started with CyanogenMod to begin with, given how professional and polished it is. I'd been trying too hard to stick with something familiar (some only slightly modified versions of the stock Cliq XT ROM).

Best of all, Cyanogen comes in many versions to support many phones, from the Motorola Droid to the Google Nexus One to the HTC Incredible -- 28 at last count -- so there's probably one for you.

The differences between Cyanogen and the more "stock" versions of Android (Motoblur and so on) are apparent pretty quickly. For one, Cyanogen doesn't ship with Android Marketplace or the various Google tools, such as Voice Search and Maps; those are packaged separately to avoid copyright issues. But getting around that hurdle wasn't difficult at all; I just had to download the appropriate package, dump it onto the phone's memory card, and use the bootloader to apply it as if it were a ROM.

CyanogenMod gave the Cliq a distinctly different look and feel. Most applications ran well, although the Kindle app was painfully slow.

Another major difference is the way Cyanogen has a great deal more flexibility of function -- and that many more low-level features exposed directly to the user. An entire subset of the Settings panel is devoted to Cyanogen's own behaviors. Audio, for instance: You can tweak an incredible number of behaviors devoted to sound, such as how notifications override other sounds in the system. The same goes for battery and CPU management, interface behaviors, and on and on. The vast majority of the defaults are sane, though, so you don't need to do a lot of poking around just to make the system useful (thank goodness). Cyanogen is also updated constantly, so chances are my phone won't be left out in the cold yet again.

Using the phone on a day-to-day basis with Cyanogen was pretty satisfying, although there were a few shortcomings that I think were more about the limitations of the phone's hardware than anything else. Some software -- the Kindle application for Android, for instance -- ran really slowly on the Cliq no matter what hardware speed tweaks I applied. Video applications like YouTube or Crunchyroll worked fine, though. And the most common crucial stuff, like the dialer or the Web browser, ran A-OK. On the whole, there was nothing stopping me from using the phone as I normally would.

Even better, I was able to tweak CPU usage to the point where the phone routinely used less than 10 percent of its battery power over the course of a normal day, and without significantly impacting performance. With the stock ROM, the Cliq XT had barely been able to last the day without a recharge.

Under-the-hood performance options for Cyanogen, none of which are available in the stock version of Android for the Cliq.

Was it worth the effort? The whole reason I embarked on this exercise was to see how much more life I could pump into a phone that wasn't going to be given any more leases on life by its manufacturer. No Android updates for the Cliq XT were going to be provided by Motorola, so it was either hack the Cliq or get a new phone. While I did get a new phone anyway as a safety measure, hacking the Cliq was more than worth the trouble. I now have a phone capable of running newer versions of Android, even if some of the applications don't run as well as they should.

The real test will be how well my hacked Cliq lasts through the rest of this year, through changes I haven't been able to foresee and with software that I haven't installed (or hasn't been released yet). For instance, if app developers begin restricting certain programs to run only on nonjailbroken phones, that'll limit the ultimate usefulness of those devices. So far this hasn't started happening across the board, but people are worried it might become standard procedure for apps that involve protected content (Netflix or Kindle, for example).

Many phone makers are also not crazy about the idea of allowing their phones to be extended by unauthorized third parties for reasons that have nothing to do with protected content. If you continue to use the same phone, that's one fewer opportunity for your carrier to sell you another phone -- and another two-year contract to go with it. That said, I suspect the carriers and handset makers alike will learn to live with it, since the total number of people who mod their phones, Android or otherwise, are unlikely to pose a major threat to the economics of phone sales or upgrade cycles.

Here's hoping my jailbroken and modded Cliq XT -- and all those other phones that haven't received an extended lease on life -- will live long and prosper.

This article, "Jailbreak! Upgrading a non-upgradable Android," was originally published at InfoWorld.com. Follow the latest developments in mobile technology at InfoWorld.com. For the latest business technology news, follow InfoWorld.com on Twitter.

Read more about mobile technology in InfoWorld's Mobile Technology Channel.

This story, "Jailbreak! Upgrading a non-upgradable Android" was originally published by InfoWorld.

Join the Network World communities on Facebook and LinkedIn to comment on topics that are top of mind.

Copyright © 2011 IDG Communications, Inc.

SD-WAN buyers guide: Key questions to ask vendors (and yourself)