Nachdem die native Tetheringfunktion auf meinem iPhone Classic nun endlich aktiviert ist, will sie natürlich auch genutzt werden. Doch wie schaut es aus unter Linux, bzw. Ubuntu mit Gnome im Speziellen? Ich nehme das Ergebnis mal vorweg: perfekt!
Vorweg sei gesagt: Für das nachfolgende braucht man KEINEN Jailbreak! Bei mir war er nur nötig um die Tetheringoption freizuschalten. Für iPhone 3G und 3GS die Tethering aktiviert haben, geht es ohne!
Das iPhone kennt zwei Möglichkeiten des Tetherings: über das USB-Kabel und über Bluetooth. USB wäre die bessere Möglichkeit, da es definitiv akkuschonender ist, also dort mal zuerst geschaut. Ziemlich schnell war klar, das es relativ aussichtslos sein würde, da unter Windows und OSX ein neuer, proprietärer Netzwerkadapter angelegt wird und es dafür bislang keine Treiber gibt um ihn auch unter Linux zu benutzen. Bleibt also noch Bluetooth.
Update 1 (ungetestet):
Ich bekam gerade folgenden link zugeschickt: iPhoneEthernetDriver Damit soll auch das USB-Tethering möglich sein, durch ein neues Kernel Modul.
Update 2 (getestet):
Der obige Link funktioniert! Damit hat man dann auch USB-Tethering
Dennoch finde ich Bluetooth (vorausgesetzt, es geht nicht um jede Minute Akkuleistung) irgenwie charmanter, so ganz ohne Kabel… (Danke Michi!)
Über Bluetooth wird ein Personal Area Network aufgebaut (PAN). Dies ist ein standardisiertes Verfahren und sollte daher ohne Probleme funktionieren.
Es gibt zwei Wege, die Bluetooth-PAN Verbindung zu nutzen: mit dem NetworkManager oder ohne NetworkManager. Bei beiden Methoden muss das iPhone mit dem PC gepaired sein, wovon ich im Folgenden einfach ausgehe (Bei Problemen: Bluetooth im ubuntuusers.de Wiki). Wer den NetworkManager nutzt, kann gleich zu Methode 2 gehen.
Methode 1: Ohne NetworkManager
Dafür muss die Bluetoothverbindung und das PAN manuell erstellt werden. Zuerst muss die Hardwareadresse des iPhone rausgefunden werden:
hcitool scan
Oder man schaut unter Einstellungen -> Allgemein -> Info am iPhone.
Nun baut man zuerst das PAN auf (statt 00:00… seine eigene Adresse einsetzen):
pand -c 00:00:00:00:00:00 -n
Danach das neue erstellte Interface hochfahren:
ifconfig bnep0 upUnd sich per DHCP eine IP-Adresse vom iPhone holen:
dhclient bnep0
Dies kann man sich auch zukünftig ersparen, in dem man folgende Zeile in die /etc/network/interfaces einträgt:
iface bnep0 inet dhcp
Nun sollte man über das iPhone online sein! Um die Verbindung wieder abzubauen, einfach folgendes eingeben:
ifconfig bnep0 down pand -K
Das ganze geht auch etwas komfortabler mit einem Script (bei mir unter /usr/local/bin/tether):
#!/bin/sh pand='/usr/bin/pand' ifup='/sbin/ifup' ifdown='/sbin/ifdown' phone_address='00:1C:B3:56:34:C6' case "$1" in start) echo "Connecting to iPhone : " $pand --connect $phone_address -n sleep 2 $ifup bnep0 echo "done." ;; stop) echo "Disconnecting from iPhone : " $ifdown bnep0 sleep 2 $pand -K echo "done." ;; *) echo "Usage: tether { start | stop }" exit 1 ;; esac exit 0
Methode 2: Mit NetworkManager
Wenn man den NetworkManager benutzt, was man per default macht wenn man ein aktuelles Ubuntu einsetzt, dann kommt man mit der obigen Methode nicht weit, da viele Programme, darunter auch der Firefox, darauf warten, dass der NetworkManager das “online” Signal gibt. Da er allerdings vom Konsolengetippe nichts mitbekommt, ist man noch “offline”.
Leider klappt es nicht von Haus aus mit dem Gnome Bluetooth Manager. Es gibt allerdings einen, in meinen Augen wesentlich besseren Ersatz für diesen: Blueman
In Karmic ist er erfreulicherweise in den offiziellen Paketquellen enthalten, leider aber sehr veraltet. Um das Tethering benutzen zu können benötigt man eine aktuelle Version aus ppa:blueman/ppa
Nach einem beherzten apt-get update und apt-get install blueman wird der alte Gnome Bluetoothmanager gelöscht und durch Blueman ersetzt.
Nun kann man das iPhone als neues Gerät einrichten. Nachdem man dies getan und dem iPhone in Blueman vertraut hat, kann man mittels Rechtsklick auf das Gerät in der Geräteliste das Tethering mit Aktivierung des Network Acces Points starten. Der Rest sollte automatisch geschen: Es wird eine neue Verbindung im NetworkManager angelegt und aktiviert, es wird sich per DHCP eine Adresse geholt und die Routen werden gesetzt; man ist online, technisch und, was viel wichtiger ist, auch aus Sicht des networkManagers.
Das einzige was nun zukünftig getan werden muss, um eine Verbindung aufzubauen ist in meinem Falle ein Rechtsklick auf das Blueman Trayicon -> Letzte Verbindungen -> Netzwerkzugriff auf Jan’s iPhone
Natürlich sind nicht alle Sachen von mir herausgefunden worden. Leider ist mir der Firefox abgestürzt und die Tabs sind weg. Daher kann ich keine Quellenangaben der (meist englischen) Seiten geben. Daher geht mein Dank an das große, weite, allwissende Internet im Allgemeinen! Ich hoffe auf euer Verständniss.
16 Kommentare zum Artikel
Marc
8.1.2010 um 15:25Wäre nicht vielleicht ein beherztes
apt-get updateausreichend? Also ohne das “install” mittendrin?!Jan
8.1.2010 um 15:26besser is’ das!
korrigiert, danke!
DarwinOS
8.1.2010 um 15:45Ich glaub du hast dich entweder nicht genug informiert, oder einfach falsch informiert! der USB-Tether hat nichts mit proprietärer Verfahren zu tun.
“aber ist natürlich einfach alles auf Bösen Unternehmen zu werfen
Jan
8.1.2010 um 15:58Ok, ich gebe dir in Teilen recht. Man kann die USB-Verbindung nutzen, aber nicht in dem Sinne, wie es für das Tethering benötigt wird. Ich habe lange Zeit die Internetverbindung über das USB-Kabel genutzt. (siehe die iPhone-Übersichtsseite).
Ich lasse mich allerdings gerne eines besseren belehren, und mich davon überzeugen, dass das im iPhone OS eingebaute Tethering über USB unter Linux funktioniert.
Und nein, ich finde nicht das Apple böse ist
Jan
8.1.2010 um 16:04ok, just in dem Moment, als ich deinen Kommentar beantwortet habe, bekam ich über Twitter einen Link zum USB-Kernelmodul. Siehe oben. Muss ich mal testen
Harper04
8.1.2010 um 16:30Schau dir doch mal PdaNet aus dem Cydia Store an,
(Vorrausgesetzt du kaufst die Pro Version)
damit kannst du ein quasi Wlan AP einrichten der als Router für UMTS dient, ganz ohne irgendwelche Beschränkungen
DarwinOS
8.1.2010 um 17:11Sorry, ich habe vergessen es zu verlinken! bei mir funktioniert es sehr gut unter BSD
http://www.cs.toronto.edu
Forum: Tether uber USB – Linux
DarwinOS
8.1.2010 um 17:12http://www.cs.toronto.edu/~jing
http://forums.whirlpool.net.au/forum-replies-archive.cfm/1140635.html
Jan
8.1.2010 um 17:55USB-Tethering funktioniert, siehe Update oben!
mreczio
8.1.2010 um 17:57Habe echt bei der Überschrift überlegen müssen was Tethering bedeutet. Schreibt man heute nicht mehr: Native iPhone Anbindung an Linux? ist das uncool?
Jan
8.1.2010 um 18:02Nein ist es nicht
, aber “Tethering” oder evtl besser “Internet-Tethering” ist ein fester Begriff beim iPhone und auch bei T-Mobile, wo man zum Beispiel die “Tethering-Option” zubuchen kann. Auf dem iPhone Display steht auch “Internet-Tethering”
Aber ansonsten gebe ich dir in großen Teilen Recht, was unsere verdenglischung angeht…
Jan
8.1.2010 um 18:50@DarwinOS jo, die Seite kenne ich, schau mal hier: http://www.virtualpixel.de/?p=924 ist ja aber nun überflüssig
McDope
8.1.2010 um 21:25@Jan: Ich muss dich korrigieren, arbeite im Kundendienst bei T-Mobile und die Option heißt anders, das Tethering hat sich halt nur im Gebrauch durchgesetzt.
Offizieller/Vermarkteter Name der Option ist “Modem Nutzung” und “Modem Nutzung S”. In der Software heißt es aber auch wieder anders, der übliche Magenta-Wahnsinn
Jan
8.1.2010 um 21:29@McDope Hmm.. ich gebe mich geschlagen! Aber in der Regel weiß jeder was gemeint ist, wenn es um “Tethering” geht. Aber danke für die Klarstellung.
Btw.: gut jemanden bei T-Mobile zu kennen
Eshat
29.5.2010 um 17:08Eben eher zufällig beim Kompilieren eines 2.6.34er Kernels folgendes gesehen:
Apple iPhone USB Ethernet driverzu finden unter:
Device Drivers -> Network device support -> USB Network AdaptersSchnell als Modul kompiliert, das Programm ipheth-utils installiert, kernel installiert, neustart, iphone angeschlossen,
dhclient eth1und schon läuft das Tethering über USB.Ein Speedstest (iPhone über W-LAN an 6000er Leitung) ergab 400/40 kByte Down- und Upload, was sicher besser als bei einer Bluetooth Verbindung ist.
Eshat
29.5.2010 um 17:14Ach wie ich gerade sehe brauch man nicht mal einen Kernel selber zu kompilieren.
Kann das jemand testen?
Trackbacks: