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.
  • 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 applet dans la barre de notification).

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.

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

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

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.

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.

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

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,

  • Cliquer sur l'indicateur d'application Bluetooth applet 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.

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

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

Ouvrir un terminal et entrer la commande suivante :

sudo nano /etc/bluetooth/main.conf

Dans le fichier, 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.

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

  • 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

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

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.

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

  • bluetooth.txt
  • Dernière modification: Le 11/12/2023, 17:30
  • par LukePerp