Table des matières

, , , , , ,

icône

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.

Cette page s'adresse aux utilisateurs de gnome-bluetooth installé par défaut sur Ubuntu. Pour les utilisateurs des variantes Lubuntu, Xubuntu et Ubuntu Mate, c'est l'utilitaire blueman qui est installé par défaut.

Pré-requis

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

Vous pouvez aussi faire l'appairage depuis "Paramètres systèmes → Matériel → Bluetooth" . Il suffit d'appuyer sur le "+" en bas à gauche

Paramètres et la recherche commence… Suivez ensuite les instructions.

Depuis votre périphérique

Appairer un périphérique audio

Vous souhaitez envoyer de l'audio sur un périphérique Bluetooth (Casques, enceintes,…) : Rien de plus simple.

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:

Envoi de fichiers vers l'ordinateur

Les fichiers reçus se placeront automatiquement dans votre dossier "Téléchargements".

Le transfert vers l'ordinateur n'est possible que si la fenêtre de configuration du Bluetooth est ouverte. Voir ici

Parcours des fichiers présents sur le périphérique

Si le périphérique peut être parcouru,

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"),

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:

(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 est possible que cela entraîne des difficultés à activer/désactiver la connexion Wifi (pbm rencontré sous Jammy) (src: https://bbs.archlinux.org/viewtopic.php?id=155714)

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
hcitool scan
Scanning ...
	0F:E1:2D:C3:4B:A5	Bluetooth Keyboard
sudo hciconfig hci0 piscan
sudo bluez-simple-agent hci0 0F:E1:2D:C3:4B:A5
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)
sudo bluez-test-device trusted 0F:E1:2D:C3:4B:A5 yes
sudo bluez-test-input connect 0F:E1:2D:C3:4B:A5
Appairer un appareil en ligne de commande avec bluetoothctl
[bluetooth]# agent on
Agent registered
[bluetooth]# power on
Changing power on succeeded
[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
[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
gnome-obex-send -d <AdresseMacpériphérique> <fichier>
Attention, cette ligne de commande a été récemment remplacée par
bluetooth-sendto --device=<AdresseMacpériphérique> <fichier>

disponible dans le paquet bluez-gnome.

 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
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

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 :

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.

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.

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.

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 :

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.

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 

Pages en rapport

Liens utiles


Contributeurs : Id2ndR, Gwilherm Al Leonad, Fabien26, laloi.