Utilisation du Bluetooth sous Ubuntu
Cette page propose de vous aider à utiliser le système d'exploitation Ubuntu pour communiquer avec un appareil bluetooth . Vous pouvez aussi lire la documentation officielle disponible dans le centre d'aide.
Pré-requis
- Disposer d'un ordinateur équipé Bluetooth ou équipé d'un module externe Bluetooth (Usb, carte, etc.)
- Avoir le Bluetooth activé. (Présence de l'indicateur d'application Bluetooth dans la barre de notification).
Matériel pris en charge
Voir la page Bluetooth : matériel pris en charge.
Installation
Les paquets nécessaires au fonctionnement du Bluetooth sont installés par défaut dans Ubuntu. Mais certains appareils peuvent avoir besoin de paquets spécifiques pour être reconnus. En cas de difficulté, voir le chapitre Problèmes connus ou poster sur le forum.
Appairage
Vous pouvez le faire soit depuis l'ordinateur soit depuis le périphérique. Mais avant de commencer les manipulations, vérifier que le Bluetooth soit bien activé sur le périphérique à appairer.
Une fois le périphérique appairé, Ubuntu gardera en mémoire les informations d'appairage même si le périphérique est déconnecté.
Depuis votre ordinateur
- Si ce n'est pas déjà fait, rendre visible (ou identifiable) le périphérique.
- Cliquer sur l'indicateur d'application Bluetooth dans la zone de notification de la barre supérieure. Un menu apparaît ;
- cliquer sur "Configurer un nouveau périphérique", et suivez les instructions.
- Un code d'identification peut vous être proposé. Il est à répéter sur l'appareil à appairer.
- S'il vous est demandé, entrer le mot de passe de l'appareil à appairer. (si vous ne connaissez pas le mot de passe, essayez 0000, mot de passe par défaut de nombreux périphériques bluetooth)
Vous pouvez aussi faire l'appairage depuis "Paramètres systèmes → Matériel → Bluetooth" . Il suffit d'appuyer sur le "+" en bas à gauche
Depuis votre périphérique
- Rendre visible (ou identifiable) l’ordinateur. Pour cela, il suffit de se rendre dans les « Paramètres systèmes → Matériel → Bluetooth » .
- Suivre la procédure d'appairage propre à votre périphérique. L'ordinateur apparaîtra sous son nom suivi d'un numéro.
- Accepter l'appairage et valider.
Appairer un périphérique audio
Vous souhaitez envoyer de l'audio sur un périphérique Bluetooth (Casques, enceintes,…) : Rien de plus simple.
- Depuis votre ordinateur, appairez avec le périphérique audio comme pour n'importe quel appareil Bluetooth. Une fois la détection faite et configurée,
- Se rendre dans les Paramètres systèmes →matériel→ son;
- Dans l'onglet "Sortie" ou/et "Entrée" selon si celui-ci "capture" aussi le son, sélectionner si ce n'est pas déjà fait, le périphérique audio correspondant à votre périphérique Bluetooth nouvellement appairé;
- Si vous souhaitez un mode de diffusion particulier, modifiez-le;
- Un clic de confirmation sur le périphérique de sortie audio et le tour est joué.
Dès que le périphérique audio ainsi appairé sera en service et "visible", la connexion audio basculera automatiquement.
Pour une oreillette Bluetooth voir cette page dédiée.
Appairer une imprimante Bluetooth
Pour appairer et utiliser une imprimante via le bluetooth, voir cette page dédiée.
Utilisation
Gestion des fichiers
Envoi de fichiers vers le périphérique
Si votre appareil peut recevoir des fichiers, vous avez plusieurs possibilités:
- Cliquer sur l'indicateur d'application Bluetooth dans la zone de notification de la barre supérieure. Un menu apparaît.
- Cliquer sur "Envoyer les fichiers au périphérique…" .
- Choisissez le fichier à envoyer.
- Valider. Une notification de réception vous sera demandée.
Envoi de fichiers vers l'ordinateur
- Lancer le partage de fichiers personnels ou ouvrir « Paramètres systèmes → Matériel → Bluetooth ».
- Activer et configurer la partie Bluetooth selon vos besoins.
Les fichiers reçus se placeront automatiquement dans votre dossier "Téléchargements".
Parcours des fichiers présents sur le périphérique
Si le périphérique peut être parcouru,
- Cliquer sur l'indicateur d'application Bluetooth dans la zone de notification de la barre supérieure. Un menu apparaît.
- Cliquer sur "Parcourir les fichiers sur le périphérique…" ou cliquer sur le périphérique à parcourir et choisir « parcourir les fichiers ».
Synchronisation avec un téléphone mobile
Voir la page sur la gestion du mobile ou encore celle sur Gammu et Wammu.
Autres usages
Utiliser son téléphone pour accéder à internet partout
Voir cette page.
Utiliser son téléphone comme télécommande bluetooth
Voir cette page.
Utiliser les hauts-parleurs de l'ordinateur pour jouer le son d'un périphérique bluetooth
Pour jouer par exemple le son de votre mobile sur les hauts parleurs de votre ordinateur, Appairez votre mobile à votre ordinateur (sous Android, vous apercevrez peut-être "Connecté au paramètre audio du média"),
- Lancez du son sur votre mobile ;
- Se rendre dans les "Paramètres systèmes → matériel→son", à l'onglet "Entrée" pour vérifier que votre mobile a bien été ajouté (vous devriez voir la barre de son de votre mobile bouger en même temps que la musique).
- Une fois cette vérification effectuée, il vous suffit de rediriger cette entrée vers les haut parleurs comme spécifié ici.
- Pour éviter de devoir accepter manuellement la connexion à chaque fois, il faut ensuite mettre le téléphone dans la liste de confiance. Dans un terminal lancer la console bluetooth "bluetoothctl". Puis taper "trust XX:XX:XX:XX:XX:XX" où "XX:XX:XX:XX:XX:XX" est l'adresse bluetooth du téléphone (indiquée pendant l'opération d'appairage).
Testé sur Samsung Galaxy Ace (Rom cyanogenmod 7), et Kubuntu 12.10, Samsung S5. Ubuntu 16.04 LTS.
Connecter la wiimote
~$ sudo modprobe hid-wiimote ~$ sudo modprobe uinput
bluetoothctl
[bluetooth]# scan on [NEW] Device XX:XX:XX:XX:XX:XX Nintendo RVL-CNT-01-TR
Appuie sur le bouton 1 et 2 simultanément
[bluetooth]# connect XX:XX:XX:XX:XX:XX [CHG] Device XX:XX:XX:XX:XX:XX Connected: yes Connection successful [Nintendo RVL-CNT-01-TR]#
Désactiver le Bluetooth au démarrage d'Ubuntu
Pour désactiver en permanence le Bluetooth de votre PC:
- Éditer avec les droits d'administration le fichier /etc/rc.local
- Ajoutez la ligne
rfkill block bluetooth
avant la ligne
exit 0
- Enregistrer.
(Si ce fichier n'existait pas déjà, le créer avec les 2 lignes
rfkill block bluetooth exit 0
puis l'enregistrer et le rendre exécutable).
Lors des prochains démarrages, le module Bluetooth ne sera plus chargé (en restant activable à tout moment).
Sous systemd, au lieu d'éditer le fichier /etc/rc.local, vous pouvez utiliser la commande :
sudo systemctl disable bluetooth.service
…pour empêcher le lancement du service Bluetooth au démarrage.
Il sera alors toujours possible de relancer ce service en faisant :
sudo systemctl start bluetooth.service
Pour que le service Bluetooth se lance de nouveau au démarrage, faire :
sudo systemctl enable bluetooth.service
…suivi d'un redémarrage.
Pour désactiver Bluetooth au démarrage (icône grisée) sans arrêter le deamon :
Éditer avec les droits d'administration le fichier /etc/bluetooth/main.conf
tout en bas, changer la ligne :
AutoEnable=true
en
AutoEnable=false
Au prochain démarrage, l'icône blueman sera grisé, il suffit de cliquer dessus pour activer le bluetooth.
Sous Mate
Sous Ubuntu Mate, allez dans Centre de contrôle → Personnel → Application au démarrage et décochez la case Applet blueman. Par ailleurs, l'icône du bluetooth a tendance à s'afficher en permanence, même quand il n'y a pas d'adaptateur bluetooth ! La solution précédente ne fonctionne pas, celle-ci supprime l'icône en plus de désactiver le bluetooth au démarrage s'il est disponible.
Aller plus loin
En ligne de commande (universel) avec Bluez4
Les fonctionnalités disponibles
Connaître les informations du périphérique
rfkill permet de connaître les infos sur son périphérique:
rfkill list 1: phy0: Wireless LAN Soft blocked: yes Hard blocked: no 2: hci0: Bluetooth Soft blocked: no Hard blocked: no
Dans l'exemple ci-dessus rfkill détecte une carte wifi désactivée par logiciel (au cas d'espèces car l'utilisateur utilise un accès Ethernet mais c'est un choix de l'utilisateur, rien d'automatique) et un dispositif Blueetooth, hci0. Utilisé avec block ou unblock, rfkill permet d'activer ou désactiver un mode de connexion dès lors qu'il est installé (options possibles : "all", "wifi", "wlan", "bluetooth", "uwb", "ultrawideband", "wimax", "wwan", "gps", "fm" ou "nfc").
Afficher les informations de configuration
La liste des périphériques peut aussi être connue grâce à hcitools. L'option dev permet d'afficher la liste, les informations de configuration sont affichées par hcitools:
hcitool dev Devices: hci0 AA:BB:C1:D2:E3:F4:00 hciconfig -a hci0: Type: BR/EDR Bus: USB BD Address: AA:BB:C1:D2:E3:F4:00 ACL MTU: 2011:4 SCO MTU: 82:4 UP RUNNING PSCAN ISCAN RX bytes:257618 acl:47 sco:0 events:34313 errors:0 TX bytes:31428890 acl:31820 sco:0 commands:2393 errors:0 Features: 0xff 0xfe 0x0f 0xfe 0xdb 0xff 0x7b 0x87 Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3 Link policy: RSWITCH HOLD SNIFF Link mode: SLAVE ACCEPT Name: 'Computer' Class: 0x0c0104 Service Classes: Rendering, Capturing Device Class: Computer, Desktop workstation HCI Version: 4.1 (0x7) Revision: 0x100 LMP Version: 4.1 (0x7) Subversion: 0x100 Manufacturer: Intel Corp. (2)
La ligne "UP RUNNING PSCAN ISCAN" indique que le périphérique fonctionne. Si elle est passée à "DOWN", il convient de réactiver le périphérique avec hciconfig (voir ci-dessous).
Connaître les services disponibles
Les commandes inq et scan de hcitool, ainsi que sdptool et bluetoothctl du paquet Bluez-utils permettent de repérer les informations utiles pour effectuer les actions désirées en ligne de commande.
hcitool inq Inquiring ... AA:B1:C2:D3:E4:F5 clock offset: 0x5c36 class: 0x7a020c 01:B1:C2:45:E4:F5 clock offset: 0x1eb3 class: 0x2a010c 56:B1:AE:45:E4:4B clock offset: 0x7508 class: 0x5a020c 78:1B:00:45:E4:25 clock offset: 0x2d55 class: 0x08043c bluetoothctl [NEW] Controller AA:B1:C2:D3:E4:F5 Computer [default] [NEW] Device 01:B1:C2:45:E4:F5 Téléphone de Caroline [NEW] Device 75:AE:12:CD:F7:E3 Machin Phone [NEW] Device 10:F4:E3:D2:C1:A0 Enceinte active SOUNDBIDULE [NEW] Device 0A:D1:2B:E3:4C:F5 Bluetooth Laser Travel Mouse [bluetooth]# exit [DEL] Controller AA:B1:C2:D3:E4:F5 Computer [default] hcitool scan Scanning ... 14:0C:76:39:20:2B n/a AA:B1:C2:D3:E4:F5 Téléphone de Pierrot 56:B1:AE:45:E4:4B Freebox Player Mini v2 01:B1:C2:45:E4:F5 ANDREA 78:1B:00:45:E4:25 [TV]Samsung LED55 user@computer:~$ sdptool browse 01:B1:C2:45:E4:F5 Browsing 01:B1:C2:45:E4:F5 ... Service Name: Service Discovery Service Description: Publishes services to remote devices Service Provider: Microsoft Service RecHandle: 0x0 Service Class ID List: "SDP Server" (0x1000) Protocol Descriptor List: "L2CAP" (0x0100) PSM: 1 "SDP" (0x0001) Language Base Attr List: code_ISO639: 0x656e encoding: 0x6a base_offset: 0x100 Browsing 01:B1:C2:45:E4:F5 ... Service Search failed: Invalid argument Service Name: Device ID Service Record Service Description: Device ID Service Record Service RecHandle: 0x10000 Service Class ID List: "PnP Information" (0x1200) Protocol Descriptor List: "L2CAP" (0x0100) PSM: 1 "SDP" (0x0001) Language Base Attr List: code_ISO639: 0x656e encoding: 0x6a base_offset: 0x100 Browsing 01:B1:C2:45:E4:F5 ... Service Search failed: Invalid argument Service RecHandle: 0x10001 Service Class ID List: "AV Remote Target" (0x110c) Protocol Descriptor List: "L2CAP" (0x0100) PSM: 23 "AVCTP" (0x0017) uint16: 0x0102 Profile Descriptor List: "AV Remote" (0x110e) Version: 0x0103 Service Name: Personal Ad Hoc User Service Service Description: Personal Ad Hoc User Service Service RecHandle: 0x10002 Service Class ID List: "PAN User" (0x1115) Protocol Descriptor List: "L2CAP" (0x0100) PSM: 15 "BNEP" (0x000f) Version: 0x0100 SEQ8: 0 dd 6 Language Base Attr List: code_ISO639: 0x656e encoding: 0x6a base_offset: 0x100 Profile Descriptor List: "PAN User" (0x1115) Version: 0x0100 Service Name: Microsoft Windows Audio Source Service RecHandle: 0x10003 Service Class ID List: "Audio Source" (0x110a) Protocol Descriptor List: "L2CAP" (0x0100) PSM: 25 "AVDTP" (0x0019) uint16: 0x0102 Language Base Attr List: code_ISO639: 0x656e encoding: 0x6a base_offset: 0x100 Profile Descriptor List: "Advanced Audio" (0x110d) Version: 0x0102 Service Name: Voice Gateway Service RecHandle: 0x1001a Service Class ID List: "Handsfree Audio Gateway" (0x111f) "Generic Audio" (0x1203) Protocol Descriptor List: "L2CAP" (0x0100) "RFCOMM" (0x0003) Channel: 1 Profile Descriptor List: "Handsfree" (0x111e) Version: 0x0105 sdptool browse 56:B1:AE:45:E4:4B Browsing 56:B1:AE:45:E4:4B ... Service Name: Service Discovery Service Description: Publishes services to remote devices Service Provider: Microsoft Service RecHandle: 0x0 Service Class ID List: "SDP Server" (0x1000) Protocol Descriptor List: "L2CAP" (0x0100) PSM: 1 "SDP" (0x0001) Language Base Attr List: code_ISO639: 0x656e encoding: 0x6a base_offset: 0x100 Browsing 56:B1:AE:45:E4:4B ... Service Search failed: Invalid argument Service Name: Device ID Service Record Service Description: Device ID Service Record Service RecHandle: 0x10000 Service Class ID List: "PnP Information" (0x1200) Protocol Descriptor List: "L2CAP" (0x0100) PSM: 1 "SDP" (0x0001) Language Base Attr List: code_ISO639: 0x656e encoding: 0x6a base_offset: 0x100 Browsing 56:B1:AE:45:E4:4B ... Service Search failed: Invalid argument Service RecHandle: 0x10001 Service Class ID List: "AV Remote Target" (0x110c) Protocol Descriptor List: "L2CAP" (0x0100) PSM: 23 "AVCTP" (0x0017) uint16: 0x0102 Profile Descriptor List: "AV Remote" (0x110e) Version: 0x0103 Service Name: Personal Ad Hoc User Service Service Description: Personal Ad Hoc User Service Service RecHandle: 0x10002 Service Class ID List: "PAN User" (0x1115) Protocol Descriptor List: "L2CAP" (0x0100) PSM: 15 "BNEP" (0x000f) Version: 0x0100 SEQ8: 0 dd 6 Language Base Attr List: code_ISO639: 0x656e encoding: 0x6a base_offset: 0x100 Profile Descriptor List: "PAN User" (0x1115) Version: 0x0100 Service Name: Microsoft Windows Audio Source Service RecHandle: 0x10003 Service Class ID List: "Audio Source" (0x110a) Protocol Descriptor List: "L2CAP" (0x0100) PSM: 25 "AVDTP" (0x0019) uint16: 0x0102 Language Base Attr List: code_ISO639: 0x656e encoding: 0x6a base_offset: 0x100 Profile Descriptor List: "Advanced Audio" (0x110d) Version: 0x0102 Service Name: Voice Gateway Service RecHandle: 0x1001a Service Class ID List: "Handsfree Audio Gateway" (0x111f) "Generic Audio" (0x1203) Protocol Descriptor List: "L2CAP" (0x0100) "RFCOMM" (0x0003) Channel: 1 Profile Descriptor List: "Handsfree" (0x111e) Version: 0x0105
Bluetoothctl, commande interactive pour l'appairage et le désappairage
"help" permet de lister les opérations disponibles:
bluetoothctl [NEW] Controller AA:B1:C2:D3:E4:F5 Computer [default] [NEW] Device 01:B1:C2:45:E4:F5 Téléphone de Caroline [NEW] Device 75:AE:12:CD:F7:E3 Machin Phone [NEW] Device 10:F4:E3:D2:C1:A0 Enceinte active SOUNDBIDULE [NEW] Device 0A:D1:2B:E3:4C:F5 Bluetooth Laser Travel Mouse [bluetooth]# help Available commands: list List available controllers show [ctrl] Controller information select <ctrl> Select default controller devices List available devices paired-devices List paired devices power <on/off> Set controller power pairable <on/off> Set controller pairable mode discoverable <on/off> Set controller discoverable mode agent <on/off/capability> Enable/disable agent with given capability default-agent Set agent as the default one set-scan-filter-uuids [uuid1 uuid2 ...] Set scan filter uuids set-scan-filter-rssi [rssi] Set scan filter rssi, and clears pathloss set-scan-filter-pathloss [pathloss] Set scan filter pathloss, and clears rssi set-scan-filter-transport [transport] Set scan filter transport set-scan-filter-clear Clears discovery filter. scan <on/off> Scan for devices info [dev] Device information pair [dev] Pair with device trust [dev] Trust device untrust [dev] Untrust device block [dev] Block device unblock [dev] Unblock device remove <dev> Remove device connect <dev> Connect device disconnect [dev] Disconnect device list-attributes [dev] List attributes select-attribute <attribute> Select attribute attribute-info [attribute] Select attribute read Read attribute value write <data=[xx xx ...]> Write attribute value notify <on/off> Notify attribute value register-profile <UUID ...> Register profile to connect unregister-profile Unregister profile version Display version quit Quit program [bluetooth]# quit [DEL] Controller AA:B1:C2:D3:E4:F5 Computer [default]
Exemples utiles
Activer les périphériques bluetooth
sudo rfkill unblock bluetooth && rfkill list bluetooth
Désactiver tous les périphériques
sudo rfkill block all && rfkill list bluetooth
Activer le périphérique avec hciconfig
hciconfig hci0 up
Lister le(s) contrôleur(s) Bluetooth
hcitool dev
Vérifier que le contrôleur Bluetooth du PC/Portable est bien présent et UP
hciconfig
Lister les périphériques Bluetooth
hcitool scan
Lister les capacités d'un périphérique Bluetooth
sudo hcitool info <AdresseMacPériphérique>
Appairer et connecter un clavier avec Bluez-utils
- Repérage du périphérique:
hcitool scan Scanning ... 0F:E1:2D:C3:4B:A5 Bluetooth Keyboard
- ou bien si le périphérique bluetooth n'est pas visible:
sudo hciconfig hci0 piscan
- Appairage:
sudo bluez-simple-agent hci0 0F:E1:2D:C3:4B:A5
- Renseigner le code pin d'identification que l'on souhaite utiliser (par exemple 1234 ou 0000) :
RequestPinCode (/org/bluez/14688/hci0/dev_0F_E1_2D_C3_4B_A5) Enter PIN Code: Release New device (/org/bluez/14688/hci0/dev_0F_E1_2D_C3_4B_A5)
- Autoriser l'ordinateur à se connecter au périphérique désormais sans autorisation:
sudo bluez-test-device trusted 0F:E1:2D:C3:4B:A5 yes
- Connexion du périphérique identifié comme périphérique d'entrée (il s'agit dans cet exemple d'un clavier) :
sudo bluez-test-input connect 0F:E1:2D:C3:4B:A5
Appairer un appareil en ligne de commande avec bluetoothctl
- Commencer par déclarer un agent:
[bluetooth]# agent on Agent registered
- Ensuite placer le contrôleur sous tension:
[bluetooth]# power on Changing power on succeeded
- Recherche des appareils à proximité:
[bluetooth]# scan on Discovery started [CHG] Controller 00:AA:22:BB:33:CC Discovering: yes [NEW] Device 00:AA:22:BB:33:CC unAppareil [CHG] Device 00:AA:22:BB:33:CC LegacyPairing: yes
- Appairer et connecter:
[bluetooth]# pair 00:AA:22:BB:33:CC Attempting to pair with 00:AA:22:BB:33:CC [CHG] Device 00:AA:22:BB:33:CC Connected: yes [CHG] Device 00:AA:22:BB:33:CC Connected: no [CHG] Device 00:AA:22:BB:33:CC Connected: yes Request PIN code [agent] Enter PIN code: 1111 [CHG] Device 00:AA:22:BB:33:CC Paired: yes Pairing successful [CHG] Device 00:AA:22:BB:33:CCConnected: no [bluetooth]# connect 00:AA:22:BB:33:CC [CHG] Device 00:AA:22:BB:33:CC Connected: yes [bluetooth]# quit
Envoi d'un fichier depuis l'ordinateur
- Avec gnome-obex-send:
gnome-obex-send -d <AdresseMacpériphérique> <fichier>
bluetooth-sendto --device=<AdresseMacpériphérique> <fichier>
disponible dans le paquet bluez-gnome.
- Openobex et obexftp permettent également l'envoi de fichiers.
obex_test -b xx:xx:xx:xx:xx:xx 5 Using Bluetooth RFCOMM transport OBEX Interactive test client/server. > c Connect OK! Version: 0x10. Flags: 0x00 > p PUT file (local, remote)> qqpart/repertoire/fichier.jpg unfichier.jpg name=qqpart/repertoire/fichier.jpg, size=31254 Going to send 31254bytes Made some progress... Made some progress... Made some progress... Made some progress... PUT successful! > q
- Avec le paquet obexftp:
obexftp -b AA:BB:00:11:CC:22 -p fichier.jpg Browsing AA:BB:00:11:CC:22 ... Channel: 5 Connecting...done Sending "fichier.jpg"...\done Disconnecting...done
En ligne de commande avec Obex
Après avoir installé les paquets obexftp et openobex :
Lister les fichiers sur le téléphone
obexftp -b -l / obexftp -b -l /Photos # lister les fichiers du répertoire /Photos du téléphone
Télécharger un fichier du téléphone vers l'ordinateur
obexftp -b -c /Photos -g file.jpg # télécharger file.jpg qui se trouve dans le répertoire /Photos
Uploader un fichier de l'ordinateur vers le téléphone
obexftp -b -p file.jpg
Les options pour obexftp
-b
(bluetooth) peut être suivi de l'adresse mac du périphérique xx:xx:xx:xx:xx:xx
-c <le_chemin_du_dossier>
ex : -c /Photos
-g <le_nom_du_fichier>
le fichier à télécharger
-p <le-nom_du_fichier>
le fichier à uploader
Monter le périphérique comme répertoire avec obexfs
Le montage se fait dans le répertoire de montage <Repertoire>
obexfs -b AA:BB:00:11:CC:22 Répertoire
Fichiers de configuration
Emplacement des fichiers
- Fichiers de configuration Bluetooth situés dans le répertoire : /etc/bluetooth/
- Fichiers de configuration des appareils appairés situés dans le répertoire : /var/lib/bluetooth/XX:XX:XX:XX:XX:XX/YY:YY:YY:YY:YY:YY (XX:XX:XX:XX:XX:XX est l'adresse MAC de votre contrôleur Bluetooth et YY:YY:YY:YY:YY:YY celle de chaque appareil appairé)
Modifier le nom des périphériques
Lorsque vous affichez la liste des périphériques dans Gnome, le nom qui s'affiche est déterminé par le constructeur. Celui-ci n'est pas forcément parlant (ex : BT4963B). Une simple modification du fichier de configuration du périphérique permet de substituer à ce nom une dénomination plus parlante pour l'utilisateur.
usr@pc:~$ sudo -H gedit /var/lib/bluetooth/XX:XX:XX:XX:XX:XX/YY:YY:YY:YY:YY:YY/info
À l'intérieur du fichier correspondant au périphérique concerné, dans la balise Name, remplacer le nom par défaut par le nom que souhaité (par exemple Name=BT4863B remplacé par Name=CasqueNoir), sauvegarder et quitter. À la prochaine ouverture d'Ubuntu le nouveau nom sera utilisé.
Problèmes connus
Le Bluetooth ne s'active pas
Avant se commencer :
- Vérifiez si dans le BIOS de votre ordinateur le Bluetooth ne serait pas désactivé.
- Vérifier les paramètres dans l'utilitaire bluetooth (Paramètres systèmes→Matériel→Bluetooth)
Si l'utilitaire Bluetooth vous indique que le Bluetooth n'est pas activé, dans un terminal saisir la commande suivante :
sudo /etc/init.d/networking restart
ou
sudo service network-manager restart
(Pour plus de détail sur la différence entre ces deux commandes, voir : https://askubuntu.com/questions/230698/how-to-restart-the-networking-service
Puis redémarrez l'ordinateur.
- Si vous possédez un ordinateur portable avec le bluetooth intégré, il vous faut peut-être l'activer avec un interrupteur matériel. Celui-ci peut être une combinaison de touches du clavier, par exemple Fn + F2 (Sur certains ordinateurs portables, le bouton ON/OFF du Wifi est aussi celui du Bluetooth. Pensez donc à le mettre sur ON).
Problèmes de comportement
Si votre bluetooth réagit de manière étrange, (par exemple l'erreur : Aucun adaptateur Bluetooth n'a été trouvé. Veuillez en connecter un, sous Kubuntu, en allant dans Configuration système → bluetooth), ou encore si vous n'arrivez plus à désactiver le bluetooth et que votre ordinateur n'est pas détecté :
Pour résoudre ce problème il suffit de lancer
sudo rfkill unblock all sudo hciconfig hci0 up
car l'utilitaire rfkill peut gêner l'utilisation du bluetooth.
Parfois certaines cartes/clés buguent. Pour refaire fonctionner le bluetooth sans redémarrer, il suffit d'ouvrir un terminal et de taper ceci:
sudo /etc/init.d/bluetooth restart
Déconnexion et connexion à répétition
Lorsque le périphérique se déconnecte et se reconnecte à répétition, alors suivez cette procédure.
Déconnectez le périphérique
Éditez ce fichier :
sudo nano /etc/bluetooth/input.conf
Retirez le commentaire de la ligne :
#UserspaceHID=true
afin d'avoir :
UserspaceHID=true
Enregistrez les changements avec Ctrl+O, puis quittez avec Ctrl+X
Redémarrez la machine, puis connectez le périphérique bluetooth.
Cas de Ralink RT3290
- Ajouter le PPA ppa:blaze/rtbth-dkms1) dans vos sources de logiciels,
- Renommez le fichier /etc/modprobe.d/rtbth-dkms.conf en /etc/modprobe.d/rtbth-dkms.conf.orig avec les droits d'administration.
Difficulté de détection d'un périphérique bluetooth
Il se peut que vous ayez un problème pour scanner les périphériques à proximité, si ce cas se présente, dans un terminal saisir la commande suivante :
sudo hciconfig hci0 reset
Il faudra le faire à chaque branchement de votre clé bluetooth Vous pouvez faire en sorte que cette commande soit exécutée automatiquement au démarrage, mais il faudra démarrer avec la clé insérée et ne pas la brancher à chaud pour que ça serve à quelque chose.
- Éditer le fichier /etc/init.d/bluetooth et ajoutez la ligne suivante
hciconfig hci0 reset
avant la ligne finale
exit 0
- Sauvegardez, redémarrez et c'est bon.
Permettre l'exploration de fichier sur un téléphone Android
Pour pouvoir explorer les fichiers d'un téléphone sous Android, il faut :
- Installer un serveur ftp bluetooth sur votre téléphone comme celui-là ou mieux encore Amaze File Manager, qui vous permettra le cloud et samba en plus du Ftp tout en étant Open Source !
- Ensuite, lancer l'application sur votre téléphone,
- Supprimer puis recréer la connexion bluetooth (sur l'ordinateur dans les "Paramètres systèmes → Matériel → Bluetooth" ),
- Puis faire clic droit sur l'indicateur d'application Bluetooth dans la barre de notification (ou actualisez dans votre gestionnaire de fichier la page bluetooth),
- Cliquer sur votre périphérique puis sur "explorer le périphérique".
Contrôle volume haut-parleurs bluetooth
Si le volume n'est pas automatiquement basculé, vous avez donc votre dispositif Bluetooth qui joue la musique et vos touches multimédias contrôlent le volume des haut-parleurs de votre ordinateur. Vous pouvez le changer à chaque fois à la main dans les options du son Ubuntu ou alors faire cette petite manipulation qui va basculer automatiquement le contrôle du volume.
- Editer le fichier /etc/pulse/default.pa et rajoutez la ligne
load-module module-switch-on-connect
- Redémarrez.
Le mode A2DP ne fonctionne pas (produisant un son de mauvaise qualité)
Lorsque vous essayez de changer le mode de votre casque/micro de HSP/HFP (basse qualité mais permet l'enregistrement micro) vers A2DP (haute qualité mais pas d'enregistrement possible) rien ne se passe. Ce bug est recensé ici.
En attendant que ce bug soit réparé vous pouvez le résoudre comme suit :
Par sécurité, commencer par faire une copie des fichiers de configuration modifiés :
sudo cp /etc/bluetooth/audio.conf /etc/bluetooth/audio.conf.bak sudo cp /etc/pulse/default.pa /etc/pulse/default.pa.bak sudo cp /usr/bin/start-pulseaudio-x11 /usr/bin/start-pulseaudio-x11.bak
Ouvrez le fichier /etc/bluetooth/audio.conf avec les droits d'administration, et ajoutez en-dessous de la ligne [General]
les lignes :
Enable=Gateway,Source Master=true Disable=Socket AutoConnect=true [Headset] HFP=true MaxConnected=2 FastConnectable=true
Ouvrez le fichier /etc/pulse/default.pa avec les droits d'administration et commentez la ligne (ajoutez le caractère # au début de la ligne) :
load-module module-bluetooth-discover
Ouvrez le fichier /usr/bin/start-pulseaudio-x11 avec les droits d'administration et à la fin du fichier ajoutez la ligne suivante :
/usr/bin/pactl load-module module-bluetooth-discover
Redémarrez alors l'ordinateur et vous pourrez basculer du mode HSP/HFP au mode A2DP.
Le mode HSP/HFP ne fonctionne pas (impossible d'utiliser le micro)
Un bug de la version 5.36 (et plus ?) de bluez fait qu'il est impossible d'activer le mode HSP/HFP via pavucontrol (l'interface graphique de configuration de pulseaudio). En regardant dans les logs (cat /var/log/syslog) vous trouvez un message d'erreur au moment où vous activez le bluetooth :
[pulseaudio] module-bluez5-device.c: Refused to switch profile to headset_head_unit: Not connected
Pour résoudre ce problème, il faut : ou bien passer à la version précédente de bluez (la 5.35 fonctionne), ou bien passer à la version suivante ! La version 5.40 présente dans le dépôt expérimental de debian fonctionne.
Le transfert de fichiers depuis l'ordinateur vers le périphérique ne fonctionne pas et renvoie l'erreur GDBus.Error:org.openobex:Error.Failed: Unable to request session
Il s'agit d'un bug. Une solution est de lancer bluez-simple-agent avant le transfert, par exemple dans le terminal :
bluez-simple-agent
puis de relancer l'envoi du fichier normalement.
La connexion ne fonctionne pas malgré l'appairage
Il faut déjà voir les messages d'erreurs via la commande :
sudo systemctl status bluetooth
- si a2dp-sink profile connect failed
apparait,
installer pulseaudio-module-bluetooth, comme indiqué ici : https://askubuntu.com/questions/1172000/a2dp-sink-profile-connect-failed
Dans le terminal taper les commandes :
sudo apt-get install pulseaudio-module-bluetooth sudo killall pulseaudio pulseaudio --start sudo systemctl restart bluetooth
- si Failed to set mode: Blocked through rfkill
apparaît comme ici : https://askubuntu.com/questions/1340713/bluetooth-service-failed-to-set-mode
Dans le terminal taper les commandes :
sudo rfkill unblock bluetooth sudo systemctl stop bluetooth sudo systemctl status bluetooth sudo systemctl restart bluetooth