Posts Tagged ‘G1’

Cupcake update pushed to JFv1.51 US/UK

Wednesday, July 22nd, 2009

This morning I checked my phone only to find a message about updates downloaded and ready to install. That’s an odd thing, since I’ve got modded firmware that should have disabled such behaviour to prevent conflicts. I was a bit worried, but an ADP G1 wielding colleague pointed me to this notice… http://andblogs.net/2009/07/otas-in-jfv1-51/

I followed JF’s 2nd and 3rd suggestion and so far so good. Here’s the exact steps I took to disable the update.

  1. Download and extract JFv1.51 ADP firmware and copy build.prop to the sdcard. Or use this build.prop (freshly extracted for your convenience).
  2. Mount /system on the G1 as read/write. Two simplest ways to do this is either install “DroidSans Tweak Tools” or run “mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system” in a terminal.
  3. Replace build.prop and make the permissions the same as the old one with something like:
    $ su
    # mv /system/build.prop build.prop.bak
    # cp /sdcard/build.prop /system
    # chmod 644 /system/build.prop
  4. Find the update in the /cache directory and “chmod 000″ it…

    Disable Cupcake OTA update screenshot

  5. Now I actually clicked on the “restart and install” option on the update dialog. The phone rebooted, and the update failed. I rebooted with Home+Back and haven’t had the update prompt as yet.

So far so good. One odd thing I noticed is the update is gone from the /cache directory.

Browse for Android apps without the eye strain

Wednesday, July 1st, 2009

The Cyrket website is an “Android Application Browser” for the desktop. Makes it much easier to search for applications and works especially well in conjunction with “Barcode Scanner” app installed on the handset.

Now why didn’t Google just do that in the first place?

Android MarketEnabler

Wednesday, June 17th, 2009

Looks like some Italians figured out a way to access paid applications on the Android Market. Check out this English translation which contains a link to the MarketEnabler app they wrote. I’ve tested it out and it stills work quite well.

Rooting a G1 phone – Part 2

Monday, March 16th, 2009

The next step for me was to get root. People are generally recommending to downgrade firmware to take advantage of a glitch. I checked mine and I was still on RC19, which has another simple method. Basically you can simply start the telnet service and connect as root remotely from another computer. I just had to install a terminal app from the Android market and then I was in. From there you can create an su command for use on the handset and then kill the telnet service. I used instructions from Hello Android in case you are interested in the specifics.

It was good that I had the old firmware, as I was able to experience some of the original mods that generally no longer work. I went over the original G1 hacking forum posts and tried a few tricks. My firmware was nice and insecure, that’s for sure. Storm clouds were brewing and I could hear thunder in the distance. It added some mad scientist atmosphere.

While I was exploring the joys of root I received an email from one of the G1 modding sites informing me that the latest firmware was modded and available, including multitouch enabled features, such as multitouch zoom in the browser. This is something you really need, just in case an iPhone fanboy notices you have the G1. Time to get serious and put some custom firmware on this thing. I downloaded it and started reading through the tutorial.

By now it was getting really stormy. The storm knocked out my ADSL, so that was the clincher. No internets, nothing else to do but start the firmware upgrade. I followed the tutorial, which was very mickey mouse. No explanation of what you were doing, just follow the bouncing ball. One step was to wipe all your settings. This meant I had lost my APN settings in the firmware upgrade (the details I’d gotten off the Whirlpool site to get GPRS working). No internet = no Whirlpool = no G1 reactivation… Doh! I had to wait a while to reactivate the handset. Next time I’d better jot those details down somewhere.

So, I took advantage of the opportunity to get some chores done, change and feed the baby, etc. All the stuff I probably wasn’t going to be doing as soon as I got my toy back.

Eventually I was back on line and could activate the handset again. I even found the right place to get G1 APN settings for any carrier.

Upgrading to the modded firmware actually turned out to be more of a pain in the butt than I had anticipated. This was only because the tutorial was flawed. It assumed you’d already installed a modded firmware previously and so they missed a crucial step. After pestering the Android devs on IRC and even tracking down JesusFreke (the main guy responsible for the firmware mods) eventually someone put me on to the full instructions.

These instructions rock. Included was a very useful hotkey that actually gives you some text output during the firmware upgrade process. The crucial step missing from the previous tutorial required me to replace the default recovery image with a modified one. Once I had an alternative recovery image that could circumvent some digital signature check, I was able to install the modified firmware with no dramas.

The system is fairly robust in preventing you from bricking it. As long as you don’t nuke the recovery image you can boot with it in the event that the main system wont start up. Once in there you can refresh the system with an image file stored on the sdcard. I’m not sure what would happen if your recovery image was also broken or missing. The place to find out would be over at xda-developers forum.

One downside of the firmware upgrade was I lost all my apps. I spent the rest of the day putting apps back on there with a bit more discrimination this time. Found some useful apps, like sftp clients and an ssh client. The sftp apps I tried kept crashing for some reason that wouldn’t become apparent to me until the next day.

There is also a screenshot app that supposedly worked when granted root access. It was rather unuser friendly, and I couldn’t figure out where the images were supposed to be saving to. I’ve since used it to collect a few screenies that I’ll scatter through the blog at some stage (don’t hold your breath, I’m pretty slack). Stuff was starting to seem buggy, but it was late so I decided to call it a night. That was the end of day 2.

Day 3 I had the pleasure of showing my iPhone wielding boss the multitouch browser. Never mind the fact that multitouch support is limited by the hardware such that you can’t effectively use it if your fingers get closer than about an inch. Apparently a snapping effect then happens where the device only detects a single touch somewhere between the two fingers. You can checkout the specifics on Luke Hutchison’s blog, he’s the mastermind behind the multitouch hacks. The hacked browser doesn’t actually use multitouch gestures properly anyway. It just emulates a general zoom in/out command, it doesn’t centre the action on the point between your fingers like an iPhone does.  Doesn’t matter, you can successfully fool the Apple fans for long enough to get past them and get back on with your life.

Actually I found that wasn’t quite true. My workplace has WPA2 enterprise wireless security. The wireless applet/widget/whatever you kids call programs these days wouldn’t even list the SSID. Funily enough I found my Tricorder application did detect them. I had a moment of bemusement that this purposeless toy could actually be useful for something.

<insert Tricorder screeny here>

So now iPhone had me on a feature that wasn’t just aesthetic. Rrrrrr… GOOGLE SKILLS ACTIVATE! Good on you Goolge, you really brought the true Linux experience to the handset market. Editing text files as root with vi to get stuff working on my phone, that’s pretty special, in some sense of the term anyway. So I followed instructions listed on the xda-developers forums. I didn’t actually need to install any certificates, it just connected as soon as I put details about the SSID, WPA2, and my username and password in a text file. Not ideal for security reasons, but as long as it works I’m a happy man. The SSID now shows up in the wlan applet too.

Something else was amiss that day though, the instability that I noticed last night was still going on and I finally figured out what the pattern was. When anything tried to write to the sdcard it would fail after a couple of files. Some apps would crash, other’s would fail silently, and just one actually handled the exception and displayed a meaningful error message. Go you cowboy Android app developers!

Experimenting with remounting the sdcard confirmed that after a short window of write activity the sdcard would become readonly, once again keeping true to the spirit of Linux. A quick search confirmed my suspicion the solution was to reformat it. Bare in mind, this is the sdcard that came with the handset. I backed up the files, formatted it and restored the data and the problem went away.

I spent the rest of day 3 pondering the next frontier.

Rooting a G1 phone – Part 1

Friday, March 13th, 2009

In case you’re not familiar with Unix terminology, I’m not talking about some kind of sick techno-fetish. I’m talking about gaining full and unrestricted access to the software that powers your phone. Just like administrator on your Windows PC. You are free to do anything, including making it not go so good no more.

When you purchase a PC, you don’t expect the manufacturer to tell you what operating system or other software you can or can’t run on it. You’re free to do what ever the hardware supports. So what’s so different about phones? The main difference is that mobile phone technology has always been entirely proprietary. Even if you had the access, there is probably not a lot you could legally do that would be of any use to you. But that’s finally starting to change now that Google have provided us with an alternative via the G1. This phone is the first generation of handsets powered by the entirely open source Android OS.

I wasn’t looking for a phone when I decided to get this bad boy. If it was just a phone, there’s no way I’d have gotten anything this big. This is not a phone, this is the beginning of the revolution. A miniature PC that you can even make phone calls with if you like. The Android OS is basically a Linux distribution with it’s own custom Java virtual machine. Most Android developers use Java, but it is possible to compile other Linux packages.

Unfortunately, root access isn’t handed to you out of the box. Understandably the phone manufacturer doesn’t want to give you such power because it can cost them more money in support and returns. However, chatting with the Android development community is a very fast way to find out everything you need to know to unlock it. There are also packages in the Android Market which either rely on root access or have greater functionality once it’s available. I’ll go more into it in the subsequent parts. This part I’ll just cover my first impressions of the handset.

I’d been eyeing off the Eee PC and Eee Boxes for a while now, but it looks like I’ve missed the opportunity to get one from the shops with Linux on them in Australia, seems they just don’t stock them any more. The G1 had been out for about a month in Australia, only a few phone companies are selling them on plans. I decided to just buy the thing outright from an on line store based in Australia called MobiCity. I wanted fast delivery and a warranty, so I paid a little more than I probably should have.

When I got the email from the tracking company, it soon became apparent that the phone wasn’t coming from a warehouse in Australia, it was actually coming from Hong Kong. I thought perhaps it’s a good thing, it might get it faster. But no, it had to go through Sydney first so took the full 5 days to get delivered. I couldn’t really complain about this because they stated 1 to 5 days delivery time. Anyway, it was probably for the best since I was on a training session that week, otherwise I probably wouldn’t have taken much in.

Halfway through the training session I got news that the package had arrived. I collected it around lunch time. I even missed out on the free hot dogs being given out that day because I was tearing off packaging and trying to figure out how to get the thing going. Holding the thing, it was a little ugly, but actually not as bad as some people made out in the reviews I’d read. Also the weight was pretty good considering how powerful it is. I put the battery in and fired it up. The little android animation I’d seen in the emulator popped up. Bonus points for no boot music, something that always bugs me about Nokia.

The phone prompted me for my Google account, and then failed to connect using GPRS. The system refused to budge until I registered with a Google account, after some trial and error I found that the menu button brought up an option to configure APN settings. A quick Google and I found some settings posted on Whirlpool forums that worked like a charm. I was in.

Looking at the accessories, it was apparent that I’d bought a phone that originated in the US, was repackaged in Asia for the Asian market and then repackaged again for Australia. I had several power cords and adapters of different shapes and sizes, some inside the original box, and some outside. The box seal had been opened, though nothing had been touched in side the box, they had obviously just put an Asian power adapter in there. I was a bit bummed about it, considering part of the reason I didn’t mind paying a little extra was because I thought I was buying from a solely Australian distributor. At least I have the 12 month warranty, which is something that wasn’t offered by the Ebay dealers. I’m really a bit frustrated with the consumer electronics market here in Australia. If a product isn’t in the mainstream, you pretty much have to buy from overseas. My disappointment was very short lived once I started actually playing with it.

I was actually pleasantly surprised by the handset. The screen snaps up and down quite solidly. I wouldn’t exactly call it durable, but I don’t think you’d be buying one for the farm or a construction site. I didn’t buy it for looks, but I was concerned that it could be a complete monstrosity from some of the reviews I’d read. Many of the pictures I’d seen looked all right, but they were obviously showing off the handset’s best angles. The keyboard is quite comfortable to use with your thumbs. Anyone who expects to be able to touch type on such a tiny thing is tripping. The back cover is just a thin slither of black plastic hiding the battery, sim card, rear speaker and the camera lens. Like I said previously, the weight was very reasonable for what you get. It weighs about the same as my wallet when it has a little bit of shrapnel in it. I’m predicting this thing isn’t going to age gracefully, I’ve probably got about 24 months of being able to use it in public before it’s just too embarrassing.

The operating system is smooth, stable and very importantly it has a very light footprint. With just 192MB ram and a 528 MHz processor I guess you could try and compare it to an early pentium, except the size, OS and fancy hardware makes that a bit of a joke really, I don’t know why I’m mentioning it. Like most Linux distributions, it has a sort of package management interface where you can download bucket loads of software for free. This particular system is called Android Market, and it currently contains hundreds, if not thousands of free applications to download. I pretty much spent the rest of the first night trying out the apps and setting up this blog (Android browser support being most important).