Showing posts with label Cyanogen. Show all posts
Showing posts with label Cyanogen. Show all posts

Monday, December 14, 2009

Google turn-by-turn GPS Navigation working again


[Update 2009-12-20: if you want simple instructions and links to the hacked maps files that allow Google GPS Navigation outside the US to work now, then go here. I did and on my rooted phone I had it going in 5 minutes....though, with my rooted phone, I had to deal with three errors / ambiguities in the instructions (documented below).

The instructions linked to have a few errors / abiguities - at least with respect to my rooted HTC Magic running Wes Garner's Build 10:

1. The command "adb shell find /system /data -name \*google\*maps.apk\* -o -name Maps.apk -delete" didn't work for me until I changed "\*google\*maps.apk\*" to be "\*google\*Maps.apk\*". Note the change in the capitalisation of the word "maps".

2. The name of the hacked v3.3.1 Maps file you download from the link may not be exactly the same as in the instructions. It wasn't for me. When you execute the "adb -r install" command Just use the name of the file you actually download (or rename it to match the instructions - whatever).

3. The other thing they they don't explicitly tell you - and you may not know - is that you need to put the downloaded hacked maps v3.3.1 file in the android SDK's \tools folder. This is the same folder the "adb" command lives in. If you're going to push the file (any file!) to the phone as in the instructions, you need to have it in the same folder as the adb command.

That all took me about 2 mins to work out in all....but understand these issues will not be obvious to everyone, especially people new to this sort of thing who are still building confidence. ]

Original post follows:  

I almost hesitate to say it in case Google hears and turns it off again, but Google Navigation outside the United States appears to working.

This is just one of the good things I discovered after I installed Wes Garner's latest ROM (Build9r1) on my sandpit HTC Magic and gave the GPS Nav a try. It worked!

Other than that, Wes appears to have also produced a very fine ROM. It supports the HTC G1 / Dream set of phones as well as the HTC Magic / MyTouchg3G phones.  The g1 users also get Aps2sd, a real necessity as the amount of app space on the G1 is the most limited of all the androind-based phones. Magic users have almost 3 times as much app space, so Aps2sd isn't really required. I've never come close to the limit on my phone, but I have used double the 96MB available on the G1.

I haven't tested everything on Wes Garner's ROM yet, but so far, so good. He's based it on Cyanogen's very solid v4.2.8, so unless he really screwed up it would almost be hard to go wrong with a solid base like that.


One of the best things about Wes Garner's new ROM is he gives you the choice of 4 different kernels you can try. Two are essentially flavours of the BFS (Brain Fuck Scheduler) kernel - with and without the 10MB RAM Hack (stealing some graphics RAM for system use). The other two are version of the CFS (Completely Fair Scheduler) kernel with and without the 10MB RAM hack.

This ROM is based on Android v1.6 with chunks of Android 2.0 thrown in, like the new Contacts. It seems to have all the best stuff! Wifi-tethering, voice-dialing, new Facebook and Facebook syncing, YouTube video downloading, enhanced Home screen, dialer and default web browser with multi-touch. The only really cool thing missing is the Flash plugin that's included in the Android 2.0 web browser.

There isn't much that is original here, but Wes has put together a compelling package combining speed and function at what must be very close to the sweet spot.

I'm seeding this ROM on Bittorrent.

Friday, December 4, 2009

Stability problems with Cyanogen Mod 4.2.7.1 and a possible solution.


I've been a huge fan of Cyanogen Mod ("CM") android since I first loaded it on one of my HTC Magic "32B" phones ....oh......2 weeks ago. Time flies when you're having fun. :-)

CM is faster than the stock android and for users of rooted phones it offers a full normal function set, all devices working, plus additional function not included in the stock releases - like tehtering via USB, bluetooth and WiFi.

Even better, you can update it over the air using Cyanogen's "CM Updater" app (right). I have been eagerly applying these updates within minutes of them becoming available. It's easy, simple and fast.

Of course nothing is ever perfect and today I ran into a patch of imperfection. I'd put the CM 4.2.7.1 update on last night and found that during the course of the day my phone was crashing and rebooting. Usually when I had been using the camera and then trying to share a photo via Handcent SMS or Gmail. The screen went black....then the CM Android boot logo (above) appeared and the phone had obviously rebooted itself.

I was going to go back to CM 4.2.6 as this had been very stable. But instead I opted to try wiping my phone and re-installing the HTC 1.6 rooted base image, then applying CM 4.2.7.1 over the top. This is what you would do if you were installing CM for the first time. I then downloaded all my apps and reinstalled them. Yeah...it was a pain, but the result seems to be a stable system. I can't reproduce the camera / phone crash.

If you're having trouble with CM 4.2.7.1 you may want to give thisa try.

[Update 2009-12-22: I am now on CM 4.2.9.1 and I don't have as many issues as I used to - which wasn't many - but the phone still re-boots randomly perhaps once every two days. It's below the annoyance level and not much worse than Android as-sold, which also rebooted occassionally. It may be that this isn't a CM issue at all, but an underlying Android issue. My second phone is on Wes Garner's "Build 10.2" and it has randomly re-booted once in 2 days. I mainly use it for broadband data, due to the way my telco packages data and voice.

Thursday, November 26, 2009

An evening of Android ROM Mods. My favourites so far.

Last night I downloaded every Android 1.6-based ROM image compatible with my HTC Magic 32B phone and gave them all a spin on my second phone. I was having a HUGE time!

AndroidSpin.com maintain an excellent, detailed and very current table of all the android mods currently circulating. They are listed in date order, with the most recent on the left. There is also a more concise summary list with the most recent mod releases at the top.


In 5 hours I loaded, configured, played with and backed up five different ROMs. All but one ran faster than the preloaded Android build that came on my Vodafone NZ phone. This is mainly because they have been tweaked to run the processor at the full 528MHz and also hacked to make more memory available for the system and running apps. In some cases the system scheduler has been tweaked. Beyond that, they also generally offer very cool features like WiFi, bluetooth and USB  tethering allowing you to connect almost anything to the Internet through your phone's 3G connection. They also generally come with Voice dialing, which is really cool as that is a feature I was very much looking for. Some of the ROMs also support access to Microsoft Exchange, a biggie for people who work in places that use Exchange / Outlook. I've also noticed some of the new Contacts features an functions have been ported down from Eclair (Android 2.0). For example, you can create a "Contacts Folder" on a Home screen...and when you open it, you scroll through the list of people in that sync group - including any photos / images associated with them on Gmail. Lots of stuff, all good and mostly not in the standard builds on phones you can buy now.

I started the night with Cyanogen Mod 4.2.5 installed. I backed that up and then loaded the "The Official AOSP-1.6_r1.4 DRD20 (Donut) v2.2.1" ROMs. This person or team take the basic ROM of each major vendor, root it, then make an image. Then they create an  "ExpansionPack" that adds in all the good stuff to the basic version. It loaded easily and booted to the Android welcome screen where you set up your gmail account.

Next, I tried the Soulife ADP Remix ROM. This also loaded easy, booted properly to the Android welcome screen and then ran fast and stable after being configured for gmail. I liked this ROM. I had a play, backed it up and moved on.


The next on the list was the JesterBlur v1.2.5 ROM. This is based on Android v1.5 (Cupcake) and includes the Motorola "MotoBlur" user interface. It's large at 78MB. It did install OK, though I had not followed all the steps suggested. It booted, though it took about 5 minutes or more - it felt like closer to 10. When it came up, there was MotoBlur in all its glory and it worked, though it was quite slow. The screenshots are all from my phone. I've included them as MotoBlur is strikingly different to all the other ROMs. Most of them load up and look more or less exactly like the same Android you get on your phone when you buy it.


JesterBlur could access the internet via 3G data, but WiFi didn't start. The docs warned I needed "the latest radio" - unhelpfully vague and imprecise. The Bluetooth didn't work, either, a known problem. It certainly was pretty, but the MotoBlur UI seemed to me to be all about form rather than function. Things I'd do in a motion or two usually, could take several more on MotoBlur. You don't slide the apps tray out. It's been added to the Menu key or the "+" button (IIRC). The notifications bar can't be slid down. It does very nicely allow you to create and define custom formulations of the user interface mad up of components you are offered. To me, that's too much effort and expense in development just for eye candy. But once you managed to find an app and run it, it ran well enough.

I'm a fan of leaner, lighter interfaces. MotoBlur felt, to me, like I had to watch 20 episodes of "Project Runway"...and take it  seriously. I'm sure lots of people love it to bits.

Being based on Android 1.5, the Android Market in JesterBlur 1.2.5 is the old, black and plain Market that prevailed until a month or so ago. How quickly we move on! I didn't bother to back this one up. I just wiped it.....and moved on. Maybe the next version will be faster. I would certainly take a look at a new release if / when one appears.

Last ROM of the evening was Dwang Donut v1.13. Of the ROMs I tried last evening, this was the only one not based in some way on a version of Cyanogen Mod. David Wang has composed his own kernel build from the stock android v1.6. This ROM was recommended to me as a very fast one and it certainly nice and snappy on my phone. It isn't as feature rich as Cyanogen, but if you had this ROM on your phone you'd find lots to like about it. I backed it up.

Of the ROMs I've tried so far, my favourite would be Cyanogen 4.2.5. Next and not very far behind CM, it would be very close race between Soulife and Dwang, with Soulife taking it by a nose. Half a length behind - because these are all good - would the AOSP Donut builds. Bringing the rear in flamboyant leasurely style would be JesterBlur....which isn't really fair as it is Android v1.5....and v1.6 is faster - modded or not.

Wednesday, November 25, 2009

Google Maps 3.2.1 with Cyanogen Mod 4.2.5

[UPDATE 2010-02-06: We're now up to Google Maps 3.4.0 and hacked by brut.all for global GPS nav support and it also includes multi-touch support from the Nexus One OTA of a couple of days ago. Look here for how I got it installed on my HTC Magic running Cyanogen Mod 4.2.14.1]


[UPDATE 2009-12-10: As of Dec 7th / 8th (depending on your time zone), Google disabled access to turn-by-turn GPS navigation at the server end for people not in the US. The software still works, but the back end won't give you the information. It won't work now no matter what you do, unless you're in the US. The instructions below are still valid for dealing with signing problems on this and other versions of Maps. ]


[Update:  You should also check out this more recent post on this subject.]


Google Fodder: I'm posting this here because xda-developers forums was producing a "502 bad gateway" error and Google cache didn't hold a copy....and the only place on the net it appeared to be was on xda.


Originally Posted by mrandroid View Post
Download and copy the new Google Maps 3.2.1 APK to your sdcard.
Can be found at: http://www.myhangoutonline.com/downloads/

open a terminal window:

(For Cyanogen Builds)

type: su
type: mount /system -o remount,rw
type: rm /system/app/Maps.apk
type: cp /sdcard/Maps.apk /system/app

TA RA! lol welcome to Google Maps 3.2.1 w/ Nav.

*** UPDATE *** If for any reason it's not 3.2.1 after installing, you'll be able to just download 3.2.1 from the market now and it'll install perfectly... Either way, The file should be fixed and it should be 3.2.1 now.

Monday, November 23, 2009

I rooted my Android phone and it was easy.

Over the past several months, since I bought my HTC Magic android phone, I've been watching the progress of others as they gained root (administrator / supervisor) access to their phones and loaded alternative versions of Android. Some made a real mess of it and I could almost hear the wailing and gnashing of teeth through the texts of the miserable accounts of cellular OS devastation.

A lot of the information on a wide variety of web sites was written by people who were clearly technically competent but who, at the same time, couldn't clearly explain paint to a brush. Or worse, said it was paint while they described some of the elements of paint, leaving out critical details others soon discovered were missing.

Scary stuff! I wasn't going to risk my reasonably expensive new HTC Magic ("Sapphire") phone without having a clear path from the present config to a new one...and back again. That last part is critical. I wanted to be certain I could restore my phone to the factory-based build in order to ensure I would receive the "official" updates to my particular android phone as they are released by Vodafone here in NZ and around the world.  I did not want to go out on an alternative version branch and be left stranded there.

So I waited. In the meantime, I installed the Android SDK on my 64-bit Ubuntu Linux system as well as my Windows Vista Home Premium system (Ubuntu was easier - for the record) and became familiar with the tools you use to access / alter the phone's system from your PC: "adb", "ddms"  and I installed "fastboot" as well. In addition to the SDK instructions, you may find the alternative view at xda-developers helpful.  I've also documented my own efforts here on my blog.


Finally, with the release of 'Cyanogen Mod v4.2.5, stable', I found the very clear and straightforward instructions provided by its source: Cyanogen (a.k.a. Steve Kondin).

The key, for me to Cyanogen's ROMs (Read Only Memory - essentially a system image copy) is they come pre-rooted. All I need to do is load it on the phone using Cyanogen's very useful 'recovery image' (cm-recovery-1.4.img) and activate it. The new system image from Cyanogen has been rooted for me already. This removes a HUGE technical hurdle for the know-a-fair-bit kind of guy who'd like to give this try.

As to why you would want to root your phone, there are several very practical reasons. You get access to features and functions not available in the standard ROMs from the telcos. For example, with my rooted phone, I can "tether" my iPod Touch to my phone via WiFi and allow the iPod to access the Internet through the phone's 3G connection. Or I can use the "SetCPU" apps to set the clock speed of the processor in my phone: faster for more speed, or slower for better battery life. As it is, without changing the CPU speed myself, Cyanogen Mod, by default, runs much faster than the stock version of Android. There are many other reasons, these were more than enough for me.

Jargon, jargon.

Half the battle is understanding the terminology used. At first I was bewildered by all the strange terms related to the components of the operating system on the phone. But after a while, it became clear there were only really a couple of things I absolutely needed to understand:

Fastboot: This has two meanings in the context of messing with your phone.


You boot your HTC Magic in "Fastboot mode" by holding down the BACK button and then pressing the power button. In this context (rooting your phone) this program lets me load a basic, temporary system on my phone and run it. Once booted, you see a white screen with essential details about your phone's hardware and what firmware is currently loaded onto it.

"Fastboot" is also a program that you can use on your PC, when you phone is connected in Fastboot mode (see image), to 'live boot' a temporary operating system. When you power your phone off and re-boot, you go back to the usual system.

Recovery mode and recovery image: You access the recovery mode of your phone by powering off, then holding down the HOME button and pressing the power button. On a standard HTC Magic/ MyTouch3G phone, you'd probably then see something like a white triangle on a black background with a yellow exclamation mark in it and a small phone image beside. This is what the default recovery image provides. You can't do much with the default. So you need to load one that is more useful and that is is what you typically use fastboot to load. In the case of Cyanogen's (latest as of writing) "cm-recovery-1.4.img", it boots up a text-based menu (click on image for full size) of options that allow you to perform some essential tasks like re-boot; backup the existing system ROM (critical! - but easy) to your sdcard using a program called "Nandroid"; or use Nandroid to restore from a previous backup. Or you can wipe the system area and then, separately, load an entirely new ROM from the root directory of your sdcard.
    Once you've loaded the new ROM and booted from it successfully, you can us "su" at a command prompt to get root powers...and then flash the recovery image so that it is permanent, not temporary: "flash_image recovery /sdcard/cm-recovery-1.4.img"......and you're done.

    At this point, the only thing to remember is that if you do restore the original, factory image, you will also restore the default recovery and you won't have root access anymore.

    How Nandroid works is pretty straightforward. Each new backup goes into the "Nandroid" directory on the sdcard. The device ID of the phone is the next level, then comes the version of the individual backup. It will make a new subdirectory below the device ID for each new backup.

    For restoring, it will only restore the last backup made. If you don't want that one, you have to ensure the one you do want is the most recent one that Nandroid can see. That means moving the others out of the way to some other location.

    Make sure you make copies elsewhere of  any images you want to keep.....and don't mess with the naming of the folders. Nandroid needs those names just as they are. But I need to know what each one is, so I have a tree of folders with "AndroidBackups" at the top, then something like "01-backup-20091121-2340-first-CM-install" and then the next level will be "Nandroid"...and so on, as on the sdcard. This way, I can just drag / drop from the "Nandroid" level to the sdcard, knowing I have exactly the backup I want and no other.

    The most important thing to me is not losing the backup of the original factory load. That is my key to returning to he vendor world of Android if I choose to. I've tested it and it works fine. Just remember that when you restore the original ROM, you're also restoring the original (not very useful) recovery, too. To get the Cyanogen recovery back, you'll have to fastboot it for temporary use, or install a new ROM and then make it permanent (or at least for the life of the task you have in mind, until you again restore the original.

    This isn't a step-by-step guide, but I hope it does make clear some of things that baffled me and helps provide you with the confidence you need, through knowing you can mod your phone and you can put it back the way it was to begin with.

    Thanks to Cyanogen / Steve Kondin for providing the simple, step-by-step instructions that finally gave me the certainty I required to have a go. they got me quickly to the point where it was easy if you know how by helping know how.

    Friday, November 20, 2009

    Apple or Android? You don't have to choose. You can have both.

    You don't have to choose between Apple and Android. Android's open-ness makes it possible for you to have both at the same time. A relatively cheap iPod Touch 8GB, combined with an Android phone on a data plan acting as your WiFi access point, is a cheap way to have simultaneous access to the best both Apple and Android have to offer wherever you go.

    I got my Apple iPod Touch (2nd gen) last December and very quickly saw iPod Touch / iPhone  would change the face of not just mobile telephony but also personal computing. I got right into it - installing loads of apps (free and paid), buying a few songs, and generally replacing most of the functions I used to use my laptop for.

    But, as I have already blogged, iTunes annoyed me. I can't even delete a song or video without without using iTunes. In the end, Apple's restrictions were enough to make me think twice, three (and the rest) times about "upgrading" to an iPhone.  That isn't to say Apple doesn't offer a lot that is good and useful and fun.


    At the same time, I had been watching the progress of Google's Android OS for mobile phones. It looked to me like Android's more open platform had the potential to give me most, if not all, the advantages of the Apple-verse while avoiding the annoyances implicit in using iTunes. Maybe I would even have the ability to actually use my iPod Touch together with an Android phone. Something Apple would never allow in reverse.

    If such a thing were possible, then I would not have to choose at all. I could use both side-by-side.


    With this in mind, I bought my android-based HTC Magic from Vodafone NZ back in July....and today I finally made it.

    Yesterday, I rooted my 'spare' HTC Magic phone (I have two), loaded Cyanogen android, and then installed tetherWiFi. This app only works if you have gained root access to your phone.

    I now have my  Apple iPod Touch talking to the Internet, tethered via WiFi to my Android phone, sharing the phone's 3G connection. My HTC Magic is now an ad hoc WiFi access point, protected by MAC filtering so only those systems / devices I choose to allow to connect are able to.

    It took me a few months to collect the pieces together. Once I had them (iPod Touch and spare "sandobx" HTC Magic phone) in hand, within 2 days I was able to set this up. It was worth the wait. Now I've done it once, I realise how easy it is, thanks to guys like Steve Kondin / "Cyanogen".

    Trying Cyanogen Mod android on my HTC Magic


    I've been using Android daily since July 23rd. I came to it from a background of being a daily iPod Touch user with a cheapo Huawei 3G ("Vodafone 715") as my phone. I'm conservative when it comes to messing with expensive phones, so I left my first phone unmolested by alternative builds of Android. This week, I bought my second HTC Magic (used - via Trademe) and - that evening - the fun began. By midnight, I had the new phone running Steve Kondik's "Cyanogen" 4.2.5 android instead of the Vodafone / HTC build that had been on it when it arrived.

    It took me a while because there there is a lot of information out there and it is frequently fragmented and often months old. Not everyone had the same problem. Some people who had a problem found a way to work around it that didn't work for others.

    The first hurdle is getting a working "adb" or "fastboot" connection to the phone that will let you load the files you need onto it and run them with root authority to kick things off. I was almost there with  64-bit Ubuntu, but in the end wasn't able to complete the task due to some permissions issues with UDEV. I could read whatever I liked....but no way was Ubuntu going to let me write to anything on the phone as root.

    After a couple of hours of that, I gave Windows Vista a try. Previously, I had no luck at all getting Vista to see the phone. But the system had been re-booted several times since the last attempts and I also made a fresh attempt at installing the USB drivers for the adb interface. I also added a fresh win32 version of fastboot, made sure it was all on the PATH....and suddenly everything worked!

    At this point I found I was using an old recovery.img file that wouldn't boot on my phone. I went to Cyanogenmod.com and checked out the instructions there as this was the ROM I wanted to install anyway. What I found was nothing short of awesome.....a set of well-packaged files supported by some clear, simple steps plainly and unambiguously presented.

    Following these steps, in a few minutes I had the phone rooted, the original ROM backed up via "Nandroid", the HTC base ROM installed (to get the Google apps) and then a new Cyanogen ROM installed (v4.2.3.1) over the top. I didn't need to do that. I thought I was downloading the latest version - d'oh! Realised today, I had installed an earlier one, working from the instructions.

    After re-booting into the brave new world, I flashed the enhanced recovery image v1.4 onto my phone (as suggested) to make any / all future updates easy.

    Today, to get to the latest version, I downloaded CMUpdater from the Android market and updated Cyanogen, over the air and on-demand - to v4.5.2. That process took download time (27MB at 180KB/sec over 3G - not long).

    I now have voice dialing and USB tethering for Internet and the ability to backup and restore and and all android ROMs  I care to install on my phone.

    Coolness was unleashed today.