DroidWall (or Droid Wall) is a firewall application for Android-based smartphone, which is also. With DroidWall, users can choose to allow, restrict or block which applications that are permitted to access cellular mobile data networks (2G or 3G) and/or Wi-Fi wireless connection.

Droid Wall requires a rooted Android-based mobile phone such as HTC Hero, HTC Dream, HTC Magic, Samsung Galaxy I7500, Google Nexus One, HTC Legend, Motorola Droid, Motorola Milestone, Motorola Cliq, and etc.

However, after installing Droid Wall on a Motorola Milestone or Motorola Droid which has been rooted, the following error message will appear when user attempts to apply rules or show and view rules in Droid Wall.

Could not acquire root access. You need a rooted phone to run Droid Wall. If this phone is already rooted, please make sure Dorid Wall has enough permissions to execute the ‘su’ command.

Note: This error may also due to non-rooted phone, or the app is not added to Superuser whitelist.

or,

Errcode 127 – “iptables: not found”

The error happens because iptables, the user space application program that allows system administrator to configure the tables provided by the Linux kernel firewall (implemented as different Netfilter modules) and the chains and rules it stores, is not included in Android operating system of Motorola Milestone and Motorola Droid. DroidWall depends on iptables to carry out its jobs of blocking or allowing the apps to access Internet via data connection or WiFi. In fact, Droid Wall is essentially just a front-end application for the iptables Linux firewall.

Here’s the workaround to install iptables in Motorola Milestone or Droid, as detailed in one of the app’s issues:

Note: Root the Motorola Milestone or root the Motorola Droid first. Since Droid Wall is installed, it’s assumed that the device has been rooted.

  1. Download and install Android WiFi Tether form http://code.google.com/p/android-wifi-tether/ or search for Wireless Tether for Root Users in Android Market.
  2. Run the Wireless Tether once.
  3. Download and install a Terminal Emulator.
  4. Run the Terminal Emulator.
  5. Log in as superuser by typing the following command:

    $ su

  6. Remount system as rw (read-write enabled) with the following command:

    # mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system

    Tip: It’s also possible to use Droid Root Helper app to achieve the above task.

  7. Copy the iptables installed by Wireless Tether to the /system/bin executables directory with following command:

    # cp /data/data/android.tether/bin/iptables /system/bin

The Droid Wall should be able to apply rules and show rules properly once iptables is installed.