iPhone USB Ethernet Driver icon

iPhone USB Ethernet Driver For Linux

2.0/5 1
GPL    

The iPhone Ethernet Kernel Driver. #Ethernet driver  #IPhone driver  #Kernel module  #IPhone  #USB  #Ethernet  

Description

changelog

Free Download

iPhone USB Ethernet Driver is a Linux Kernel driver that adds support for iPhone tethering through USB cables. Unlike other solutions out there, you don't need to jailbreak your phone or install third-party proxy applications.

Attention: The ipheth kernel module has been accepted upstream as of Apr 21 2010 for kernel 2.6.34. The following instructions for compiling and installing this module are deprecated, unless you want to use the module on an older kernel. You still need the pairing program for the driver to work. You can also pair your device by using the libmobiledevice utilities.

The driver was tested with iPhone 3G and iPhone 3GS with firmware 3.0 or better. iPhone 2G with some patches is also expected to work.

You need both the kernel driver and an user-space program. The user-space program is necessary in order to do a handshake and pair the device with the computer, otherwise it won't respond to kernel driver requests and thus won't work.

I won't get into much detail here, but basically the pairing of the device can't be done at kernel level since it heavily makes use of XML (Apple PList's) and other certificates and crypto keys stuff.

You can pull the repository to your local machine by running:

git clone git://github.com/dgiagio/ipheth.git

To build the kernel driver you only need the kernel source of your distribution. The pairing program is written in C and makes use of libiphone libraries from iFuse Project. As of Jan/01/2010 only the git version of libiphone library is supported!. You can find it on this git repository.

Please note: I'm assuming the package dependencies outlined above were successfully installed.

* Retrieve the source:

diego@eeepc:~$ git clone git://github.com/dgiagio/ipheth.git Initialized empty Git repository in /home/diego/ipheth/.git/ remote: Counting objects: 10, done. remote: Compressing objects: 100% (9/9), done. remote: Total 10 (delta 0), reused 0 (delta 0) Receiving objects: 100% (10/10), 8.11 KiB, done. diego@eeepc:~$

* Compile and install the pairing program:

diego@eeepc:~$ cd ipheth/ipheth-pair diego@eeepc:~/ipheth/ipheth-pair$ make gcc -Wall -O2 ipheth-pair.c -o ipheth-pair -liphone diego@eeepc:~/ipheth/ipheth-pair$ sudo make install install -m 0755 ipheth-pair /lib/udev/ install -m 0644 90-iphone-tether.rules /etc/udev/rules.d /sbin/udevadm control --reload-rules diego@eeepc:~/ipheth/ipheth-pair$

* Compile the kernel driver:

diego@eeepc:~$ cd ipheth/ipheth-driver diego@eeepc:~/ipheth/ipheth-driver$ make make -C /lib/modules/2.6.28-15-generic/build M=/home/diego/ipheth/ipheth-driver modules make[1]: Entering directory `/usr/src/linux-headers-2.6.28-15-generic'  CC [M] /home/diego/ipheth/ipheth-driver/ipheth.o  Building modules, stage 2.  MODPOST 1 modules  CC /home/diego/ipheth/ipheth-driver/ipheth.mod.o  LD [M] /home/diego/ipheth/ipheth-driver/ipheth.ko make[1]: Leaving directory `/usr/src/linux-headers-2.6.28-15-generic' diego@eeepc:~/ipheth/ipheth-driver$

* Load the module:

diego@eeepc:~/ipheth/ipheth-driver$ sudo insmod ipheth.ko diego@eeepc:~/ipheth/ipheth-driver$

* Plug in your iPhone and check your dmesg for success:

diego@eeepc:~/ipheth/ipheth-driver$ dmesg ... lines stripped ... [ 8181.461000] ipheth 1-6:4.2: Apple iPhone USB Ethernet device attached [ 8181.463067] usbcore: registered new interface driver ipheth diego@eeepc:~/ipheth/ipheth-driver$

At this point you should have a new ethernet interface on your computer. Mine is eth1, but your mileage may vary.

Now you only need a DHCP client and you are all set. Most recent Linux distributions ships with NetworkManager, and it works great. If you don't use it, just dhclient ethX, where ethX is your interface.

What's new in iPhone USB Ethernet Driver 01-12-2009:

  • Added support for newer kernels (Ubuntu Karmic, Fedora 12, etc). Patches by Matthew Garrett
Read the full changelog
User Comments
This enables Disqus, Inc. to process some of your data. Disqus privacy policy

iPhone USB Ethernet Driver 01-12-2009

add to watchlist add to download basket send us an update REPORT
  runs on:
Linux
  main category:
System
  developer:
  visit homepage