Seitdem die Pakete "bluez-utils" und "bluez-libs" im neuen "net-wireless/bluez" vereinigt wurden, hatte ich lange Zeit Probleme, meine Bluetooth-Maus zu verbinden. Nach langer Suche im Netz habe ich endlich eine Lösung gefunden. Sie basiert im wesentlichen auf
dieser Beschreibung.
Vorab: Bei dieser Lösung ist es nicht notwendig, "net-wireless/bluez" mit dem USE-Flag "old-daemons" zu compilieren! Benötigt wird aber das USE-Flag "test-programs"! In den Beispielen wird vorausgesetzt, dass das Bluetooth-Gerät hci0 ist. Ob das der Fall ist, findet man mit folgendem Befehl heraus:
|
Quellcode
|
1
|
$ hcitool dev
|
1.) Bluetooth-Adresse des Gerätes herausfinden
Wenn die Adresse nicht auf dem Gerät steht (wie es z. B. bei meiner Bluetooth-Maus ist), erhält man sie durch folgende Eingabe auf der Konsole:
|
Quellcode
|
1
|
$ hcitool scan
|
Das Ergebnis sieht beispielsweise so aus:
|
Quellcode
|
1
2
3
|
$ hcitool scan
Scanning ...
00:07:61:A7:56:4B Bluetooth Laser Travel Mouse
|
Die Bluetooth-Adresse ist also in diesem Beispiel 00:07:61:A7:56:4B
Eventuell sind hier mehrere Versuche nötig. Ich musste auch den "connect"-Button der Maus drücken, also das Gerät "sichtbar" machen, damit es gefunden wurde.
2.) Gerät paaren
Hier werden die durch das USE-Flag "test-programs" installierten Programme benötigt.
|
Quellcode
|
1
|
$ simple-agent hci0 <Bluetooth-Adresse>
|
Dabei wird dann die korrekte PIN abgefragt, im Beispiel "0000". Das Ergebnis sieht in etwa so aus:
|
Quellcode
|
1
2
3
4
5
|
$ simple-agent hci0 00:07:61:A7:56:4B
RequestPinCode (/org/bluez/3070/hci0/dev_00_07_61_A7_56_4B)
Enter PIN Code: 0000
Release
New device (/org/bluez/3070/hci0/dev_00_07_61_A7_56_4B)
|
Den angegebenen Pfad sollte man sich merken! In diesem Beispiel "/org/bluez/3070/hci0/dev_00_07_61_A7_56_4B".
Das Pairing kann mit diesem Befehl wieder gelöst werden:
|
Quellcode
|
1
|
$ simple-agent hci0 <Bluetooth-Adresse> remove
|
Um den Pfad gepaarter Geräte später herauszufinden kann man folgendes eingeben:
|
Quellcode
|
1
|
$ bluez-test-device list
|
3.) Das Gerät als bekannt bzw. vertraut registrieren
|
Quellcode
|
1
|
$ bluez-test-device trusted <Bluetooth-Adresse> yes
|
Ob ein Gerät bereits vertraut ist erkennt man mit:
|
Quellcode
|
1
|
$ bluez-test-device trusted <Bluetooth-Adresse>
|
Das Ergebnis ist "1" für ja und "0" für nein.
4.) Jetzt noch mit dem Gerät verbinden
Dieser Befehl ist für jede Geräte-Familie unterschiedlich, z. B. für Eingabegeräte (wie z. B. Maus). Benötigt wird der vorher ermittelte Pfad!
|
Quellcode
|
1
|
$ dbus-send --system --dest=org.bluez --print-reply <Pfad> org.bluez.Input.Connect
|
That's it!
Auch nach längeren Ruhephasen oder einem Neustart ist meine Bluetooth-Maus immer sofort einsatzbereit!
Viel Spaß mit den Bluetooth-Geräten wünscht
Ignatz