Translation(s): English - Français - Italiano - 日本語 (Nihongo)


Utiliser Bluetooth dans un système Debian

Note : Cette page décrit l'utilisation du Bluetooth dans Debian pour les utilisateurs. Pour les développeurs voir la page: Bluetooth.

Introduction

Nous partons du principe que vous avez un adaptateur Bluetooth sur votre ordinateur et un matériel Bluetooth (comme un téléphone ou un PDA). Ce document décrit ce qu'il faut faire pour faire communiquer votre ordinateur avec d'autres appareils Bluetooth.

Les étapes ci-dessous sont nécessaires pour utiliser les services Bluetooth. Une fois le Bluetooth paramétré, vous pourrez par exemple :

Suivre les indications ci-dessous.

Préparation

Installer le support Bluetooth (paquet bluetooth) :

aptitude install bluetooth

Lire /usr/share/doc/bluez/README.Debian.gz pour mieux comprendre la démarche.

Assurez vous que le démon Bluetooth est en marche : sinon, démarrez-le.

Si vous utilisez les scripts d'initialisation de type SysV :

# /etc/init.d/bluetooth status
bluetooth is running

# /etc/init.d/bluetooth start

Si vous utilisez systemd :

$ systemctl status bluetooth
● bluetooth.service - Bluetooth service
   Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled)
   Active: active (running) since Fri 2015-01-16 21:25:19 JST; 1 day 16h ago

$ sudo systemctl start bluetooth

Couplage/Appairage

Pour des raisons de sécurité, les appareils Bluetooth ne pourront échanger des données entre eux que si ils ont été d'abord « présentés » (un petit peu comme dans la vraie vie :-)). C'est ce que l'on appelle l'appairage. L'appairage se fait en lançant la découverte à partir d'un appareil et en échangeant un code. Dans certains cas, le code est libre, et il suffit aux deux appareils de saisir le même code. Dans d'autres cas, le code est fixé par l'un des deux appareils (appareil dépourvu de clavier, par exemple), et l'autre doit le connaître pour s'y raccorder.

Notez que l'appairage n'est habituellement nécessaire que la première fois que deux appareils interagissent. Ensuite, les appareils se reconnaissent mutuellement, et l'échange de PIN n'est plus nécessaire. Toutefois cela dépendra des périphériques concernés (sur certains appareils cela est configurable).

Pour appairer les appareils (gérer les mots de passe), il faut un programme passkey-agent. Plusieurs options s’offrent à vous.

Appairage avec une interface graphique

aptitude install gnome-bluetooth

aptitude install bluedevil

Kbluetooth est obsolete. C'est bluedevil qui est l'interface graphique actuelle pour KDE.

aptitude install blueman

Redémarrer X-Window. Ceci est nécessaire pour que les pop-up d’appairage apparaissent correctement dans les étapes suivantes.

Vous pouvez maintenant tester l’appairage. Vous devez choisir dans les menu de votre appareil quelque chose comme « setup », « paramètres »,« connexion » ou « bluetooth » et rechercher les périphériques Bluetooth. Vous devriez trouver votre système Debian avec un nom semblable à : debian-0,

Sur votre périphérique, sélectionnez le système Debian. Vous serez invités à entrer un code PIN à quatre chiffres, (choisissez 4 chiffres, par exemple 2309).

Sur votre ordinateur apparaîtra un pop-up avec un message demandant le code PIN, quelque chose comme : Appairage demandé par votre téléphone (xx:xx:xx:xx:xx:xx) téléphone représente le nom du téléphone et xx:xx:xx:xx:xx:xx est son adresse MAC.

Cliquer sur l'info bulle.

Une autre fenêtre va s'afficher. Elle va demander un code PIN, entrez le même que celui déjà entré ci-dessus (par exemple: 2309 ) et taper [Entrer].

Votre téléphone identifie le code PIN et l'affiche sur l'écran.

Les deux appareils se reconnaissent maintenant.

Appairage en ligne de commande

Si vous ne voulez pas ou ne pouvez pas utiliser GNOME ou KDE, vous pouvez aussi utiliser bluetooth-agent ou bluetoothctl pour l'appairage.

Appairage avec bluetooth-agent

Bluetooth-agent fait partie du paquet bluez. Si vous utilisez Debian testing ou unstable, il est probablement déjà installé.

Vous avez juste à démarrer bluetooth-agent (en super-utilisateur) et donner un code PIN abitraire, par exemple, 4835 :

# bluetooth-agent 4835

Comme décrit ci-dessus, choisissez dans le menu de votre appareil quelque chose comme « setup », « paramètres »,« connexion » ou « Bluetooth » pour être appairé et recherchez les périphériques Bluetooth. Sélectionnez votre ordinateur qui devrait être repéré ; l’appareil doit vous demander un code PIN. Entrer le code PIN que vous avez donné à bluetooth-agent. L’appairage est fini.

Note : Au lieu d'effectuer l’appairage depuis le téléphone, on peut aussi appairer depuis l’ordinateur. Démarrez bluetoogh-agent comme c'est expliqué plus haut et lancez la commande suivante qui tentera la connexion au téléphone. Par exemple :

rfcomm connect hci0 <adresse téléphone>

où <adresse téléphone> est l’adresse de votre téléphone Bluetooth, détectée avec hcitool scan (attention, ceci fonctionne seulement si votre téléphoneest détectable, l’ordinateur n’ayant pas besoin de l’être). Cela créera une connexion entre votre ordinateur et le téléphone, et, en conséquence,le téléphone vous demandera de confirmer la tentative de connexion en entrant un code PIN. Entrez le code PIN que vous avez utilisé avec bluetooth-agent.

Appairage avec bluetoothctl

Si bluetooth-agent n'est pas disponible, essayez bluetoothctl :

Lancez la commande interactive bluetoothctl. Tapez "help" pour obtenir la liste des commandes disponibles.

Dépannages

Problèmes généraux sur l’appairage/ couplage

Pour que la liaison fonctionne comme décrit ci-dessus, les périphériques bluetooth de votre ordinateur doivent être détectables. Un dongle Bluetooth peut démarrer en mode caché. (Rapport de bug ici).

Pour régler ce problème, entrez :

# dbus-send --system --dest=org.bluez /org/bluez/hci0 org.bluez.Adapter.SetMode string:discoverable

ou avec hciconfig:

# hciconfig hci0 piscan

hciconfig devrait alors afficher les drapeaux ISCAN PSCAN indiquant que votre appareil Bluetooth est détectable (c'est-à-dire peut être scanné). Après avoir terminé l’appairage, il serait bien de rendre à nouveau votre ordinateur invisible :

FIXME: il semble manquer une commande

Ou alors hciconfig :

# hciconfig hci0 noscan

Commandes utiles

Afficher votre appareil Bluetooth (pour vérifier qu’il est bien installé)

hcitool dev

Recherche des périphériques distants

hcitool scan

Redémarrer le service bluetooth

sudo /etc/init.d/bluetooth restart

Forcer la connexion à un appareil

sudo hidd --connect <BT_Address>

Configuration des fichiers utiles à Bluetooth

/etc/default/bluetooth - Réglage par défaut du HID bluez – Pour les souris et les claviers

HID2HCI_ENABLED=1

/etc/bluetooth/hcid.conf – Réglages du HCI bluez – configurer les périphériques statiques

device 00:1E:52:FB:68:55 {
    name "Apple Wireless Keyboard";
    auth enable;
    encrypt enable;}

Problèmes avec KDE

Puisque le code PIN doit être mis en œuvre au niveau de l’utilisateur, des changements doivent être apportés au fichier /etc/bluetooth/hcid.conf

Commentez la ligne

passkey "2309";

et ajoutez la ligne suivante juste en dessous (Note: kdebluetooth inclut le programme kbluepin) :

# passkey "2309";
pin_helper /usr/bin/bluez-pin;

KDE s’attend aussi à trouver le fichier /etc/bluetooth/link_key

# touch /etc/bluetooth/link_key
# chmod 644 /etc/bluetooth/link_key
# /etc/init.d/bluetooth restart

Avec KDE, exécutez kdebluetoothhd. Cliquez sur l’icône Bluetooth dans la zone de notification, cela chargera Konqueror avec l’URL Bluetooth://. Vous devriez voir votre appareil et pouvoir transférer des fichiers en choisissant le protocole adéquat.

Si vous recherchez votre PC depuis votre appareil, KDE devrait ouvrir une fenêtre vous demandant un code PIN. Vous pourrez ensuite envoyer des fichiers à votre PC (KDE lancera un programme pour cela).

GNOME

Personal_File_Sharing_Preferences_Receive_Files_over_Bluetooth.png

Impossible de se connecter à HSP/HFP

La version 3.6 de Bluez contient un bug la rendant inutilisable pour se connecter en HSP/HFP en bluetooth (protocole utile pour pouvoir utiliser le microphone d'un périphérique bluetooth, et qui donne en contre partie une moins bonne qualité sonore). Il apparaît alors dans /var/log/syslog :

[pulseaudio] module-bluez5-device.c: Refused to switch profile to headset_head_unit: Not connected

Pour le résoudre, il faut mettre à jour ce logiciel, ou utiliser la version 3.5. Pour utiliser la version experimental, il faut ajouter dans /etc/apt/sources.list :

deb http://httpredir.debian.org/debian experimental main

puis lancer

sudo apt-get update && sudo apt-get -t experimental install bluez 

Enfin, redémarrez pulseaudio ou rebootez. Vous pouvez alors utiliser HSP/HFP.

Impossible de se reconnecter après la sortie de veille

Vous remarquerez peut-être que vous ne pouvez pas vous reconnecter automatiquement à un périphérique après sa mise en veille. Vous remarquerez par exemple les erreurs suivantes dans vos journaux :

bluetoothd[487]: Authentication attempt without agent
bluetoothd[487]: Access denied: org.bluez.Error.Rejected

Cela peut être dû au fait que ce périphérique n'est pas marqué comme étant « approuvé ». Pour corriger cela, essayez la commande suivante dans un terminal de bluetoothctl :

trust 00:1D:43:6D:03:26

... où 00:1D:43:6D:03:26 est un identifiant de périphérique pour le haut-parleur.

Vous voudrez peut-être également que Pulseaudio se connecte automatiquement à la sortie nouvellement découvert en ajoutant à ~/.config/pulse/default.pa :

# automatically switch to newly-connected devices
load-module module-switch-on-connect

Note : cette solution a été trouvée dans le wiki de Arch Linux.

Capable de se connecter, mais pas de son

Si vous avez cette erreur :

Connection Failed: blueman.bluez.errors.DBusFailedError: Protocol Not available

Cela est dû au dorsal de Pulseaudio ne pouvant pas communiquer avec le Bluetooth à cause d'un paquet manquant. Installez le paquet :

sudo apt-get install pulseaudio-module-bluetooth

... puis assurez-vous que le module est chargé :

pactl load-module module-bluetooth-discover

Une fois cela fait, effacez le périphérique Bluetooth à partir de votre configuration et appairez-le à nouveau.

Qualité / problème de A2DP

Consultez BluetoothUser/a2dp (en anglais) pour de plus amples informations.

Voir aussi

Lien externes


CategoryHardware CategoryModem CategoryFrHardware