Wed 30 March 2011

Android IPv6 privacy extension

Currently in android the IPv6 privacy extension is not enabled by default or even build into the kernel. In the new gingerbread build from cyanogenmod it is available but not activated, but you can change that:

The following commands from a shell while your phone is connected via USB will activate it for the currently existing (all.use_tempaddr) /all future network devices (default.use_tempaddr).

adb shell sysctl -w net.ipv6.conf.all.use_tempaddr=2

adb shell sysctl -w net.ipv6.conf.default.use_tempaddr=2

You can check settings by running

adb shell sysctl -a

These changes will be reset after a reboot. To make them permantent simply echo the following two lines to /etc/sysctl.conf on your phone:

net.ipv6.conf.default.use_tempaddr=2 net.ipv6.conf.all.use_tempaddr=2

Read more...


Sat 06 November 2010

G1 Upgrade for more RAM

After the new stable Cyanogenmod version was released last weekend i decided to also upgrade the radio and hboot to modified versions that free additional, much needed RAM. Here are a couple of notes I took in the process to help you decide if flashing the new radio-version is worth the risk of bricking your phone.

When I started the radio upgrade I already had install the latest stable version from Cyanogenmod (6.1) and the latest available AmonRa Recovery (v1.7.0).

The following screenshot shows the radio and hboot versions installed before the upgrade:

G1_bl_before

Available RAM before the upgrade:

~$ adb shell free
              total         used         free       shared      buffers
  Mem:        97884        96188         1696            0          148
 Swap:            0            0            0
Total:        97884        96188         1696

Upgrade

WARNING: Do not follow these instruction if you do not understand what happens in every single step. If you brick you phone, it is your own fault.

The whole upgrade process takes about 30 minutes.

  • Reboot to the bootloader (Power + Camera) in fastboot mode and flash the new radio & hboot with these commands:
fastboot flash radio radio-2.22.27.08.img
fastboot flash hboot hboot-1.33.0013d.img
fastboot reboot-bootloader
  • Erase the old system and boot partitons:
fastboot erase system -w
fastboot erase boot
  • Reboot to recovery (Power + Home) and restore the nandroid backup you created before
  • Install pershoot’s kernel via recovery
  • Reboot
  • Done

Result

G1_bl_after

After the Upgrade ~14Mb of additional RAM should be available:

~$ adb shell free
              total         used         free       shared      buffers
  Mem:       112392       110448         1944            0          968
 Swap:        20224          652        19572
Total:       132616       111100        21516

The phone feels a bit faster and this is also reflected in the benchmark score:

beforeafter

As you can see, after the upgrade your G1 still won’t be able to compete with newer phones like the Nexus One or even the Desire Z. But it will probably run a bit smoother then before.

P.S: Suck it, Moto Droid!

Read more...


Sat 28 November 2009

Upgrading to CyanogenMod 4.2

CyanogenMod has just released his latest stable build featuring the newest Android 1.6 “donut” and many other improvements.

Detailed HowTos are available covering the upgrade procedure, but in most cases a factory reset including a wipe of your user date will be required for 4.2 to work. Luckily it is possible to transfer your call logs, messages, phonebook and application settings to the build without syncing your data with google.

You will need:

  • HTC-recovery-Image and CyanogenMod-ROM as detailed in the wiki
  • unyaffs
  • adb from the android SDK
  • CM Recovery 1.4 Image already installed on your phone
  • hard disk space to backup your sdcard (optional but recommended)
  • SD card reader
  • ~1h of free time
  • and of course a phone supported by CyanogenMod.

I upgraded from CyanogenMod 4.0.4 on a G1, but the following instructions should apply to upgrades from other android versions and phones as well.

One last thing: This procedure worked for my setup, which does not necessarily mean it will work for yours, so backup your data. Oh, and of course I don’t take responsibility in case something goes terribly wrong and you brick your phone. Did I mention to backup your data?

Getting started:

Follow the wiki instruction up to step 7.. After the backup is finished, shut down the phone and remove the sdcard. To have the possibility to go back to your current android setup create a backup of your microSD card with your favorite disk image software now.

If your are using Apps2sd you will need to delete all the files on your apps partition. Don’t forget to upgrade your apps partition file system to ext3 or ext4 if you have not done so already, because ext2 is known to cause performance issues on CyanogenMod >4.1.99.
The data partition on your sdcard can stay unmodified.
Next you will have to unpack the data.img from your latest nandroid backup:

Create a temporary directory to unpack the data.img to

mkdir /tmp/android_data
cd /tmp/android_data

Unpack the data.imb with unyaffs

/path/to/unyaffs /path/to/latest/nandoid/backup/data.img

Now insert the SD card back into your phone, boot it to recovery mode again and continue from step 8. of the wiki by performing a full wipe.

Finishing up:

After your phone has booted to 4.2.* and you have confirmed everything is working so far, you can transfer your user data back to the phone.

Copy your contacts to the phone using adb

cd /tmp/android_data
/path/to/adb push data/com.android.providers.contacts/databases/contacts.db /data/data/com.android.providers.contacts/databases/

Copy the database containing your SMS/MMS history

/path/to/adb push data/com.android.providers.telephony/databases/mmssms.db /data/data/com.android.providers.telephony/databases/

Proceed with the user data of your favorite applications after your have installed them:

/path/to/adb push data/favorite.app.name/ /data/data/favorite.app.name

It probably is possible to push the whole data/ directory at once, but I used the chance to clean up the stored data a bit and get rid of application data I was not using anymore.

Final note:

The upgrade to 4.2* made my G1 a lot more responsive and added a couple of nice new features. Sadly some apps are not working on Android 1.6 yet and will force close or not start at all. For example my favorite contact app Voxmobili Phonebook will randomly force close or not launch. But considering the increase in performance and the fuzzy warm feeling when using the latest and greatest incarnation if Android , the upgrade definitely was a good idea ;)

Update:

List of apps causing problems right now:

  • Andnav 2 0.8.8.2 (does not work with donut right now)
  • Phonebook 1.0.6 (does not work with donut right now)
  • k9-Mail 1.010 (has to be set up again, pushing the old setting made it force close)

Read more...