Soeben habe ich versucht, diverse Bluetooth-Geräte mit dem Bluetooth-Konfigurationswerkzeugen von Raspbian Jessie zu konfigurieren. Also Installation der Werkzeuge mit apt-get install bluetooth blueman
und sicherheitshalber ein Neustart. Danach erscheint im Panel des Raspbian-Desktops das Bluetooth-Icon, dessen Menüeinträge in den aus früheren Raspbian-Versionen bekannten Bluetooth-Manager führen.
Nicht geändert hat sich leider die miserable Qualität dieses Tools: Von meinen Testkandidaten (eine Maus, zwei Tastaturen, eine Lautsprecherbox) gelang nur bei der Maus und bei der Lautsprecherbox das Pairing. In allen anderen Fällen war es nicht möglich, die Geräte mit dem Raspberry Pi zu verbinden. Trostlos!
Wohl oder übel habe ich nun versucht, die Konfiguration auf Kommandoebene durchzuführen. Das von Raspbian Wheezy bekannte Werkzeug bluez-simple-agent
steht unter Jessie nicht mehr zur Verfügung. Eine gute Alternative ist das Kommando bluetoothctl
.
bluetoothctl-Kommando
Nach dem Start von bluetoothctl
gelangen Sie in einen Kommandomodus. Die weitere Vorgehensweise zur Verbindung eines Bluetooth-Geräts sieht so aus:
- Sie aktivieren mit
pairable on
den Kuppelungsmodus. - Sie aktivieren mit
scan on
den Scan-Modus. Das Programm listet nun alle erkannten Geräte in Funkreichweite auf. Dieser Vorgang kann geraume Zeit dauern, einzelne Geräte werden dabei immer wieder aufgelistet. Wenn Sie das gewünschte Gerät gefunden haben, schalten Sie den Modus mitscan off
einfach wieder aus. - Sie aktivieren mit
agent on
einen sogenannten Bluetooth-Agenten. Er kümmert sich um die Autorisierung neuer Geräte (bei Tastaturen: Passworteingabe). - Mit
pair xx:xx:xx
initiieren Sie den Verbindungsaufbau zu einem Gerät. Bei einer Tastatur werden Sie nun dazu aufgefordert, einen sechstelligen Code einzutippen. Vergessen Sie nicht, die Eingabe mit Return abzuschließen! Die erfolgreiche Kuppelung erkennen Sie an der Meldung pairing successful. - Und mit
trust xx:xx:xx
machen Sie dem Bluetooth-System klar, dass Sie dem Gerät wirklich vertrauen. - Mit
connect xx:xx:xx
geben Sie an, dass Sie das Gerät tatsächlich nutzen möchten. (Das hätte sichbluetoothctl
mittlerweile eigentlich denken können …) Wenn alles klappt, lautet die Reaktion connection successful. Das Gerät kann jetzt verwendet werden! info xx:xx:xx
zeigt den Verbindungsstatus und diverse weitere Informationen zum Gerät an.- Mit
exit
beenden Sie dasbluetoothctl
-Kommando.
Wichtig ist, dass Sie bei neu zu konfigurierenden Bluetooth-Geräten immer wieder auf den Bluetooth-Knopf (Pairing-Knopf) drücken, damit das Gerät so der Umwelt signalisiert, dass es bereits zum Verbindungsaufbau ist. Die meisten Geräte signalisieren diesen Zustand auch durch eine blinkende Leuchtdiode.
bluetoothctl-Beispiel
Die folgenden Zeilen zeigen (leicht gekürzt) die Ein- und Ausgaben, die in einem Terminal-Fenster erfolgen.
pi@pi2$ bluetoothctl
[NEW] Controller 00:1A:7D:DA:71:13 pi2 [default]
[NEW] Device 88:E7:A6:04:9E:A7 Bluetooth Laser Mouse
[NEW] Device 00:25:BC:FB:C1:E5 Michael Koflers Tastatur
[bluetooth]# agent on
Agent registered
[bluetooth]# pairable on
Changing pairable on succeeded
[bluetooth]# scan on
Discovery started
[CHG] Controller 00:1A:7D:DA:71:13 Discovering: yes
[NEW] Device 70:10:00:1A:92:20 70-10-00-1A-92-20
[NEW] Device 73:0C:0F:CF:F3:BE 73-0C-0F-CF-F3-BE
[CHG] Device 70:10:00:1A:92:20 LegacyPairing: no
[CHG] Device 70:10:00:1A:92:20 Name: Bluetooth 3.0 Keyboard
[CHG] Device 70:10:00:1A:92:20 Alias: Bluetooth 3.0 Keyboard
[CHG] Device 70:10:00:1A:92:20 LegacyPairing: yes
...
bluetooth]# scan off
Discovery stopped
[bluetooth]# pair 70:10:00:1A:92:20
Attempting to pair with 70:10:00:1A:92:20
[CHG] Device 70:10:00:1A:92:20 Connected: yes
[agent] PIN code: 963064
--> Pin-Eingabe + Return auf der Tastatur <--
[CHG] Device 70:10:00:1A:92:20 Paired: yes
Pairing successful
[bluetooth]# trust 70:10:00:1A:92:20
Changing 70:10:00:1A:92:20 trust succeeded
[CHG] Device 88:E7:A6:04:9E:A7 Connected: yes
[bluetooth]# connect 70:10:00:1A:92:20
Attempting to connect to 70:10:00:1A:92:20
Connection successful
[bluetooth]# info 70:10:00:1A:92:20
Device 70:10:00:1A:92:20
Name: Bluetooth 3.0 Keyboard
Alias: Bluetooth 3.0 Keyboard
Class: 0x000540
Icon: input-keyboard
Paired: yes
Trusted: yes
Blocked: no
Connected: yes
LegacyPairing: no
UUID: Service Discovery Serve.. (00001000-...)
UUID: Human Interface Device... (00001124-...)
UUID: PnP Information (00001200-...)
Modalias: usb:v04E8p7021d0001
[bluetooth]# exit
Test, Interna
Wenn soweit alles klappt, sollten Sie nun einen Neustart durchführen. Auf diese Weise stellen Sie sicher, dass die Konfiguration tatsächlich gespeichert wurde und nachhaltig funktioniert.
Die Bluetooth-Konfiguration für ein bestimmtes Gerät wird in /var/lib/bluetooth/id1/id2/info
gespeichert. Dabei ist id1
der ID-Code des Bluetooth-Controllers (beim Raspberry Pi also eines USB-Bluetooth-Steckers) und id2
der ID-Code des Bluetooth-Geräts.
sudo less /var/lib/bluetooth/controller-id/device-id/info
[LinkKey]
Key=44763CF7C981D575C28BC05C90184F00
Type=0
PINLength=0
[General]
Name=Bluetooth 3.0 Keyboard
Class=0x000540
SupportedTechnologies=BR/EDR;
Trusted=true
Blocked=false
Services=00001000-0000-1000-8000-00805f9b34fb;00001124-0000-1000-8000-00805f9b34fb;00001200-0000-1000-8000-00805f9b34fb;
[DeviceID]
Source=2
Vendor=1256
Product=28705
Version=1