Showing posts with label "HTC Magic". Show all posts
Showing posts with label "HTC Magic". 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.

Saturday, December 5, 2009

Turn-by-turn Google Maps Navigation outside the US

[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.]


Google released v3.2.1 of Google Maps for Android on November 24th. It's for the US only. This version includes turn-by-turn audio and visual GPS navigation.

But within a few days, there were alternative android ROMs available that included a version of Google Maps with support for Navigation outside the US. I've tried it here in Auckland and it was perfect all the way from the North Shore to Titirangi and back. You want this.

Now, there is an app on the Android Market called "Nav Launcher".  It's only purpose is to help you download a modified version of Google Maps v3.2.1 that turns on GPS Navigation in a long list of countries. New Zealand included. Apparently you don't have to have a rooted phone to use it, either. I'd be interested to know how people get on.

So if you want to get over to the market and try this out, here is the QR code. Scan it off the screen with your phone and it will take you to the market and direct to the app. You'll need to have "Barcode Scanner" installed.....but surely everyone already has that installed? If not, get it. It's very useful.

Now I just need a little stand on the dash of my car to rest my phone in when I'm driving so I can hear the instructions, though I think the Bluetooth 2.0 A2DP stereo support in my HTC Magic may come in handy if I wear a headset.

Friday, November 20, 2009

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.

Thursday, October 8, 2009

Getting adb to see my HTC Magic on 64-bit Ubuntu 9.04 / Jaunty

I wanted to get the Android app development environment up and running so I could learn how to write programs for Android and test them both in the SDK's emulator and on my HTC Magic phone.

I'd installed the Android SDK v1.6 and Eclipse 3.5 and the ADT 0.93 plugin on my 64-bit Ubuntu 9.04 system and followed all the instructions. I could happily run a program in an emulator, but I couldn't get it to see my HTC Magic Android phone via USB and actually run a program I had written on the real thing.

I gave up on Linux and tried it instead on Windows Vista, but it didn't work there, either. An "apd devices" command returned nothing unless an emulator was running.

So I did some more research and found a couple more things I could try on Linux and finally got it going. No real wizardry on my part. I managed to find a couple of good pages about the USB support in Linux with the Android 1.5 SDK from Titanium Mobile Development and Jason D Clinton. Both are linked to below. There were also some helpful comments adding to these that finally got me up and running. How much I don't know about parts of Linux will probably be obvious to people who do know, but that's just how it is. Any suggestions or refinements anyone would care to offer will be gratefully accepted.

Just to cover it off, I did try the /etc/udev/ instructions mentioned on the SDK web site. Apparently this is the future direction for authorising access to such devices, but it didn't work for me and obviously hasn't worked for at least some others.

Two pages, here and here,talking about Android SDK 1.5, provided the missing links. It appears to have someting to do with permissions and this is how you make it work.

I listed the usb devices on my system with "lsusb".



The HTC Magic is "0bb4:0c02" from High Tech Computer Corp.

This verifies the key details for identifying the phone to the system.

Then, as root (using sudo) I went to /etc/hal/fdi/policy/ *and* /etc/hal/fdi/information and created android.fdi with the following contents (courtesy of Jason Clinton):

<match key="usb_device.vendor_id" int="0x0bb4">
<match key="usb_device.product_id" int_outof="0x0c01;0x0c02">
<merge key="pda.platform" type="string">android</merge>
<append key="info.capabilities" type="strlist">access_control</append>

<merge key="access_control.file" type="copy_property">linux.device_file</merge>
<merge key="access_control.type" type="string">pda</merge>
</match>
</match>


Note the first two lines contain the first and second parts of the ID seen in the "lsusb" listing. If your phone has a different ID, you'd most likely have to amend these values to match.

Then, I performed the polkit-gnome-authorization changes listed here, and then logged out and re-booted the system. This assumes you are using the GNOME user interface on Ubuntu. Maybe I didn't have to reboot, but I wanted to be sure the contents of the android.fdi would be read and I don't know enough about how that part of the system works.

After rebooting, an "adb devices" command produced output showing I was now able to access my phone.



Even better, when I ran the "Hello Android" app, this time it actually ran on my phone, by default, and not in the emulator. Had the phone not been connected, it would have started an emulator.



Yay! A major hurdle out of the way for both app development and testing AND for getting root access to my phone and - if I choose to - loading a new ROM on it to get additional function.
Reblog this post [with Zemanta]