[Sony Ericsson XPERIA X10 Mini] TheCuteCriminal:
Purpose:

Tutorial to describe how to install and configure an OpenVPN client on a rooted X10 MiniPro. This "how to" assumes you know what OpenVPN is and have a verified working OpenVPN server.

Client Requirements:

Rooted X10MP

Root explorer/ES file explorer

A kernel with built-in tun support (stock kernel/custom kernel)

* if not,download tun.ko from the downloads post (below) and place it in /system/lib/modules/

Openvpn installer

Openvpn settings

Terminal Emulator

Busybox

VPN Config Files

Tun.ko [This is compiled by me for the kernel which i use]

----(this file is device and kernel specific. You cannot use a tun.ko that is compiled for any other device.),if this file which i provided does not support ur device pls dont ask the file from me, just google for it for your mobile kernel.

Tested Rom/Kernel Combinations:

CyanogenMod7 For mimmi with StarK kernel

Tested Server Configurations:

GLOBOBO (Bridged UDP)

SMART (Bridged UDP)

Install BusyBox:

If you already have BusyBox this step may be unnecessary, if not follow this

On your device download and install "BusyBox Installer"

Run the BusyBox Installer and accept the default version and location (/system/xbin/) [if asked]

Scroll down to the bottom and press the "Install" button.

Install OpenVPN Installer:

On your device download & install "OpenVPN Installer" and its binaries

Steps:

- Click Install >choose /system/xbin/> choose /system/xbin/bb

- Check this directory if installation successfull: /system/xbin/openvpn

Now it will show "Binary Installed"

TUN/TAP Module installation:

If your kernel does not have TUN/TAP support then download tun.ko and paste it in /system/lib/modules/

Install OpenVPN Settings:

On your device download and install "OpenVPN Settings"

Configure OpenVPN Settings to use the tun.ko module:

Run OpenVPN Settings

Press the "menu"

Press the item labeled "Advanced"

Check the "Load tun kernel module" option

Press "TUN module settings"

Press item labeled "Path to tun module"

Set the textbox value to the path of your tun.ko module (basically, its /system/lib.modules/tun.ko), then press the "OK" button

Press item labeled "Load module using"

Choose the "insmod" option

Connect and test the VPN connection:

Make a directory called "openvpn" in root of ur SDCARD, and copy ur all config files along with their certificates and keys in this "openvpn" folder

Start the OpenVPN Settings application

Make sure "OpenVPN" is checked.

Pick the .ovpn client config from list of OpenVPN configurations

After you're connected the status line should tell your IP address on the remote network.

Test your connection by pinging an IP address and/or host name on the remote network. I use Ping & DNS as my ping application.

Note: The OpenVPN Settings client doesn't pick up the remote DNS server DHCP push option so you must configure the DNS per connection configuration manually by:

** for many config's this is not necessary :P

Tap and Holding the OpenVPN configuration from the list.

Choosing "Preferences" from the popup menu.

Checking the "Use VPN DNS Server" option.

Press the "VPN DNS Sever" item and set it to your desired DNS server.

Troubleshooting:

Install and run Android Terminal Emulator,Check for an active tap0 interface

Open terminal

type "su"

type "netcfg", one of the entries should be labeled "tap0" with a valid IP address.

If you get errors like

cannot execute command

cannot find ifconfig command

cannot allocate tun/tap

go to adb shell or terminal emulator and type this.

su
mount -o remount,rw /dev/block/stl6 /system
cd /system/xbin
mkdir bb
cd bb
ln -s ../busybox ./ifconfig
ln -s ../busybox ./route
ln -s /system/xbin/busybox /system/xbin/cp

Sample Client .ovpn connection configuration: