Linux – iPhone tethering via USB

Das iPhone kann auch unter Linux per USB für tethering verwendet werden. Obwohl das dafür benötigte Kernelmodul ab 2.6.34 direkt erstellt werden kann, bevorzuge ich das Erstellen aus den Quellen. Dies hat zwei Gründe; erstens funkionierte das Modul aus den Kernelsourcen bei mir nicht richtig und zweitens bringen die Originalsourcen noch ein benötigtes Tool (ipheth-pair) und die passende udev-Regel mit.

Unter Gentoo werden zunächst folgende Pakete installiert:
app-pda/libplist-1.3
app-pda/usbmuxd-1.0.4
app-pda/libiphone-1.0.2

Anschließend erfolgt der Download der Sourcen von
http://giagio.com/wiki/moin.cgi/iPhoneEthernetDriver.
Auch die Übersetzung erfolgt nach der dortigen Anleitung.

Nach dem Verbinden des iPhone über USB mit dem PC sollte das Modul ipheth
geladen sein. dmesg sollte ein Ausgabe wie diese erzeugen:

ipheth 1-1.2:4.2: usb_probe_interface
ipheth 1-1.2:4.2: usb_probe_interface - got id
ipheth 1-1.2:4.2: Apple iPhone USB Ethernet device attached
usbcore: registered new interface driver ipheth

Es gibt nun ein neues Netzwerk-Device eth1; Hochfahren von eth1 und per dhcp-Adresse beziehen:

knecht ~ # ifconfig eth1 up && dhcpcd eth1

eth1: dhcpcd 4.0.15 starting
eth1: broadcasting for a lease
eth1: offered 172.10.20.2 from 172.10.20.1 `iPhone’
eth1: acknowledged 172.10.20.2 from 172.10.20.1 `iPhone’
eth1: checking 172.10.20.2 is available on attached networks
eth1: leased 172.10.20.2 for 3564 seconds

Per dhcp werden IP-Adresse, default-Gateway und Nameserver gesetzt.

Sollte in der Ausgabe von dmesg ein Problem wie unten stehend erkennbar sein, hilft ein Update der libusb auf dev-libs/libusb-1.0.8.

usbmuxd[12055]: segfault at 312e3221 ip b76ea10d sp bf9a2310 error 4 in libpthread-2.11.2.so[b76e2000+15000]

Bisher getestet mit:
– iPhone 3G, iOS 4.1

Achtung: iOS 4.2.1 bietet beim iPhone 3G kein Tethering mehr!

 

Diesen Artikel drucken Diesen Artikel drucken

Die Kommentarfunktion ist geschlossen.