I’ve been using my Galaxy Nexus device as a bluetooth internet gateway for my Nexus 7 for a few months now. While Android to Android tethering should rightly be quite straightforward, it may be surprising to learn that the same device can be used as an internet gateway for Ubuntu using much the same technique.
Using these simple steps, you can take your Ubuntu laptop to the local coffee shop, pub or library and use your Android phone as a tether. Sure, you could also use the local WIFI in those establishments, but putting aside the hassle of connecting to a new hotspot each time, do you actually trust them in the first place? Firesheep was an eye opener and if you think it’s never been repeated less publicly, then you’re more trusting than I.
And besides, this technique will work in places you can’t get free WIFI, or indeed any WIFI at all, such as your hotel room, the airport, train, or even your local park. As long as your phone can get signal, you can use it to get an internet connection to your laptop.
Caveat Emptor
NOTE : Tethering is the act of using your phone’s internet connection for another device. This means that you need to have a reasonably priced data plan on your phone, or you will incur large charges from your mobile operator. It’s also worth noting that laptops could well use more data than your phone – it will synchronise with Dropbox, check for O/S updates, show you the full, desktop based websites instead of the mobile version and generally gobble up data in various other probably unforseen ways, so tread carefully. If you’re in any doubt how much data you’re contracted for, contact your mobile operator and confirm it before going wild with tethering!
Checklist
So first things first. Here’s the config and devices I’m using :
- Galaxy Nexus, running Android 4.3
- Samsung Chronos 7 laptop running Ubuntu 13.04.
But I’ve confirmed that this works on Ubuntu 12.04 also.
Pair the Galaxy Nexus and your Ubuntu Laptop
On the Galaxy Nexus, make sure the BT setting is on, and ideally set it to “visible”.
Then on Ubuntu, make sure that Bluetooth is on and set to “visible” too:
And now it should be fairly simple to pair the devices together. On your laptop, choose Set-up New Device.
Leave your PIN options set to automatic. Now, before you click continue, unlock your Android device, because you only have about 20 seconds to complete this next step or it fails. Once your Android is unlocked, click continue, then look for a notification on your Android and select it.
Assuming the PIN matches what you see on your Ubuntu desktop, click Pair on your phone, then click Matches on Ubuntu.
Finally, just tick the box to use your phone as a gateway, and you’re nearly ready to try out your new connection.
If you forget to tick this box, it’s easily remedied. Just click on your Bluetooth icon again, choose Bluetooth settings… and then click on your phone. The tick should be obvious.
Now the foundation is in place, it’s time to make sure that Android is set to be a gateway.
Ensure Bluetooth tethering is active
As I mentioned in my previous article on Bluetooth tethering, Android’s security model is such that bluetooth tethering is disabled by default. So we need to turn this on.
On Android, go to Settings, choose More… then choose Tethering & Portable Hotspot. In there, you have tick Bluetooth tethering. If you don’t, the tether will (silently!) fail to work. Additionally, you’ll have to complete this step every time your phone reboots AND you’ll have to repeat this step any time your phone gets very low on charge, as it will turn the option off to conserve power.
One neat trick here is to add a shortcut to this setting screen to your Home screen. Just open your app drawer, click on WIDGETS, then find the Settings shortcut and drag it to your Home. When it asks what setting you want, choose Tethering & Portable Hotspot.
That’s it! Now all you have to do is tell your Ubuntu laptop to use the phone as it’s network connection.
Find your device in Network Manager
This is the easy bit. Now that you’ve paired a phone, enabled its gateway and told Ubuntu that it is a gateway, it simply shows up in your Network Manager as a wireless network! Here’s mine.
So all I have to do to connect to the internet through my phone, is to choose “AndreTheGiant Network” on my laptop. Your entry will reflect the name of your Android phone, of course.
Once you choose the connection, you’ll have a five or six second wait as the connection is established and you should have a notification on your Android saying Tethering or Hotspot Active.
To disconnect, just click on your Network Manager again and choose the Disconnect option. Simple as that.
Issues
On Ubuntu 13.04, you will sometimes see your connection disappear when you disconnect from a bluetooth tether. This makes starting it back up again impossible! You can’t click on what’s not there!
One workaround is to restart your laptop. But if you feel like something a bit geekier, there’s a quicker way. Simply press ALT-F2 to bring up a command bar. Then type killall nm-applet. That will stop the “failed” instance of your network manager. Now press ALT-F2 again, and type nm-applet. All done. You should see your bluetooth connection again.
Hopefully this bug will be fixed in time for the April 2014 release of Ubuntu, but if you want to track its updates, it’s listed here : https://bugs.launchpad.net/ubuntu/+source/network-manager-applet/+bug/1180368.
Summary
This was a long article because of the foundations you lay during pairing, and the screenshots I’ve included to make it as clear as possible. But in fact, using your phone in this way for Ubuntu is pretty straightforward, and once you’ve set it all up, repeat use is an absolute cinch. I hope you found the article useful. If you need more help, I suggest you start with http://askubuntu.com/, but if all else fails, you can always try to comment below.
Good luck!