Bluetooth

Aus LÖLUG

Wechseln zu: Navigation, Suche

Einrichtung eines Bluetooth-Devices unter Linux.

Die Bluetooth-Geräte, egal ob im Notebook fest eingebaut oder als Dongle sind üblicherweise USB-Geräte.

Inhaltsverzeichnis

[bearbeiten] Kernel

Der HCI-Treiber stellt die USB-Schnittstelle zum Bluetooth-Dongle her:

 Networking -->
  <M> Bluetooth subsystem support -->
    <M> L2CAP protocol support
    <M> RFCOMM protocol support
    [*]   RFCOMM TTY support
        Bluetooth device drivers --->
          <M> HCI USB driver

RFCOMM kann verwendet werden um das Bluetooth-Gerät als serielle Schnittstelle zu benutzen, zB. als Modem. Das ist sinnvoll wenn man zB. sein Mobiltelefon als Modem für das Notebook verwenden möchte.

[bearbeiten] System-Dienst

Im System muss ein Dienst laufen, welcher die Verbindungen überwacht, die korrekten Schlüssel etc. automatisch einstellt.

Durch die Installation des Pakets bluez-utils bekommt man die benötigte Software sowie ein Init-Skript und einige Konfigurationsdateien.

Nachdem das Bluetooth-Gerät angeschlossen wurde, kann man den Dienst starten:

/etc/init.d/bluetooth start

Die Ausgabe von dmesg sollte ungefähr so aussehen:

Bluetooth: Core ver 2.11
NET: Registered protocol family 31
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
Bluetooth: HCI USB driver ver 2.9
usbcore: registered new interface driver hci_usb
Bluetooth: L2CAP ver 2.8
Bluetooth: L2CAP socket layer initialized
Bluetooth: RFCOMM socket layer initialized
Bluetooth: RFCOMM TTY layer initialized
Bluetooth: RFCOMM ver 1.8

[bearbeiten] Manuelle Konfiguration des Geräts

Die Bluetooth-Schnittstelle lässt sich wie ein Netzwerkgerät bedienen. Genauso wie für WLAN gibt es auch hier spezielle Tools:

-:[~]#> hciconfig
hci0:   Type: USB
        BD Address: 00:15:83:B3:FD:74 ACL MTU: 384:8 SCO MTU: 64:8
        UP RUNNING PSCAN ISCAN
        RX bytes:393 acl:0 sco:0 events:18 errors:0
        TX bytes:322 acl:0 sco:0 commands:18 errors:0

[bearbeiten] Schnittstelle ein- / ausschalten

hciconfig hci0 up
hciconfig hci0 down

Anstelle von UP RUNNING PSCAN ISCAN meldet hciconfig dann DOWN.

[bearbeiten] Bluetooth-Geräte suchen

Alle bekannten Geräte anzeigen:

hciconfig dev

Nach neuen Geräten suchen:

hciconfig inq
hciconfig scan

[bearbeiten] PIN-Authentifizierung

Bei gesicherten Bluetooth-Geräten (empfohlen) müssen PINs ausgetauscht werden, dh. numerische Passwörter welche bei beiden Endgeräten - PC und Bluetooth-Partnergerät - eingegeben werden müssen. Standardmässig versucht sich der Bluetoothdienst mit automatisch erzeugten PINs anzumelden, wenn das aufgrund der Sicherheitseinstellungen nicht klappt, dann muss der Benutzer um die PIN-Eingabe gefragt werden.

Dazu gibt es verschiedene PIN-Helper. Es empfiehlt sich bluez-pin anstelle des alten bluepin zu verwenden. Beides sind Kommandozeilentools.

Unter KDE sollte auf kbluepin zurückgegriffen werden.

[bearbeiten] Konfiguration: /etc/bluetooth/hcid.conf

Hier nur die wichtigsten Einstellungen die ggf. geändert werden sollen.

Wichtig kann uU. das Abschalten des DBus-Pinhelpers sein, da wenn dieser nicht vorhanden ist keine PIN-Abfrage erfolgt.

Variante 1
Bei jeder Verbindung den Benutzer nach einer PIN fragen:

In diesem Beispiel wird beim Verbindungsaufbau der PIN-Helper unter /usr/lib64/kdebluetooth/kbluepin aufgerufen. Dieses Programm muss natürlich existieren!

options {
...
        security user;
        pairing multi;
        pin_helper /usr/lib64/kdebluetooth/kbluepin;
#       dbus_pin_helper;
...
}

device {
...
        class 0xff0100;
        lm accept;
        lp hold,sniff,park;
...
Variante 2
Globale System-PIN verwenden:

In diesem Beispiel wird die in der Datei /etc/bluetooth/pin gespeicherte PIN für alle eingehenden Verbindungen benutzt. Also muss in diese Datei noch eine PIN (Zahlenkette) eingetragen werden.

Der PIN-Helper ist ein kleines Shellscript:

#!/bin/sh
echo -n "PIN:"
cat /etc/bluetooth/pin
options {
        autoinit yes;
        security user;
        pairing multi;
        pin_helper /etc/bluetooth/pin-helper;
        #dbus_pin_helper;
}

device {
        name "mirabilis (%d)";
        class 0x3e0100;
        #pkt_type DH1,DM1,HV1;
        iscan enable; pscan enable;
        lm accept;
        lp rswitch,hold,sniff,park;
        #auth enable;
        #encrypt enable;
}

[bearbeiten] Benutzung von Bluetooth in der grafischen Oberfläche

[bearbeiten] KDE

Installiere kdebluetooth und starte kdebluetoothd.

KDE stellt für Bluetooth-Geräte einen eigenen KIOslave zur Verfügung, so kann im Konqueror über die Adresse bluetooth:/ auf alle aktiven Bluetooth-Geräte und deren Partner zugegriffen werden.

[bearbeiten] Gnome

Installiere gnome-bluetooth und ggf. noch gnome-phone-manager.

Persönliche Werkzeuge