Zur Zeit der Erstellung dieses Artikels war eine Aktion von Blau für mich der Grund, auf eine neue SIM-Karte umzusteigen.
Unter Ubuntu lässt sich mit ein wenig Bastelarbeit auch über Bluetooth eine Verbindung über ein Handy und GRPS/EDGE/UMTS ins Internet herstellen.
Bevor ein Endgerät über das Handy ins Internet geht, muss das Handy selbst über eine Internet-Verbindung verfügen. Blau bietet im Portal Mein Blau.de einen Dienst an, der die Konfigurationseinstellungen per SMS versendet, an. Es werden folgende Konfigurationen benötigt
Ersteres ist dringend notwendig, letzteres muss bei einigen Modellen auch hinzugefügt werden, um einen reibungslosen Betrieb zu gewährleisten.
Einfach auf http://www.blau.de einloggen und dort im Menü Mein Blau.de die Konfigurationen per Mausklick zusenden lassen. Dieser Vorgang sollte höchstens ein paar Minuten dauern.
Wenn das Handy über eine GRPS/UMTS Handyverbindung verfügt, kann fortgefahren werden.
Installiert werden müssen unter Ubuntu die Pakete
Ersteres sollte bereits installiert sein, zumindest unter Intrepid Ibex.
$ sudo apt-get install wvdial gnome-ppp
Hier wird als Verbindungsmedium Bluetooth verwendet - Voraussetung ist natürlich, dass ein USB-Dongle angeschlossen ist und vom Betriebssystem verwendet werden kann.
Zuerst muss im Handy Bluetooth aktiviert und als sichtbar markiert werden. Sicherheitshalber sollte man diese Sichtbarkeit nur für kurze Zeit aktivieren. Die meisten Handys bieten eine Funktion an, die die Sichtbarkeit nach 1 oder 2 Minuten wieder aufheben.
Ist Bluetooth aktiviert, geben wir inzwischen ein
$ hcitool scan
In der Ausgabe sollte die MAC-Adresse des Handys sowie dessen Name angezeigt werden.
Scanning ... FU:FU:OM:GW:TF:FU Christian-Handy
Die Hardware-Adresse ist natürlich eine andere. Benötigt wird noch der Bluetooth-Kanal für die Internet-Verbindung, diese Information liefert uns der Befehl
$ sdptool search DUN
in Form einer schicken und langen Ausgabe, interessant ist hier die Zeile
Channel: 1337
Diesen Kanal merken - oder besser - notieren wir uns.
Eine Verbindung mit dem Handy kann der Rechner nun folgendermaßen herstellen:
$ sudo rfcomm bind rfcomm0 FU:FU:OM:GW:TF:FU 1337
Natürlich müssen hier noch die eigene Hardware-Adresse und der Bluetooth-Kanal eingesetzt werden. Die Verbindung wird in der Regel mit einem PIN gesichert - hier wird eine zufällige Zahl, die wir uns aber merken müssen, bei Handy und Computer eingegeben, wenn es sich um den ersten Verbindungsaufbau handelt.
Wichtig ist auch, dass noch keine eigentliche Bluetooth-Verbindung aufgebaut wurde, lediglich das „Pairing“ wurde durchgeführt, bei Bedarf (zum Beispiel beim Einwählen in das Internet), also dann, wenn Informationen zwischen Handy und Computer ausgetauscht werden, wird dann eine Bluetooth-Verbindung aufgebaut - man kann allerdings auch sofort eine Bluetooth-Verbindiung aufbauen. Hierzu muss lediglich das bind im rfcomm-Befehl durch ein connect ersetzt werden.
Dieser Vorgang müsste jetzt nach jedem Reboot/Bluetooth-Verbindungsabbruch wiederholt werden. Abhilfe schaffen einige Zeilen in der /etc/bluetooth/rfcomm.conf
rfcomm0 { # Automatically bind the device at startup bind yes; # Bluetooth address of the device device FU:FU:OM:GW:TF:FU; # RFCOMM channel for the connection channel 1337; # Description of the connection comment "Christian-Handy"; }
Gnome-PPP ist ein erstklassiges Programm für Einwählverbindungen, da es neben der Zeit auch einige wichtige Details, wie z.B. den aktuellen Datendurchsatz und die übertragenen Datenmengen (enorm wichtig, wenn man über keine Flatrate verfügt!) anzeigt. Ferner lässt es sich für viele Verbindungstypen (Modem,ISDN,GPRS,UMTS über USB,PCI,…) anpassen und überzeugt mit seiner minimalistischen Oberfläche.
Aufgerufen wird es mit dem Kommando
$ gnome-ppp
In der grafischen Oberfläche werden die Einstellungen übernommen - man kann allerdings auch manuell eine Konfigurationsdatei mit dem Namen .wvdial.conf im Home-Ordner anlegen (schnellere Lösung, meiner Meinung nach):
[Dialer Defaults] Modem = /dev/rfcomm0 ISDN = off Modem Type = USB Modem Baud = 460800 Init = ATZ Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 Init3 = AT+CGDCONT=1,"IP","internet.eplus.de","",0,0 Phone = *99# Dial Prefix = Dial Attempts = 1 Dial Command = ATM1L3DT Ask Password = off Password = gprs Username = eplus Auto Reconnect = off Abort on Busy = off Carrier Check = on Check Def Route = on Abort on No Dialtone = on Stupid Mode = on Idle Seconds = 0 Auto DNS = on
Im Wiki der Ubuntuusers gibt es einige zusätzliche Konfigurationsdateien für diverse Anbieter. Ein Besuch dort lohnt sich.
In der Regel kann nur root eine Verbindung mit Gnome-PPP aufbauen, Abhilfe schaffen folgende Kommandos
chmod 777 /etc/ppp/chap-secrets chmod 777 /etc/ppp/pap-secrets chmod 777 /usr/sbin/pppd chmod u+s /usr/sbin/pppd chmod u+s /usr/bin/wvdial
Teilt man sich den Rechner mit mehreren Benutzern ist davon aber abzuraten!
Gnome-PPP sollte nun in der Lage sein, eine Verbindung herzustellen.
Da ich ein fauler Mensch bin, habe ich mir ein kleines Init-Skript geschrieben, das mir die Befehle abnimmt und die Verbindung für mich herstellt und wieder trennt. Es muss unter /etc/init.d/gprs gespeichert werden
#!/bin/sh . /lib/lsb/init-functions rfdev="rfcomm0" bladdr="FU:FU:OM:GW:TF:FU" blchan="1337" case "$1" in start) gprs stop log_begin_msg "Binding bluetooth device..." rfcomm bind $rfdev $bladdr $blchan gnome-ppp & log_end_msg 0 ;; stop) log_begin_msg "Unbinding bluetooth device..." rfcomm unbind $rfdev $bladdr $blchan log_begin_msg "Killing any wvdial/ppp-Processes..." killall wvdial killall gnome-ppp log_end_msg 0 ;; *) echo "Usage: /etc/init.d/gprs {start|stop}" exit 1 ;; esac exit 0
Die Variablen bladdr (Bluetooth-Adresse) und blchan (Bluetooth-Kanal) müssen logischerweise an die eigenen Gegebenheiten angepasst werden, danach muss das Skript ausführbar gemacht werden und kann danach verwendet werden:
$ sudo /etc/init.d/gprs start $ sudo /etc/init.d/gprs stop
Ist zwar keine Musterlösung, da zwingend ein X-System benötigt wird, hier arbeite ich noch an einer besseren Lösung!