Sunday, August 11, 2013

Improved fix for Docomo MVNO data-only SIM "cell standby" battery drain

There are many data-only SIMs from a number of different Japanese MVNOs, including b-mobile. These may offer superior value over full price data plans from the big carriers. They're also great for a second device, like a 3G Nexus 7 tablet, and the prepaid versions are perfect for temporary visitors.

The problem is that these SIMs are provided by Docomo without a specific component that Android expects. This causes the phone to appear to not have a data connection at all (when it actually does), resulting in excessive battery drain as power to the radio is boosted while searching for a signal.

While the problem has finally been addressed in the Android source code, this will most likely only help for tablets that have no built-in phone capability. A normal Android phone with a data-only SIM provided by Docomo will most likely still not show signal bars. The previous fix required a fair bit of work. The new fix uses a simple Xposed module, so it can be performed entirely on the phone and can be easily disabled when you use a voice SIM.

If you read Japanese, visit oov's blog for a more detailed explanation.

Xposed Installer with oov's signal bars module installed and enabled.


  • Android 4.03 - 4.3
  • Root
  • Xposed Installer (apk)
  • Docomo Sim Patcher (Xposed module; apk)


  1. Download and install the most recent version of the Xposed installer. The current version at the time of writing is XposedInstaller_2.1.4.apk.
  2. Launch the Xposed installed and tap "Install/Update".
  3. Reboot the phone
  4. Download and install the Docomo Sim Patcher module. The current version is DocomoSimPatcher20130726.apk.
  5. From the Xposed Installed tap the modules tab and enable the Sim Patcher module by tapping the checkbox.
  6. Reboot the phone.
That's all there is too it.

I'd been running a very old beta of unofficial Cyanogen 10 on a Nexus S for about a year now. It was really out of date and buggy, but patching a freshly installed ROM was just a pain. You had to pull the framework.jar file to a computer, decompile it, patch it, recompile it, push it back, and hope everything worked. The previous batch file wasn't really usable because of a bug with virtual box and the Nexus S, and I never got around to making a batch shell script, so I had to do it all manually, which meant that I just never did it.

Flashing the latest CM based off 4.2.2 from the recovery, which is really full of win
HSPA and signal bars!