Thursday, 3 December 2009

U8230 MoDaCo ROM makes ShopSavvy work on Android T-Mobile Pulse

Well, I installed the U8230 MoDaCo ROM, and it sort of worked.

Unfortunately, things (especially the front screen) kept crashing.

However, after advice from the nice MoDaCo people, I did a factory reset...
  • Use the Quick Boot app to go into recovery mode
  • Allow the root shell access when the prompt comes up
  • Choose the factory reset option
  • When the system restarts it will come up with the standard French options - go into Settings/Locale and text/Select locale and choose English.
  • I found I had to reboot the phone again to make that setting take properly.
  • Now you have to reinstall all your apps (but, if you go to Market, My downloads, they are all listed ready to install). I have installed CoPilot Live (paid for), but it downloaded and installed OK, and re-registered fine.

Because this version of the ROM has moved Google Maps into the data partition (to save space), the factory reset removed it (as it wipes the data partition). So I then had to reinstall the update again. I would advise factory resetting before installing this ROM.

There are some good things about this ROM though:

  • ShopSavvy can use the camera like it should (the old version just showed a black screen).
  • Google contacts will sync OK (even if you add people to your Favorites).

ShopSavvy doesn't work on Android T-Mobile Pulse

One of the highly recommended applications on Android is ShopSavvy. Apparently this lets you use the phone's camera to scan barcodes of products, and then tells you the best prices to buy them, both locally and on the 'Net.

Sounds good, but doesn't work on my Pulse :-(

However, the excellent Paul at MoDaCo has produced a custom rom based on the French U8230 version of this phone, which fixes the problem. (For those not wishing to root their phone, ShopSavvy have been told by the phone manufacturer that a new ROM image has been supplied to T-Mobile, so just wait patiently!)

So I'm loading it now - for full instructions see http://trumphurst.blogspot.com/2009/12/rooting-android-on-t-mobile-pulse.html - but use http://www.romraid.com/paul/pulse/update-pulse-u8230edition-1.0-core-signed.zip instead of update-pulse-1.3-core-signed.zip.

SSH into my Android T-Mobile Pulse phone

Having installed the MoDaCo Custom ROM into my rooted phone, I then tried to ssh into it. The first thing I needed was the password - the instructions weren't clear, but I eventually found it in Settings/About Phone/Setup Wizard.

I used Putty to SSH into the phone (having got its IP address from my DHCP server logs) as root (using port 2222), and it worked. Now I wanted to use my public key, so I wouldn't be asked for the password again. Instructions were a bit fragmented, and I had a few false starts, but this is what I ended up doing:
  • cd /data/dropbear
  • mkdir .ssh
  • chmod 700 .ssh
  • cd .ssh
  • echo 'my public key' >authorized_keys
  • chmod 644 authorized_keys
  • cd ..
  • mount -o rw,remount -t yaffs2 /dev/block/mtdblock1 /system
  • edit /system/bin/dropbear.sh to add
    -R /data/dropbear/.ssh/authorized_keys
    to the end of the command line.
  • mount -o ro,remount -t yaffs2 /dev/block/mtdblock1 /system
  • reboot the phone (type "reboot" at the command line, or use the Quick Boot app on the phone).

The mount commands switch the filesystem from read-only (its usual state) to read-write and back again.


Brilliant - I now have password-free root access to my phone using ssh from my PC (which has a real keyboard). Some experimentation shows I have most of the commonly-used Linux commands available to me.

Rooting Android on the T-Mobile Pulse

Being the techy that I am, I investigated getting ssh access into my phone (preferably as root). The site with the best information on this is http://android.modaco.com/content/t-mobile-pulse-pulse-modaco-com/294178/13-10-1-0-rooting-the-pulse-introducing-superboot/

I didn't find the instructions there 100% clear, so here is what I did:
  • Install the CD that came with the phone - this is necessary to install USB drivers, adb, etc., so the computer can talk to the phone.
  • Download (to my PC) the superboot root image http://content.modaco.net/dropzone/1.1-pulse-superboot.zip
  • and the recovery image http://content.modaco.net/dropzone/1.2.3-pulse-amonrarecovery.zip
  • and the MoDaCo Custom ROM http://www.romraid.com/paul/pulse/update-pulse-1.3-core-signed.zip
  • and the stock T-Mobile image (in case of emergency) http://content.modaco.net/pulse/update-pulse-stock-V100R001GBRC85B116SP01-t-mobile-signed.zip
  • Turn the phone off, and unplug the USB cable.
  • Hold the volume down and red (end call) buttons, and press the power button. This puts the phone into bootloader mode.
  • Plug in the USB cable.
  • Unzip the superboot file, copy AdbWinApi.dll from the CD that came with the phone into the 1.1-pulse-superboot folder, and run .install-superboot-windows.bat.
  • At this point I restarted the phone by removing the battery, and tried it out - the phone was rooted, but I was unable to get into recovery mode to install the MoDaCo Custom ROM. Turns out I needed to install the recovery image first, and I think I could have done that straight away while the phone was still in bootloader mode.
  • Unzip the amonrecovery zip, copy AdbWinApi.dll from the CD that came with the phone into the 1.0-pulse-amonrarecovery folder, and run ._install-recovery-windows.bat.
  • Now restart the phone by removing the battery.
  • Go into the applications list (bottom right button on the home screen), and run the "Quick Boot" application that superboot has installed. Choose Recovery, and, when you get the sudo screen asking whether to allow root access, allow it. This puts the phone into recovery mode, which I think is a kind of boot image provided by amonrecovery. It's a bit like Windows recovery mode, or booting a Windows machine with a floppy disk - you can do stuff, but the main operating system is not running.
  • The first useful thing to do is to take a backup of the entire phone, using the Nandroid Backup option on the recovery menu. This backs up a complete image of the phone's ROM to the SD card, which you can restore later. I then turned USB mass storage on (so I could get to the SD card from my computer), and backed up that image to my computer.
  • Then I renamed the MoDaCo ROM zip (update-pulse-1.3-core-signed.zip) to plain update.zip, and copied it from my computer onto the SD card.
  • I turned off USB mass storage (so the phone could see the SD card again), and ran the "Apply sdcard:update.zip" option. This installed the MoDaCo ROM image.
  • Finally I rebooted the phone (from the menu). The reboot took ages. This is to be expected.

SSH into the phone in my next post...

Android on the T-Mobile Pulse

I've always wanted a smartphone I can use anywhere to access the Internet, ssh into the servers I maintain, check my mail, etc. I was tempted by the iPhone, but put off by the enormous price, and the closed Apple-only system.

Then I found the T-Mobile Pulse, available on pay-as-you-go for under £200, which runs Android. So I bought one a couple of weeks ago.

It's a nice phone (although the camera is pretty awful). I really like the Android operating system - it does the kind of thing the iPhone does on the TV adverts, but it's open.

I installed all kinds of good software on it:

  • EStrongs File Explorer - gives me access to my Windows and Samba shares over my Wifi network.
  • Android-vnc-viewer - lets me control my desktop from the phone (in an emergency - the phone screen is a bit tiny for controlling twin 19" monitors!).
  • AndFTP - FTP/SFTP client.
  • TextEdit - does what it says on the tin.
  • ConnectBot - ssh/telnet client.
  • DynDNS - dynamic DNS client.
  • Skype Lite.
  • CoPilot Live Navigator - full turn-by-turn GPS with maps on the phone, so no Internet connection needed.

I also put on quite a few other less vital bits an pieces - e.g. a spirit level (just like the TV ad), toggle switches for turning WiFi/GPS/3G/etc. on and off (to save going through the settings menu).