iPhone Tethering on Ubuntu 9.10 (Karmic)

Sponsored Link
If you're like me you have an iPhone and a portable computer running Ubuntu and you would like to have mobile internet without paying for an extra data plan from your carrier. Thanks to a few devoted individuals tethering the iPhone to Ubuntu is simple. The only prerequisite is that you must have an iPhone 3G or 3GS running OS 3.0 or higher. If you're running 3.0 then you can do this without jail breaking your phone by installing a modified carrier profile. However, if you're on OS 3.1+ then you will need to jail break your phone to install the modified carrier profile.

This tutorial is written for those who are not familiar with Ubuntu/Linux and is very detailed. If you are experienced feel free to just grab what you need from it.

Update: I've updated the tutorial to fix some errors that came up due to a change in the libiphone package.

Update (1/27/10): I've updated the tutorial with a new PPA and set of packages needed for tethering via USB to work. This should iron out all other problems with the tutorial.

Tethering the iPhone via Bluetooth is as simple as pairing the two devices and ensuring that Internet Tethering is turned on on your iPhone. To pair the devices you will need to install a new Bluetooth manager aptly named "blueman" from the Blueman Project PPA repository. To do this you will need to execute the following commands in a new Terminal window:

sudo add-apt-repository ppa:blueman/ppa
sudo apt-get update

After it finishes updating your repositories you can install Blueman by executing

sudo apt-get install blueman

Once everything stops working and you're back at a blank command prompt you can then close Terminal and open the "Bluetooth Manager" which can be found in the "System>Preferences" menu. (Note: A reboot may be needed for it to open) To pair the devices you will need to turn on Bluetooh on your iPhone and computer. To turn it on on your iPhone open the Settings application from your springboard, when the settings screen appears press the "General" button near the bottom, from here press the "Bluetooth" button, and then press the switch to turn it on. Once on you should see a list of devices as well as a message near the bottom saying that it is "Now Discoverable". In the "Bluetooth Manager" program press the "search" button and the list should be populated with nearby discoverable Bluetooth devices. Locate your iPhone 3G(S) from the list, select it, and press the "Keys" (pair) button above it. At this time Bluetooth Manager will attempt to pair the two devices. On both the iPhone and your computer you should see a prompt asking you if you want to pair the two. Press "Pair" on your iPhone and "Yes" on your computer. Once paired, press the diamond on Bluetooth Manager to trust your iPhone.

Now that everything is set up, you can go back into the "General" tab on your iPhone's settings and select "Network"  near the bottom you should see "Internet Tethering" (if you don't then you need to install the proper carrier profile to enable it) press on it and turn it on. Lastly, go back to the Bluetooth Manager program on your computer, right click on your iPhone and select "Network Access Point" from the option "Connect to:" it will work and hopefully give you a "Connection Established" message. Your iPhone should now have a blue banner with "Internet Tethering" on it. If all went well, you should now be able to access the internet through your iPhone's data connection.

Thanks to Sergey Stadnik Bluetooth tethering on 10.4 (Lucid) now works. According to him: "... right-click on the Blueman icon, select Plugins. Enable NMPANSupport plugin, press Ok."

Tether via USB:

Tethering your iPhone via USB uses a iPhone Ethernet driver written by Diego Giagio. Paul McEnery has set up a PPA repository with the driver and it's dependencies so there is no longer the need to compile both ‘libiphone' and ‘ipheth'. The first step is to add the PPA repository to your Synaptic repositories. To do so, open a new Terminal window and execute the following command:

sudo add-apt-repository ppa:pmcenery/ppa
sudo apt-get update

Once it finishes updating you can continue by downloading and installing the driver and the needed dependency:

sudo apt-get install gvfs ipheth-utils

When it finishes plug in your iPhone via USB, if internet tethering is enabled you should see a new interface pop up and a blue banner on your iPhone along with a dialog on your computer notifying you about a new ethernet connect. If not, check to see if tethering is enabled by opening the Settings application on your iPhone and navigating to "General>Network", near the bottom you should see "Internet Tethering" (if you don't then you will need to download and install the proper carrier profile) press on it and turn it on. Open up a browser and enjoy your mobile internet.

Hopefully, you ran into no errors with this tutorial. If you did let me know, or let me know if you ran into any error with anything else pertaining to it.


You may also like...

175 Responses

  1. Kevin Huang says:

    After a restart of the iPhone, it works completely with Ubuntu 2.6.31-20 kernel!

  2. Andre says:


    i´ve followed your instruction for tethering via USB. I´m installed ipheth-utils and connected my iPhone 3GS 3.1.2. But nothing happens. 🙁 Tethering via Bluetooth works great (i´m using it posting this comment).
    What should i do, to get it working? I´m using Ubuntu 9.10 Network Remix.

    Plz help, Andre

  3. Andre says:

    ok, got it working installed/removed a lot of packages (mentioned here: http://fernmannblog.wordpress.com/2009/11/22/howto-iphone-os-3-x-gerate-unter-linux-mit-gtkpod-synchronisieren/) … now it works

    thx! Andre

  4. Scotty says:

    Awesome! Works well, now i am less reliant on Windows 7!

  5. Distempora says:

    Had both Bluetooth and USB tethering working fine in 9.10. Just upgraded to Ubuntu 10.4 beta (living dangerously) and the only thing I can’t get to work is the iPhone tethering. For USB, I get a message that the ipheth-utils can’t be found. The Bluetooth installation process seems to work perfectly–Blueman makes the connection and the iPhone has the blue banner telling me it’s in tethering mode, but the connection doesn’t appear in the Ubuntu list of available connections.

    I have no right to expect this to work in a beta OS, but just letting you know…

  6. Paul McEnery says:

    Just to let everyone know: I am working hard to get ipheth included in 10.04. It’s been uploaded into Debian today, but it will need to pass NEW before I can file an exception sync request. It’s very late in the beta stage, and I’m hoping that there is good enough reason for the exception to be approved. I’ll keep you all informed as things progress.


  7. Daniel says:

    Thanks mate!

    This was brilliant… works like a charm and was set up and running in no time.
    (Ubuntu 9.10 Netbook Remix on Acer Aspire ONE, iPhone 3GS)

  8. Simon says:

    I followed the guide with my 9.10 ubuntu, it all seems to be working, blueman says it is connected and the iphone has the tethering banner appear.

    But still no internet access on the PC.

    The only difference I can think of is that I am running ubuntu off a USB stick.

    Any advice?

  9. chris says:

    I am relitivly new to Ubuntu and running 9.10 remix on a samsung NC10 (netbook) which is shockingly successful, out of the box everything work’s (and well) in fact it I am so impressed I will not go back to windows and planning to remove windows from the machine that still has it as soon as I am confident with an alternative to Itunes.
    up until this point all was going fantastic ! then I introduced the apple Iphone into the equation and since then I have had nothing but difficulties. I have followed your instructions (to the letter).
    The iphone tethers'(the blue flag even identifies the data rates) the netbook connect’s in the bluetooth manager signal bars are present all looks “good to go” until I try to get an internet connection, fire fox is unable to find the server, so just to establish if it was fire fox I lauch Transmission the bit torrent client but this also is unable to connect to the internet.

    I wondered if I was missing something, as in have i not understood something

  10. Mandrew says:

    you dont need to do all that in Ubuntu 10.04 its just to connect it via Bluetooth but on USB i dont know cuz that i dont use

  11. Austin says:

    So you say that if it doesn’t work that I need to download my carrier profile. How do I do that? For AT&T? I have searched and I am not sure what to use. Please help!

  12. goran says:

    Got both working in 5mins on Ubuntu 9.10.

  13. HLSolbjorg says:

    I’ve got the same problem as Chris and Simon.

    All is working, except for the connection towards internet.

    Bluetooth-Manager shows me “Success!” and iPhone shows “Internet Tethering”
    What are we doing wrong?
    I’ve tried rebooting computer, no luck.
    Running Linux Mint 8 – Helena.

    Thanks for the guide!

  14. lprent says:

    Works great with the usb tether. Ubuntu 9.10 64bit

    Thanks, I’ve been looking for that for a while.

  15. viruscan says:

    I have a HP DV600 and works fine!! So Thanks share this info, was of really help for me…
    thanks again

  16. Mandrew says:

    I would not try to tether with usb cuz it drains your battery on your computer, cuz its charging your phone at the same time

  17. santhrax says:

    have tried this tutorial but on 10.04 it is not working via bluetooth, on iphone tethering banner is there but no success with internet connection

    usb: cant install ipheth-utils package not found

    any suggestions?

  18. Paul McEnery says:

    I’ve just added the lucid version of the package to the PPA. There has been some progress with upstream inclusion.

    1. ipheth has been accepted into the mainline Linux kernel.

    2. the details of where ipheth as a package will fit are being finalised. Its looking like libimobiledevice-utils is where the udev rules and pairing utility will live, and ipheth-* will be dropped altogether.

    Hopefully the above upload into the PPA will keep everyone going until everything has been finalised.

  19. Gary says:

    I had USB tethering working like a charm using this guide. Then I was playing around with my wifi and installed ‘linux-backports-modules-karmic’ and ‘kismet’ and now USB tethering is no longer working. I can tether with ad-hoc using MyWi, but my computer doesnt have bluetooth. I have uninstalled the backports package and kismet, but still no USB tethering back. Is there something that was installed or modified with those that I can change to get it back?

  20. LoneSt4r says:

    I just got it working with Lucid 10.04. The link between Blueman and the Network Manager applet does not seem to be carried out properly.

    There is currently two things missing:

    1- proper IP address on the bnep0 interface (fix by using “sudo ifconfig bnep0”.

    2- proper DNS servers in /etc/resolv.conf (fix by editing the file “sudo nano /etc/resolv.com” by adding, for instance, the Google DNS servers on two different lines “nameserver” and “nameserver”.

    You might have to restart your network after that.

    I also see that there is a PANU connection available in the Network Manager drop down menu, but I cannot activate it.

    Good luck!


  21. LoneSt4r says:

    BTW, I am running Lucid on a LiveUSB with persistence made with Multisystem.

  22. LoneSt4r says:

    Oh! One last thing: you also have to add the phone as the default gateway:

    “sudo route add default gw”

  23. To make bluetooth tethering work in Ubuntu 10.04 (Lucid Lynx), right-click on the Blueman icon, select Plugins. Enable NMPANSupport plugin, press Ok.
    Now everything should work.

  24. compostme says:

    thanks so much!

    it works like a charm 🙂 i’m connecting my old-ish desktop with just the USB cable. your instructions were really simple and non-geeky 😉

    THANK YOU!!!

  25. Mattia says:

    Thank you very much Sergey Stadnik for your comment that I quote …

    “To make bluetooth tethering work in Ubuntu 10.04 (Lucid Lynx), right-click on the Blueman icon, select Plugins. Enable NMPANSupport plugin, press Ok.”

    Now all is up and running posting this comment from my iphone 🙂

  26. Robert says:

    May be just a problem with mine, but I had a hard time just getting my iPhone paired.. kept failing.. After doing a Search in Bluetooth Manager, my iPhone would show up, then I would click pair.. my iPhone would come up with a message asking to verify the passcode and Pair.. then the message would also come up in Lucid.. but then it was just continue saying “pairing” until timing out.

    What I had to do was after clicking Pair on the iPhone and Ok in Lucid, I then had to quickly select my computer from the list of devices on my iPhone.. then Lucid came up with a dialogue box asking if it was ok to accept incoming connection from iPhone and to always accept (trust).. then and only then would the pairing complete.

  27. Mad Monkey says:

    Just did this and it didnt work, but i think that had more to do with my iphone then anything, restored the phone, and just for kicks reinstalled my ubuntu (easypeasy on Eee PC) and ran the above command – I would like to point out ive never used ubuntu before in my life..

    and well long story short It works like a champ!


  28. Kelvin Medina says:

    It worked for me out the box.

    iPhone 3GS 3.1.3
    Ubuntu Linux 10.04

  29. Warren says:

    @ Austin:

    In order to download and install a custom carrier file to your iPhone:

    1. Open Mobile Safari on your iPhone.
    2. Go to http://help.benm.at/
    3. Scroll down to the section labeled “Tethering” and select it.
    4. Select “U.S.A.” from the country listing.
    5. Choose “ATT”.
    6. Tap the “Download” button. You don’t have to install the webclip.
    7. Confirm that you want to install an unsigned profile.
    8. After installation, restart the iPhone.
    9. Open the “Settings” app.
    10. Tap “General”.
    11. Tap “Network”.
    12. Tap “Internet Tethering” and turn it on. iPhone will complain about bluetooth tether not being set up; you can ignore that and use USB only if that’s what you prefer to do.

    I can confirm the methods posted here work; I’m using my 3GS (iPhone OS v. 3.1.3, jailbroken by http://spiritjb.com) on 9.10 to type this. 🙂

    USB tether.

  30. Ronaldinho says:

    Perfect with USB on the 10.04, but with bluetooth the conection stay down every time. 🙁

Leave a Reply

Your email address will not be published. Required fields are marked *