HOW TO: Tether the iPhone to your Linux PC

It’s always handy having a phone that can be set up as a modem to the internet especially if you’re travelling with a notebook or netbook and don’t always have proximity to an accessible wireless network. And for iPhone users while setting up tethering in Windows is quite straightforward
it hasn’t always been easy under Linux.

Once upon a time setting up Linux to use the tethering feature required substantial legwork including compiling libraries kernel modules and invoking mysterious rites to the gods of geekdom.

But then comes progress. Now you can set up your Ubuntu to access the internet via an iPhone with a minimum of fuss and you have the choice of USB or Bluetooth connectivity. Both methods require different packages but involve little more than adding some specialist repositories and installing the required software.

First of course make sure tethering is turned on in your iPhone under Settings > General > Network > Tethering.

To set up tethering via USB open up a terminal (Applications > Accessories > Terminal) and run:

sudo -s

add-apt-repository ppa:pmcenery/ppa

apt-get update

apt-get install gvfs ipheth-utils

The magic package here of course is ‘ipheth-utils‘ which pulls in required packages like libmobiledevice and the iPhone ethernet driver. These used to be the packages you had to compile manually but the above PPA (Personal Package Archive) from Paul McEnery provides pre-compiled packages for you.

From here activating tethering is as simple as plugging your iPhone in – you will see network manager report a new connection has been made but you can also verify this from the terminal: you should see ‘ipheth’ loaded if you run ‘lsmod’ and the system message log (run ‘dmesg’) will tell you that the ‘Apple iPhone USB Ethernet device’ is attached. Your iPhone will also display a blue bar and indicate tethering is now in use.

If you’re already connected via wired or wireless and want to use the tethered link right-click on the network icon in the taskbar. You should see ‘Apple iPhone’ now available as a new network. First disconnect from your current network and then re-enable the iPhone ethernet device.

For Bluetooth connections you need to use the latest version of the Bluetooth manager. This can be grabbed from the blueman repository like so:

sudo -s

add-apt-repository ppa:blueman/ppa

apt-get update

apt-get install blueman

You can find the Bluetooth manager under System > Preferences where you can search for the iPhone as a Bluetooth device (ensuring first Bluetooth is enabled on the iPhone). Once paired you can click on the iPhone within the manager and connect to it as a network access point.

Note that Ubuntu 10.04 Lucid Lynx comes with much improved Bluetooth support and the above steps may no longer be necessary – you should be able to setup internet tethering with the iPhone by simply pairing the phone and your PC and then telling Ubuntu to use your phone as a device for the internet without the need to install any packages. The instructions for USB connectivity will still apply however though with packages specific to Lucid Lynx – once Lucid is released and you’ve installed it the above instructions will automatically pull in the correct packages for from the PPA.