Table of Contents
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? |