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. sk says:

    i have iphone 4.0 software installed and xubuntu 9.10 and I’m not getting any love. Everything seemed to download and install without a problem but when I switch Internet Tethering on it’s not coming up as a new network connection nor is the blue bar on the iphone coming up. if you have any advice on this that would be off the chain!


  2. Sergey Stadnik says:

    Double check that it is not something simple and stupid like Internet Thethering is off on iPhone.

  3. sk says:

    cheers for you reply sergey, tethering is definitely on. I’ll try the whole process from the beginning again and see if I can get it working this time. cheers

  4. JB says:

    I have the same problem, Everything went fine to install but after nothing happens and i checked the internet thethering and its on.

  5. unixbigot says:

    Thank you! Both bluetooth and USB work fine for me on Ubuntu 10.10 (Meerkat). No PPAs required as all the packages are now in the distro.

    Is there any way to turn off the USB tethering when I’m done with it, having my phone sitting in its dock flashing a blue bar at me all day could get distracting.

  6. Simon says:

    Finally got it working!!!
    My problem was, that it just didn’t connect to the Internet although I did everything as described in the tutorial.
    I edited /etc/network/interfaces and added these two lines (without quotes):
    “auto wwan0
    iface wwan0 inet dhcp”
    After that I just ran the following command in the terminal:
    “sudo ifup wwan0” and it worked.. I don’t know why it didn’t do that on it’s own, but now I got it working.
    You can shut the connection down using “sudo ifdown wwan0”
    That shuts down the connection but the iPhone still displays that it is tethering the connection… Anybody know a fix for that??

  7. Georgio says:

    It might be worth adding that the Ubuntu (or similar) firewall should be enabled, as you’re directly connecting your Ubuntu box to the internet – as opposed to running behind a NATing router, which is the normal situation for most people. “sudo ufw enable” is the command to run if I remember correctly.

    Cheers! And thanks for the article

  8. Jesse says:

    Hello, i am using an ipod touch 4g on iso 4.2.1 and it is jail broken… i downloaded an app called “mywi 4” witch gives usb wifi tethering…. and once i plug in my ipod how do i connect it?? ubuntu 9.10 recognizes it as an digital camera…. do i have to update ubuntu?

  9. Hemanshu says:

    I am having problem with iphone 3G and ubuntu 10.10.
    Everything works nice, and my tethering works fine.
    But after some random time my iphone restarts.
    time is random, sometimes it works for an hour sometime for 10 mins and phone reboots.

    anyone else having the same problem?

  10. pter86 says:

    Hi guys I followed the tutorial and used simons comments to get things working before but after a fresh install of ubuntu im having trouble. iphone shows tethering but no network detected on laptop!

    any ideas?

  11. tasha says:

    Hai.. im using Iphone 4. before this my phone have ethernet button..and can connected to my pc..but after i use on my pc..the ethernet button have gone no where from my iphone.. & i try to connected to my pc at office but no ethernet button..

    please help me..what happen?

  12. Mark says:

    Hi, I am very new to this. I have installed as per the instructions above and although my iphone is now recognised, tethering does not work. There is a solution offered above, “I edited /etc/network/interfaces and added these two lines (without quotes):
    “auto wwan0
    iface wwan0 inet dhcp”
    After that I just ran the following command in the terminal:
    “sudo ifup wwan0? and it worked..”….. But I am so new I do not follow what needs to be done. Is there any chance someone can let me know in step by step stages (ie. click on this, where u see ‘x’ put that -I mean, I didnt know what a termional window was till yesterday!)
    Thx for your help 🙂 I will get there Im sure but Ive got a HUGE headache at the mo! 🙂

  13. Ruprecht says:

    Do you realy need restarting iface wwan0?
    Can you check using `ifconfig wwan0` if there is any IO address attached to this interface?
    If not, try just `sudo dhclient wwan0` if it helps you.
    I do not have usb cabel for my iphone3g now and i did not use internet tethering yet, but i will try it tommorow.

    Good luck! 😉

  14. Ruprecht says:

    If you are using Kubuntu, try ALT+F2, then write command: kdesu dhclient wwan0
    and push enter.
    kdesu will ask you for you password, type it and enter again.

    If you do not have Kubuntu, it meybe also work, but i am not sure, if gnome is using the key shortcut ALT+F2, but you can open application called Konsole (or maybe Console? 😀 )

  15. Ruprecht says:

    Hello all,
    i am connected via iPhone 3G now and it works fine.
    But i have some details for you:
    I have Kubuntu Maverick with default kernel 2.6.35-27-generic on my cheap notebook Asus K52F. I do not have bluetooth, so i have my iphone G connected via USB cabel.
    My 3G have Internet tethering enabled as default. After connection nothing happend and `dmesg` returns:
    [ 431.041262] usb 2-1.3: new high speed USB device using ehci_hcd and address 3
    [ 432.532426] ipheth: ipheth_get_macaddr: usb_control_msg: -110
    [ 432.532449] ipheth: probe of 2-1.3:4.2 failed with error -110
    [ 432.532497] usbcore: registered new interface driver ipheth

    After this i disable Internet tethering on my 3G and disconnect and reconnect it again.
    Then i enable Internet tethering and blue screen appears on 3G and Kubuntu have new network device named eth1 instead of wwan0.

    Thanx for this tutorial, maybe this information should be usefull for someone. 🙂

  16. vol4ikman says:

    It is not working on ubuntu 11.04!!!!

  17. Kartick says:

    My iPhone USB tethering was ok for ubuntu 10.10, but it is not working after upgrading to 11.04. iPhone shows it is connected but no Internet in my laptop

    Please help

  18. Paul McEnery says:

    There is a bug in ipheth driver supplied with 11.04. This has been fixed (we think) upstream by Ben Hutchings (https://lkml.org/lkml/2011/5/3/283).

    I’ve just applied this patch to the Github repository and built some new ipheth packages.

    Add my PPA repository:

    $ sudo apt-add-repository ppa:pmcenery/ppa

    $ sudo apt-get install ipheth-dkms

    This will replace the built-in kernel module – which – with some luck will actually work! I no longer own an iPhone, so I can’t test the fix either.

  19. vol4ikman says:

    after adding repository and updating:
    “Unable to locate package ipheth-dkms”

  20. Edman says:

    I have just spent two hours trying to tether my iphone via bluetooth and usb. Neither worked. Bluetooth is a known bug and USB stopped working in 11. something.

    Unable to locate package ipheth-dkms
    root@DELLD430:~# sudo apt-get install ipheth-dkms
    Reading package lists… Done
    Building dependency tree
    Reading state information… Done
    E: Unable to locate package ipheth-dkms

  21. Danger says:

    Karmic 9.10 won’t work because the kernel is too old. Doesn’t detect the iphone as a recognised device. Natty works though. When reconecting I have to remove and re-plug the USB once again (dunno why), but works well, no tricks.

  22. Robin says:

    Thanks Paul, the updated ipheth module works a treat 🙂

  23. bm says:

    Ubuntu 11.04 + iphone 3GS. Internet connection works fine on Bluetooth and USB but I’m not able to establish VPN connection (PPTP) to my office server. On wifi all works fine, on ubuntu 10.10 (netbook edition) VPN over iphone was working fine. Any idea? Thanks for help

  24. dunno says:

    Unable to mount dunno’s iphone

    DBus error org.freedesktop.DBus.Error.NoReply: Message did not receive a reply (timeout by message bus)

  25. Mugisha Leonard says:

    Thanks a lot…it has worked for me!

Leave a Reply

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