Sunday, May 20, 2012

Bluetooth tethering for Android devices: making BlueVPN and BlueDUN work together




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].

Installation:

1. Create the BT pairing between the client device (with BlueVPN installed) and the host device (with BlueDUN installed).   For an unknown Android limitation it is a best practice removing any space in the Bluetooth device names before the pairing ( for example:  rename "My Phone" to "MyPhone" )

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 BlueDUN service running on host device

[ 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.

4. Enter the BlueVPN setting panel and set:

      Authentication type =  None 
      Modem compatibility = diabled
      LCP compatibility = diabled
      Bluetooth insecure socket = disabled
      Primary DNS = 0.0.0.0
      Secondary DNS = 0.0.0.0




Normal usage:

[ 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. 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; than 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 don't 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.




23 comments:

  1. Thanks for sharing this such a great information.I really appreciate your work i share this link to my facebook friend as well as Digg and twitter this info helps to everyone

    ___________
    Android VPN

    ReplyDelete
    Replies
    1. Hey,

      I have a kindle fire hd 8.9 and i installed bluevpn. It shows my phones in the list, but i can not select any phone. Any functions like entering in the settings or exit, it works.
      I tried on a nexus 10 and it work, but on a kindle not. Do you have any ideea why i can not select any item in the list?

      My email is tilutza.at.gmail,com

      Regards,
      Daniel

      Delete
  2. Great work,
    thanks for this.

    Since Samsung has again implemented RSAP in Galaxy S2 for ICS and now also in Galaxy S3 I searched for a solution to connect to the modem which is built in in VW Premium Handsfree.
    It works with your software. I found no other software which can make a DUN connection to the car modem.
    Is it possible to make your app for this use case a little bit more user-friendly ?

    eg. it connects automatically to the car when Rsap is enabled, also for disconnect after ending of Rsap ?

    I think the software engineer of the app "Bluetooth SIM Access Profile" will also contact you. I told him about your great app.
    His app helps some devices to get RSAP functionality...

    Best regards
    Mike

    ReplyDelete
    Replies
    1. Thanks for this report. Looks like there is some hope, but I can't make it work. Could you please share your settings in BlueVPN and car?

      Delete
  3. Is it possible to connect my dumbphone's 3g/evdo to my galaxy player (non-smartphone) via bluetooth for internet? It seems this app has everything but that functionality. Would love to see that work.

    ReplyDelete
  4. This works great for web browsing but doesn't work for apps like IMDB & Tune-in radio. They dont detect a network. Is there anyway of fixing this?

    ReplyDelete
  5. This is due to the VPN restrictions. I'll investigate in the future if there is a workaround

    ReplyDelete
  6. I tried this in BestBuy just a few minutes ago: BlueVPN on my Lenovo A1 and BlueDUN (trial v1.20) on my Thunderbolt. It seemed to work fine there - we made sure my A1 was not using the store's WiFi network. I have it now back at my office, and I can't get the two to complete the connection-negotiations. The BlueDUN app on my Bolt gets stuck on "NCP Negotiating...", but eventually one or the other or both timeout and go back to not connected (or not VPN'd not sure which).

    Any thoughts?
    Thanks!

    ReplyDelete
    Replies
    1. I need the application.log file to check where is the connection problem; please enable the Logger and Log to File options. You can find the log file inside /sdcard/com.bluevpn folder (created after a new connection attempt)

      Delete
  7. I have a JB tablet and Samsung galaxy ace with gingerbread. I am able to connect. I do get the stop button and but don't see the key.

    ReplyDelete
  8. my nexus 7 use the blueVPN connect to my phone , it can visit the web page , but nexus 7 cant receive email and download app at goolge play.

    ReplyDelete
  9. ==At the moment, this app requires a Wi-Fi connection==
    Yes. Only if I have working WiFi it goes up. This condition is completely devaluates the application for me. Please remake it without this condition. Thank you. (htc desire HD, android 2.3)

    ReplyDelete
    Replies
    1. You are right, it is a limitation of Gingerbread firmware. I suggest you to upgrade the Desire HD to ICS or Jelly Bean and install the BlueVPN for ICS

      Delete
  10. Hi

    I wish to share my Internet connection thru my Samsung Monte mobile to my Android Tablet. My mobile uses a Wifi Router to connect to the internet.

    My Tablets wifi signal reception is very weak, but my mobile receives it very well. So i planned to share it with its bluetooth.

    Will installing BlueVPN alone on my Android Tablet will work?

    Can someone help me on this?

    ReplyDelete
  11. I would like to access the internet from my Samsung Galaxy Tab2 7.0 using Bluevpn reverse tethering (this is to be able to access the internet on the tablet via a dongle attached to my PC)
    I have an active internet connection on the PC (XP) AND the tablet paired with bluetooth, but do not seem to be able to progress further than this. Can you offer any advice please?

    ReplyDelete
  12. I am using Blue VPN on my SAMSUNG Galaxy S3, Android Jelly Bean 4.1.1 in order to get an internet access trough my VW car DUN MODEM, in conjonction of its RSAP features. I can access internet but I have to acknowledge a pop up window, stating there is no mobile Data available, each time I am clicking to another webpage. Also Google app is not working and I need to go into the webrowser that came with the phone.

    ReplyDelete
  13. Can you post specific steps for stopping the Bluetooth connections when you're finished? Sometimes my phone crashes and restarts. Thanks for this awesome app.

    ReplyDelete
  14. On Samsung Illusion, am able to get BlueVPN to connect to dumb phone with internet, but browser does not find internet connection.
    When access dumb phone from laptop using blue tooth, can connect to internet (even after turning off WiFi and disconnecting all LAN cables). So the dumb phone does provide tethering. Phone status is the same for Samsung and for PC: "Verision Wireless - Connected as Modem" Only works on Samsung if set "Use single line AT commands". Logging does not appear to be reporting any errors. Something between BlueVPN and browser app is not connecting?

    ReplyDelete
  15. Hello,
    I use this app at a galaxy s4 i'm connected to the internet via browser but it doesn't work at some other applications

    ReplyDelete
  16. Please update BlueDUN to version 1.6 trial or 2.4 full (they are equivalents). The new version checks the compatibility with your device firmware and include an option to Send me the log files for debugging the app.

    ReplyDelete
  17. can anyone please help me, Done everything I have install bluedun on my android phone and instlled bluevpn on my table but cant get past modem negotiating. not sure whats going on there. I am trying this app as pdanet app sucks way to much battery out off my tablet for some werid reason. Thanks

    ReplyDelete
  18. hi..Im college student, thanks for sharing :)

    ReplyDelete
  19. I sent my log file. How long does it take for you to reply. My nexus 7 shows it has connected to my galaxy nexus on your app. When I open a browser it states I do not have a connection

    ReplyDelete