The BlueVPN application for Android acts like a "reverse bluetooth DUN" feature, or in other terms it is able to open a dial up connection on a bluetooth-enabled cell phone and use it as modem. This function is natively supported for many operating systems (Windows, Mac OS, Linux ...) but not for Android: the previous post showed how to create a modem internet connection on Windows 7. At the current state, the only way to route all network traffic to a custom channel for a "not rooted" Android device is to open a VPN connection. This is the reason for the application name.
What does mean "tethering"?
For people that are not familiar with the tethering concept, I quote here a definition taken from wikipedia:
"Tethering means sharing the Internet connection of an Internet-capable mobile phone or internet tablet with other devices. This sharing can be offered over a wireless LAN (Wi-Fi), over Bluetooth, or by a physical connection using a (USB) cable . In the case of tethering over wireless LAN, the feature may be branded as a mobile hotspot. The Internet-connected mobile phone acts as a portable router when providing tethering services to others."
While the Wi-Fi and USB tethering has been disabled on some Android devices the Bluetooth tethering is not supported in any case. These features can be reenabled only by a device 'rooting' (hack the firmware to attain the superuser access) and there are several applications that work fine for rooted devices.
Anyway not all users are willing to alter the original manufacturer firmware because this operation does come with some risks. The most notable risk is that you will void any warranty that you have on your device and you may have difficulty to find the original ROM for your device.
In addition, some users can run into problems, for example rendering the phone completely non-functional, having problems with reboots (endless boot cycles) or making the device more vulnerably respect to virus attacks.
The main benefit of using Bluetooth or Wi-Fi instead of a USB cable for tethering is that you can keep your cell phone in your bag or pocket and still make the connection. Moreover, Bluetooth uses less energy respect to Wi-Fi and it is better suited for use in small portable electronics that rely on battery power.
This is because a Wi-Fi device is constantly transmitting data back and forth between connections, and it needs a lot of energy to transmit large amounts of data. Bluetooth, on the other hand, keeps a connection with very little energy being spent, about one-fifth that of a Wi-Fi connection.
The BlueVPN, app works also for "not rooted" devices ad allows to connect on-line an Android device without an Internet-access capability, sharing the connection available on another phone or tablet.
A said before, this application, routes the network traffic to a VPN connection and finally it exchanges the data packets throught the bluetooth channel. VPN connections are fully supported on the latest Android versions Ice Cream Sandwich 4.0.x but limited for previuos releases (Girgerbread 2.x and Honeycomb 3.x)
BlueVPN for Android 2.x and 3.x is quite unstable and difficult to set-up
while the version for Android 4.0.x (BlueVPN ics) is more simple and reliable
In this post we will see how to pair two Android devices for bluetooth tethering: on the second device (host-router) we install the BlueDUN app to enable the bluetooth DUN profile [generally not natively supported].
1. Create the BT pairing between the client device (with BlueVPN installed) and the host device
Settings / Wireless and Network / Bluetooth settings / Turn on bluetooth if off and make the device visible on both / Scan for devices; when the name of the other device appears in the bottom list, click on it ( maybe you need to insert a paring code, for example 1234 ) and confirm. Insert the same code, if necessary, on the host device and confirm.
2. Make sure you have a valid internet connection and the BT-DUN profile on host; if necessary install the BlueDUN app.
[ 3. Create a new VPN L2TP connection on client device - only for Android 2.x and 3.x ]
Settings / Wireless and Network / VPN settings / Add VPN / Add L2TP VPN
set VPN name = BlueVPN and the VPN server = 127.0.0.1 ; disable the L2TP secret and leave empty the DNS search domains parameter.
[ 0. Enable the wifi/mobile data connection on client (required only to allow the VPN connection opening, but not used for data transfers) - only for Android 2.x and 3.x ]
This is a limitation of Android 2.x and 3.x: even if the VPN is enabled, the traffic is not routed toward it if the wireless connectivity is down.
1. Activate the bluetooth interface [if BT DUN profile is natively supported] or open the BlueDUN app on host device and start the service.
2. Open the BlueVPN app on client, click the host name in the BT device list
On Android ICS devices, the first time you click a button in the list, you may get a message that asks to confirm the VPN connection creation. Check "I trust this application" and confirm; that click again the host device name on the device list.
at this point, the application tries to open the bluetooth connection with the host device and open the VPN called "BlueVPN" to route the network traffic.
if everything goes right, you should see the stop button and the message "BlueVPN connected with ...."; otherwise, click on the animated central image to go back to the main menu.
The VPN is really connected only if you can see on the notification panel a "key" icon and the traffic statistics by clicking on it (please dont disconnect the VPN direclty from here, but click the stop button when you have finished).
If BlueVPN does not connect automatically (Honeycomb), start it manually from the system settings (set any username and password):
Settings / Wireless and Network / VPN settings / BlueVPN
While BlueVPN is connected you can open a browser and navigate the internet throught the bluetooth tethering.