Table of Contents
Bluetooth
Introduction
Ce guide vous aidera à configurer Bluetooth, par exemple pour utiliser votre téléphone comme modem. Effectuez les étapes suivantes en tant que root. Tout d'abord vous devez installer les paquets de Slitaz liés à Bluetooth :
# tazpkg get-install bluez # tazpkg get-install linux-bluetooth
Le premier paquet contient la pile du protocole Bluetooth www.bluez.org officielle de Linux et le deuxième contient les modules du noyau liés à bluetooth. Maintenant vous pouvez lancer le démon Bluetooth :
# bluetoothd
Et charger le module requis par le périphérique Bluetooth local, qui est très probablement btusb :
# modprobe btusb
Si le module est btusb, vous avez besoin de la commande “hcitool dev” pour trouver l'adresse du périphérique local :
root@slitaz:/home/tux# hcitool dev Devices: hci0 00:02:72:xx:xx:xx
Si la commande “hcitool dev” n'affiche pas de périphérique hci*, vous devez trouver de quel module vous avez besoin et répéter l'étape précédente jusqu'à ce que vous trouviez un périphérique hci*.
Maintenant que vous avez des hci*, vous pouvez lancer la commande “hcitool scan” pour lancer la recherche de périphériques à proximité. Donc, si vous êtes à la recherche, par exemple, de votre téléphone, n'oubliez pas de le mettre en mode découverte :
root@slitaz:/home/tux# hcitool scan Scanning ... 00:18:C5:xx:xx:xx Nokia 6151 root@slitaz:/home/tux#
Maintenant, vous pouvez apparier votre système local avec votre appareil distant. Pour le faire, utiliser bluez-simple-agent. Si vous voulez commencer l'appairage à partir de l'appareil distant vous avez besoin de mettre votre appareil local en mode découverte :
# hciconfig hci0 piscan
Maintenant, lancez bluez-simple-agent, recommencez l'appairage depuis l'appareil distant et attendez que bluez-simple-agent vous demande le code PIN nécessaire pour la liaison. Ce code sera le même que celui que vous avez tapé sur le téléphone. Lorsque vous aurez terminé, vous pouvez terminer bluez-simple-agent avec Ctrl-c:
root@slitaz:/home/tux# hciconfig hci0 piscan root@slitaz:/home/tux# 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 root@slitaz:/home/tux#
Enlevez le mode découverte de votre système local :
# hciconfig hci0 pscan
Si vous voulez commencer l'appairage à partir de votre périphérique local, vous pouvez le faire en utilisant bluez-simple-agent avec le hci* de votre périphérique local et l'adresse de l'appareil que vous avez découvert avec “hcitool scan”. Dans ce cas, vous choisirez le code PIN dans bluez-simple-agent et taperez le même code PIN sur le périphérique distant :
root@slitaz:/home/tux# 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) root@slitaz:/home/tux#
Il est nécessaire d'être rapide, parce que je ne sais pas comment configurer le délai d'attente de bluez-simple-agent (des suggestions ?)
Utiliser un téléphone comme modem
Maintenant que vous avez vos deux appareils liés, je vais continuer avec le téléphone comme modem en exemple, je n'ai pas d'autre expérience avec des appareils Bluetooth. Pour utiliser votre téléphone comme modem, vous avez besoin du module rfcomm. Au moment où j'écris ce guide, le module rfcomm de SliTaz est compilé sans support tty. Vous pouvez vérifier si c'est le cas avec les commandes suivantes :
root@slitaz:/home/tux# zcat /proc/config.gz | grep RFCOMM CONFIG_BT_RFCOMM=m # CONFIG_BT_RFCOMM_TTY is not set root@slitaz:/home/tux#
Si CONFIG_BT_RFCOMM_TTY est différent de CONFIG_BT_RFCOMM_TTY = y, Vous devez recompiler le module avec le support tty: Installer linux-source :
# tazpkg get-install linux-source
cd dans /usr/src/linux-`uname -r`/ et taper cette commande :
# make CONFIG_BT_RFCOMM=m CONFIG_BT_RFCOMM_TTY=y M=net/bluetooth/rfcomm
Ceci construira seulement le module rfcomm avec le support tty. Vous le trouverez dans /usr/src/linux-`uname -r`/net/bluetooth/rfcomm/rfcomm.ko. Maintenant vous pouvez supprimer l'ancien module rfcomm et le remplacer par votre nouveau module :
# 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
Maintenant que nous avons un module rfcomm qui fonctionne, nous devons détecter le canal par lequel le service du modem du téléphone est à l'écoute :
# sdptool browse 00:18:C5:xx:xx:xx
Où 00:18: C5: xx: xx: xx est l'adresse de votre téléphone, il vous donnera une liste des services disponibles sur votre téléphone. Celui que vous cherchez est accès réseau à distance ou DUN (Dial-up networking) :
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
Comme on peut le voir, il écoute sur le canal 1 (Channel: 1), donc /etc/bluetooth/rfcomm.conf est à modifier de cette façon :
# # 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"; }
Maintenant, avec :
# modprobe rfcomm # rfcomm bind all
Vous pouvez utiliser / dev/rfcomm0 comme modem dans un script wvdial. Vous pouvez également consulter ce guide http://doc.slitaz.org/fr:guides:dialup