Immer und überall online sein, das ist mit Handy und Notebook kein Problem. Doch nicht jeder möchte im Zug sein Handy offen auf dem Tisch gegenüber dem Infrarot-Anschluss ablegen. Mit Bluetooth ist die Verbindung stabiler und das Handy vor Dieben sicher.
Internet von unterwegs ist ziemlich tückisch, wenn der Infrarot-Anschluss benutzt wird: Das Handy muss genau auf das Infrarot-Fenster des Notebooks ausgerichtet werden, darf nicht zu nah und nicht zu weit entfernt liegen, und bei starker Sonneneinstrahlung kann schon einmal die Verbindung abreißen. Auch ist der Infrarot-Anschluss bei vielen Notebooks auf der Rückseite angebracht – das Handy liegt also hinter dem Display außer Sicht, und vielleicht ist die Ursache des nächsten Verbindungsabbruchs einfach der Diebstahl des Geräts.
Bluetooth ist hier ein guter Ersatz der störanfälligen Infrarot-Verbindungen: Mit Reichweiten von mehreren Metern kann das Handy bequem im Koffer oder am Gürtel bleiben, wird also nicht so leicht gestohlen, und die Verbindung zwischen Notebook und Handy ist über kurze Distanzen sehr stabil. Vor Missbrauch der Bluetooth-Geräte soll das Pairing schützen, eine Authentifikation beim ersten Verbindungsaufbau – wie sicher dieses Verfahren wirklich ist, muss erst die Praxis zeigen, bei Infrarot gibt es allerdings gar keinen Schutz.
Bluetooth USB Dongles
Die Nachrüstung von Bluetooth ist bei Notebooks wie Desktops kein Problem, ein freier USB-Anschluss und ein so genannter Bluetooth Dongle reichen völlig aus. Für den Test verwendeten wir den Bluetooth USB Dongle BT-DG02 von Elito-Epox [1], er kostet etwa 40 bis 45 Euro. Linux unterstützt dieser Dongle und viele andere seit Kernel 2.4.20, als Referenz-Distribution kam daher das aktuelle SuSE Linux 8.2 Professional zum Einsatz. Bei anderen Distributionen muss entweder der BlueZ-Bluetooth-Stack mittels Patch [2] nachgezogen oder der Kernel entsprechend aktualisiert werden. Die BlueZ-Bibliotheken und -Tools [3] müssen dann ebenfalls von Hand übersetzt werden, eine Anleitung finden Sie unter [1] – das betrifft auch die Besitzer von SuSE Linux 8.2 Personal, hier fehlen die Bluetooth-Pakete der Professional-Version
Bei SuSE 8.2 Professional müssen Sie die Pakete bluez-libs, bluez-sdp, bluez-utils und bluez-pan nachinstallieren. Wenn Sie die grafische Oberfläche zur Pin-Eingabe benutzen wollen, benötigen Sie zudem noch python-gtk.
Kernel-Module laden
Zunächst muss das Kernel-Modul hci_usb für den Bluetooth Dongle geladen werden. Bei SuSE 8.2 funktionierte dies nicht über den Hotplug-Manager, deshalb lassen wir das Modul hci_usb immer dann laden, wenn auch der Bluetooth-Stack bluez geladen wird. Dies erledigt folgende Zeile in der Datei /etc/modules.conf:
post-install bluez modprobe hci_usb
Fügen Sie diese Zeile am besten unmittelbar hinter alias net-pf-31 bluez ein und laden Sie das Dongle-Modul einmal von Hand mittels modprobe hci_usb.
Geräte suchen
Als Anwendungsbeispiel zeigen wir die Einwahl über ein Nokia 6310i. Schalten Sie erst alle an das Handy gekoppelten Bluetooth-Geräte wie PDA oder auch Headset ab und dann das Handy auf sichtbar für andere Bluetooth-Geräte (Menü / 11 / 5 / 1 / 1). Nun geben Sie am Rechner folgenden Befehl ein:
# hcitool scan
Scanning …
00:60:57:3F:8A:E9 dg2fer
Die Ausgabe zeigt links die Hardware-Adresse des Telefons und rechts die Kennung, die Sie unter Name meines Telefons (Menü / 11 / 5 / 2) eingegeben haben. Die Hardware-Adresse benötigen wir nachfolgend, um das Telefon einzubinden. Sind noch andere Bluetooth-Geräte aktiv, kann die Liste mehrere Geräte umfassen. Wenn wir das Bluetooth-Headset HDW-2 von Nokia vor dem Scannen nicht abschalteten, bekamen wir n/a statt der Kennung des Telefons ausgegeben, das Headset selbst fanden wir nur, wenn das Handy abgeschaltet war, also keine Verbindung vom Headset zum Handy bestand.
Handy-Modem einbinden
Der nächste Schritt ist die Verknüpfung einer seriellen Schnittstelle mit dem Modem-Teil des Handys. Leider fehlt bei SuSE Linux 8.2 der passende Geräteeintrag in /dev, Sie müssen ihn bei der ersten Verwendung anlegen. Anschließend weisen Sie mittels rfcomm dem ersten seriellen Bluetooth-Gerät /dev/rfcomm0 die Hardware-Adresse des Handys zu:
mknod /dev/rfcomm0 c 216 0 rfcomm bind 0 00:60:57:3F:8A:E9 1
Pairing
Nun fehlt noch das so genannte Pairing, die Authentifikation beider Geräte. Das Pairing ist nur bei der ersten Benutzung nötig und gilt solange, bis Sie die Beglaubigung des Computers im Handy löschen (Menü / 11 / 4 / 1 / 2). Beim Pairing muss auf beiden Seiten die gleiche PIN eingegeben werden: Auf der Computer-Seite geschieht das entweder über eine Standard-PIN-Datei oder mittels grafischer PIN-Abfrage.
In der Standard-Konfiguration von SuSE Linux 8.2 wird die PIN-Datei /etc/bluetooth/pin verwendet. Nach der Installation ist dort BlueZ eingetragen, was ungültig ist – die Datei muss eine Zeile mit den Buchstaben PIN: gefolgt von einer mindestens vierstelligen Zahl enthalten:
PIN:123456
Die Groß-Kleinschreibung bei PIN: ist unbedingt zu beachten, Leerzeichen sind nicht erlaubt. Theoretisch sind auch PINs mit (nahezu) beliebiger Länge erlaubt – doch die meisten Bluetooth-Geräte spielen da nicht mit. In der Praxis hat sich eine sechsstellige PIN bewährt, da viele Geräte maximal acht Ziffern akzeptieren und mindestens vier verlangen.
Grafische PIN-Abfrage
Um die grafische Abfrage der PIN zu aktivieren, müssen Sie zunächst die Datei /etc/bluetooth/hcid.conf bearbeiten. Setzen Sie dort den Wert von security von auto auf user und speichern Sie die Datei. Anschließend öffnen Sie das Hilfsprogramm /bin/bluepin im Editor. Hier ein Auszug aus der Datei:
for i in range(1, len(arg)):
if arg[i][0] != '-' and i==1:
disp = arg[i]
elif arg[i] == "-auth":
auth = arg[i+1]
break
Die zweite Zeile des Auszugs, beginnend mit if, ist fehlerhaft. Richtig muss es heißen:
if i==1 and arg[i][0] == ':':
Haben Sie die Änderungen vorgenommen, speichern Sie die Datei. Als nächstes soll das Pairing ausgelöst werden, wozu Sie einfach einen Modem-Reset auslösen:
echo "atz" > /dev/rfcomm0
Auf dem Handy wird nun gefragt, ob mit BlueZ(0) verbunden werden soll – damit ist der Computer gemeint. Bestätigen Sie mit OK und geben Sie die PIN auf dem Handy ein. Für diese Prozedur haben Sie etwa zehn Sekunden, danach bricht das Pairing wegen Zeitüberschreitung ab – wiederholen Sie es einfach.
Nach Eingabe der PIN auf dem Handy öffnet sich auf der grafischen Konsole das Fenster von bluepin und fragt die PIN ab (Abbildung 1). Die Eingabe wird dabei nicht verdeckt. Bluepin lässt sich allerdings nicht benutzen, wenn niemand auf der grafischen Konsole eingeloggt ist.
Ist BlueZ(0) beglaubigt (der Name lässt sich in der Datei /etc/bluetooth/hcid.conf unter name ändern), wird die Verbindung automatisch wieder getrennt. In der Standard-Einstellung fragt das Handy für jede Verbindung nach einer Bestätigung, dies lässt sich im Bluetooth-Menü (Menü / 11 / 4 / 1 / 3 / 1) unterbinden – das erhöht zwar den Komfort, ist aber potentiell unsicherer, da sich der Rechner ungewollt einwählen könnte.
Einbindung als Modem
Jetzt kann das Bluetooth-Handy wie ein ganz normales Modem über YaST 2 eingerichtet werden; wer mag, kann sogar den symbolischen Link /dev/modem anpassen. Bei einem Neustart ist nur wichtig, dass der rfcomm-Aufruf von vorhin wiederholt wird. Deshalb ändern Sie erneut die Datei /etc/modules.conf und tragen den Aufruf als post-install für das Dongle-Modul ein:
alias net-pf-31 bluez post-install bluez modprobe hci_usb post-install hci_usb rfcomm bind 0 00:60:57:3F:8A:E9 1
Damit ist auch das Gerät /dev/rfcomm0 fest dem Nokia 6310i zugeordnet, egal, ob der Bluetooth Dongle beim Booten eingesteckt war oder erst später hinzugefügt wird. Selbstverständlich funktionieren Zugriffe auf /dev/rfcomm0 erst, wenn der Dongle angesteckt und das Handy auf Empfang sind – andernfalls meldet der Rechner /dev/rfcomm0: No route to host.
Bei der Einrichtung per Modem-Konfiguration in YaST 2 brauchen Sie lediglich als Modemgerät /dev/rfcomm0 angeben. Bei den Modem-Parametern sollten Sie Lautsprecher an und Wahlton abwarten abschalten. In den Details können Sie dann spezielle Handy-Parameter etwa für HSCSD oder GPRS eintragen, für die einfache Verbindung reichen aber die voreingestellten Werte von YaST 2.
Infos
[1] Nils Faerber, Thomas Koch, Mirko Dölle: “Bluetooth unter Linux”, LinuxUser 05/2003, http://www.linux-user.de/ausgabe/2003/05/071-bluetooth
[2] Bluetooth-Kernel-Patches: http://www.holtmann.org/linux/kernel
[3] BlueZ Bluetooth Stack für Linux: http://bluez.sourceforge.net @KE:





