SliTaz GNU/Linux official and community documentation wiki.
.png
Translations of this page:

Bluetooth

Einführung

Diese Anleitung dient der Konfigurierung von „bluetooth“ zur Nutzung eines Mobiltelefons als Modem. Die folgenden Schritte müssen mit Administratorrechten ausgeführt werden. Zunächst müssen die „bluetooth“-Pakete installiert werden:

# tazpkg get-install bluez
# tazpkg get-install linux-bluetooth

Das erste Paket enthält die offizielle Linux-Bluetooth-Implementierung von www.bluez.org und das zweite die Module des Linux-Kerns für „bluetooth“. Jetzt kann der „bluetooth“-Hintergrundprozess gestartet werden:

# bluetoothd

und der Modul zur Bedienung des bluetooth-Adapters im Rechner (meist btusb) geladen werden:

# modprobe btusb

Wenn btusb der richtige Modul ist, können Sie mit hcitool dev die Adresse des Adapters ermitteln:

# hcitool dev
Devices:
        hci0    00:02:72:xx:xx:xx

Wenn mit dem Kommando hcitool dev keine Gerät hci* angezeigt wird, müssen Sie zuerst den richtigen Modul (statt btusb) ermitteln und laden, bevor Sie ein Gerät hci* angezeigt bekommen. Dann erst können Sie mit dem Kommando hcitool scan feststellen, ob sich in der Nähe ein Gerät befindet, zu dem eine Verbindung aufgebaut werden kann. Wenn Ihr Mobiltelefon gefunden werden soll, muss es sich im Modus „discoverable“ befinden:

# hcitool scan
Scanning ...
        00:18:C5:xx:xx:xx       Nokia 6151

Jetzt kann der Adapter im Rechner mit dem anderen Gerät verbunden werden. Dazu kann bluez-simple-agent verwendet werden.

Wenn der Verbindungsaufbau von dem anderen Gerät aus erfolgen soll, muss der Adapter im Rechner in den Modus „discoverable“ versetzt werden:

# hciconfig hci0 piscan

Starten Sie dann bluez-simple-agent und von dem anderen Gerät den Verbindungsaufbau. Warten Sie, bis bluez-simple-agent Sie nach der PIN für die Verbindung fragt. Die PIN ist dieselbe, die Sie auf Ihrem Mobiltelefon eingegeben haben. Wenn dies erfolgt ist, brechen Sie bluez-simple-agent mit Strg-C ab:

# hciconfig hci0 piscan
# bluez-simple-agent
Agent registered
RequestPinCode (/org/bluez/2944/hci0/dev_00_18_C5_xx_xx_xx)
Enter PIN Code: 1234
^CTraceback (most recent call last):
  File "/usr/bin/bluez-simple-agent", line 113, in <module>
    mainloop.run()
KeyboardInterrupt

Versetzen Sie den Adapter im Rechner wieder in den Modus „undiscoverable“:

# hciconfig hci0 pscan

Wenn der Verbindungsaufbau von dem Rechner aus erfolgen soll, kann bluez-simple-agent verwendet werden, indem hci* des Adapters und die Adresse des Gerätes, das mit hcitool scan gefunden wurde, angegeben werden. In diesem Fall wählen Sie mit bluez-simple-agent eine PIN aus und geben dieselbe an dem anderen Gerät ein:

# bluez-simple-agent hci0 00:18:C5:xx:xx:xx
RequestPinCode (/org/bluez/3078/hci0/dev_00_18_C5_xx_xx_xx)
Enter PIN Code: 1234
Release
New device (/org/bluez/3078/hci0/dev_00_18_C5_xx_xx_xx)

Die Eingaben müssen zügig erfolgen, da bluez-simple-agent nur eine bestimmte Zeit wartet. (Wie kann die Wartezeit geändert werden?)

Ein Mobiltelefon als Modem verwenden

Hier wird beschrieben, wie nach dem Verbindungsaufbau ein Mobiltelefon als Modem verwendet werden kann. Dazu benötigen Sie den Modul rfcomm, der mit der Option CONFIG_BT_RFCOMM_TTY=y übersetzt worden sein muss. Ob dies der Fall ist, können Sie mit den folgenden Kommandos prüfen:

# zcat /proc/config.gz | grep RFCOMM
CONFIG_BT_RFCOMM=m
# CONFIG_BT_RFCOMM_TTY is not set

Wenn CONFIG_BT_RFCOMM_TTY=y nicht gesetzt ist, muss der Modul neu übersetzt werden. Installieren Sie dazu das Paket linux-source:

# tazpkg get-install linux-source

Stellen Sie als Arbeitsverzeichnis /usr/src/linux-`uname -r` ein und geben Sie das Kommando:

# make CONFIG_BT_RFCOMM=m CONFIG_BT_RFCOMM_TTY=y M=net/bluetooth/rfcomm

Damit wird nur der Modul rfcomm neu übersetzt und in der Datei /usr/src/linux-`uname -r`/net/bluetooth/rfcomm/rfcomm.ko abgelegt. Jetzt kann der alte Modul rfcomm durch den neu übersetzten ersetzt werden:

# rm /lib/modules/`uname -r`/kernel/net/bluetooth/rfcomm/rfcomm.ko.gz
# cp /usr/src/linux-`uname -r`/net/bluetooth/rfcomm/rfcomm.ko /lib/modules/`uname -r`/kernel/net/bluetooth/rfcomm/ 
# depmod -a

Jetzt muss der Kanal ermittelt werden, auf dem der Telefondienst auf Verbindungen wartet:

# sdptool browse 00:18:C5:xx:xx:xx

wobei 00:18:C5:xx:xx:xx die Adresse des Mobiltelefons ist. Ausgegeben wird eine Liste von Diensten auf dem Mobiltelefon. Der gesuchte Dienst ist „Dial-up networking“ oder DUN:

Service Name: Dial-up networking
Service RecHandle: 0x10000
Service Class ID List:
  "Dialup Networking" (0x1103)
  "Generic Networking" (0x1201)
Protocol Descriptor List:
  "L2CAP" (0x0100)
  "RFCOMM" (0x0003)
    Channel: 1
Language Base Attr List:
  code_ISO639: 0x656e
  encoding:    0x6a
  base_offset: 0x100
Profile Descriptor List:
  "Dialup Networking" (0x1103)
    Version: 0x0100
    

rfcomm.conf

Wie aus obiger Liste hervorgeht, benutzt der Dienst Kanal 1. Daher können Sie /etc/bluetooth/rfcomm.conf folgendermaßen ändern:

  #
  # RFCOMM configuration file.
  #
  rfcomm0 {
  #       # Automatically bind the device at startup
          bind yes;
  #
  #       # Bluetooth address of the device
          device 00:18:C5:xx:xx:xx;
  #
  #       # RFCOMM channel for the connection
          channel 1;
  #
  #       # Description of the connection
  #       comment "Example Bluetooth device";
  }

Nach Eingabe der Kommandos:

# modprobe rfcomm
# rfcomm bind all

kann /dev/rfcomm0 als Modem in einer wvdial-Kommandoprozedur verwendet werden. Weitere Informationen über Wählverbindungen.



Qualitätsbericht
Qualität
Überprüfung in SliTaz 5.0 rolling ist CONFIG_BT_RFCOMM_TTY=y gesetzt ; ab welcher Version ist das so?
Priorität mittel
Probleme
Verbesserungsvorschläge Wie wird die Wartezeit von bluez-simple-agent geändert?



 
de/guides/bluetooth.txt · Last modified: 2017/05/28 07:44 by hgt