Softpedia
 


LINUX CATEGORIES:



GLOBAL PAGES >>
NEWS ARCHIVE >>
SOFTPEDIA REVIEWS >>
MEET THE EDITORS >>
WEEK'S BEST
  • BackTrack 5 R2
  • Wine 1.4 / 1.5.5
  • Mozilla Firefox 12...
  • Ubuntu 11.04
  • Angry Birds 1.1.2.1
  • Ubuntu 10.04.4 LTS
  • Linux Kernel 3.4
  • Ubuntu Manual 10.10
  • Adobe Flash Player...
  • Pidgin 2.10.4
  • Home > Linux > System > Hardware

    iPhone USB Ethernet Driver 01-12-2009

    Download button

    No screenshots available
    Downloads: 985  View global page NEW!  Tell us about an update
    User Rating:
    Rated by:
    Fair (2.0/5)
    1 user(s)
    Developer:

    License / Price:

    Last Updated:

    Category:
    Diego Giagio | More programs
    GPL / FREE
    December 5th, 2010, 07:03 GMT [view history]
    ROOT / System / Hardware

     Read user reviews (0)  Refer to a friend  Subscribe

    iPhone USB Ethernet Driver description

    The iPhone Ethernet Kernel Driver

    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.

    Devices supported

    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.

    What you need

    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

    Package dependencies

    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.

    Step-by-step

    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.


    Product's homepage

    What's New in This Release: [ read full changelog ]

    · Added support for newer kernels (Ubuntu Karmic, Fedora 12, etc). Patches by Matthew Garrett

      


    TAGS:

    Ethernet driver | iPhone driver | kernel module | iPhone | USB | Ethernet



    HTML code for linking to this page:


    Go to top

    WindowsGamesDriversMacLinuxScriptsMobileHandheldNews

    SUBMIT PROGRAM   |   ADVERTISE   |   GET HELP   |   SEND US FEEDBACK   |   RSS FEEDS   |   UPDATE YOUR SOFTWARE   |   ROMANIAN FORUM