Category Archives: android


Keep-root Recovery for Motorola Droid

If you currently have root access on your Motorola Droid but are running a vanilla (not custom) ROM, you need to take precautions when applying an OTA update. By default an OTA update will remove your root access. Some phones are rather easy to re-root (for instance, Nexus One), but in some cases the OTA update patches up the security holes exploited to gain root access.

My remedy is shsu -- a very simple patch on top of the standard recovery image that will prevent loss of root access when applying an OTA update. Here's how to install and use it: read more »

Prospects of Ad-hoc Wifi in Android

Back to my "favorite" Android Issue 82. It seems Android engineers prefer Wi-Fi Direct over ad-hoc as illustrated by this thread.

Ad-hoc has slipped in priority in favor of other superior solutions keeping power constraints and security in mind. Soft Ap support exists and wi-fi direct support will come in the future.
read more »

shsu recovery — auto-root after OTA

Despite all the excitement about custom ROMs, my Android phone is running the vanilla (Google experience) ROM that shipped from my network operator. However, I want to be both up-to-date and rooted, so I apply each OTA update but not without caution.

An OTA update typically removes the setuid bit from all executables on the system partition (the only one allowed to have the setuid bit set). To avoid losing root, I crafted my own recovery image which differs from the vanilla recovery image in one major aspect: before it reboots, it installs shsu: a shell-only su. Thus, even after unintended OTA update (happened before), I keep my root access.

read more »


When working on Android, I found it useful to be able to unpack a boot image, replace a few files and repack it. unbootimg is the perfect complement to the mkbootimg tool that is used to create Android boot images.

read more »

Rooting Nexus One

As explained by Android Police, rooting an Android phone does not necessarily mean installing a custom ROM. Do you want to root the phone but avoid the hassle of custom ROMs? read more »

Ad-hoc Wifi in Android

Suppose you want one Android phone to connect to another. Unfortunately, the WifiManager in stock Android ignores ad-hoc networks. There are a couple ways around this:

  • One is to modify the Android framework to support ad-hoc networks (I recall seeing some custom ROM for Samsung Moment that had this).
  • Another is to manually configure the wpa_supplicant to connect to an ad-hoc network.
  • Yet another one is to patch the wpa_supplicant to pretend that ad-hoc networks are regular access points. This was my method.
read more »

Barnacle’s Technical Details

Barnacle Wifi Tether is a combination of three tools to provide wifi tethering capability on an Android phone. Those three tools are:

  • NAT,
  • DHCP server, and
  • WLAN ad-hoc setup.

In principle, Barnacle Wifi Tether is equivalent to the android-wifi-tether project. However, unlike android-wifi-tether, it does not depend on NETFILTER support in the kernel and thus does not require custom kernel on such phones as Nexus One or Motorola Droid/Milestone. read more »