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 :
- Échanger des données avec d'autres appareils, envoyer de la musique ou des vidéos de et vers votre téléphone.
- Utiliser un téléphone sans fil pour avoir un accès Internet sur votre ordinateur.
- Utiliser des périphériques Bluetooth avec votre ordinateur une souris sans fil Bluetooth 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
- gnome-bluetooth (avec GNOME)
aptitude install gnome-bluetooth
- ou bluedevil (avec KDE)
aptitude install bluedevil
Kbluetooth est obsolete. C'est bluedevil qui est l'interface graphique actuelle pour KDE.
- ou encore blueman (pour GTK2)
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,
- où debian est le nom d’hôte du système Debian.
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) où 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.
- Activez le contrôleur Bluetooth en entrant « power on ». Il est éteint par défaut.
- Tapez "devices" pour obtenir l'adresse MAC de l'appareil auquel vous voulez l'appairage.
- Entrez en mode découverte de périphérique avec la commande « scan on » si le périphérique n'est pas déjà sur la liste.
- Activez l'agent avec la commande « agent on ».
Entrez « pair adresse MAC » pour réaliser l'appairage (l'auto-complétion avec la touche Tab fonctionne).
Si on utilise un périphérique sans code PIN, il peut être nécessaire d'accepter le périphérique pour que la connexion aboutisse. Entrez « trust adresse MAC » pour le faire.
Enfin, entrez la commande « connect adresse MAC » pour établir la connexion.
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
Avec Debian Wheezy et GnomeShell le paramétrage du Bluetooth se trouve dans
Paramètres Système > Bluetooth : Cela liste les appareils connectables et permet l'échange de données.
Dans Nautilus dans le Dossier ~/public: Quand vous ouvrez ce dossier, vous trouvez une barre de notification pour définir les données partagées. Ceci inclus les données partagées avec WebDAV, mais aussi par Bluetooth. Par ailleurs, vous pouvez permettre de recevoir des fichiers par Bluetooth. Ces fichiers seront reçus dans ~/Téléchargements.
- pour pouvoir recevoir des fichiers à partir d'un périphérique appairé, il faut activer les options suivantes dans « Préférences de partage de fichiers personnels" (/usr/bin/gnome-file-share-properties) :
Recevoir des fichiers par Bluetooth / Enregistrer les fichiers reçus par Bluetooth dans le dossier ~/Téléchargements
- Recevoir des fichiers par Bluetooth / Notifier les fichiers reçus
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
- HID : Interface Homme Machine
fr/HOWTO/BluetoothMouse - Utiliser une souris Bluetooth
A2DP - Utiliser un matériel audio haute qualité (comme des écouteurs Bluetooth)
Lien externes
Bluez – Protocole Bluetooth officiel pour Linux