J'utilise bluez v5.46 sur Ubuntu 17.10 et je ne parviens pas à me connecter à un périphérique Bluetooth couplé.
Voici le résultat de la commande bluetoothctl
:
$ bluetoothctl
[NEW] Controller 6C:0B:84:27:43:66 tensorFlowPHY [default]
Agent registered
[bluetooth]# scan on
Discovery started
[CHG] Controller 6C:0B:84:27:43:66 Discovering: yes
[NEW] Device FC:58:FA:A1:C2:70 OE-P51
[bluetooth]# trust FC:58:FA:A1:C2:70
[CHG] Device FC:58:FA:A1:C2:70 Trusted: yes
Changing FC:58:FA:A1:C2:70 trust succeeded
[bluetooth]# pair FC:58:FA:A1:C2:70
Attempting to pair with FC:58:FA:A1:C2:70
[CHG] Device FC:58:FA:A1:C2:70 Connected: yes
[CHG] Device FC:58:FA:A1:C2:70 UUIDs: 00001101-0000-1000-8000-00805f9b34fb
[CHG] Device FC:58:FA:A1:C2:70 UUIDs: 00001108-0000-1000-8000-00805f9b34fb
[CHG] Device FC:58:FA:A1:C2:70 UUIDs: 0000110b-0000-1000-8000-00805f9b34fb
[CHG] Device FC:58:FA:A1:C2:70 UUIDs: 0000110e-0000-1000-8000-00805f9b34fb
[CHG] Device FC:58:FA:A1:C2:70 UUIDs: 0000111e-0000-1000-8000-00805f9b34fb
[CHG] Device FC:58:FA:A1:C2:70 ServicesResolved: yes
[CHG] Device FC:58:FA:A1:C2:70 Paired: yes
Pairing successful
[CHG] Device FC:58:FA:A1:C2:70 ServicesResolved: no
[CHG] Device FC:58:FA:A1:C2:70 Connected: no
[CHG] Controller 6C:0B:84:27:43:66 Discoverable: no
[bluetooth]# connect FC:58:FA:A1:C2:70
Attempting to connect to FC:58:FA:A1:C2:70
Failed to connect: org.bluez.Error.Failed
Voici un peu plus d'informations:
$ journalctl -u bluetooth | tail
Mar 29 12:06:01 tensorFlowPHY systemd[1]: Started Bluetooth service.
Mar 29 12:06:01 tensorFlowPHY bluetoothd[1136]: Starting SDP server
Mar 29 12:06:01 tensorFlowPHY bluetoothd[1136]: Bluetooth management interface 1.14 initialized
Mar 29 14:36:12 tensorFlowPHY bluetoothd[1136]: a2dp-sink profile connect failed for FC:58:FA:A1:C2:70: Protocol not available
Mar 29 14:36:59 tensorFlowPHY bluetoothd[1136]: a2dp-sink profile connect failed for FC:58:FA:A1:C2:70: Protocol not available
Et systemctl
dit:
$ systemctl status bluetooth
● bluetooth.service - Bluetooth service
Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2018-03-30 16:30:15 CEST; 21s ago
Docs: man:bluetoothd(8)
Main PID: 1492 (bluetoothd)
Status: "Running"
Tasks: 1 (limit: 4915)
Memory: 1.5M
CPU: 42ms
CGroup: /system.slice/bluetooth.service
└─1492 /usr/lib/bluetooth/bluetoothd
Mar 30 16:30:15 tensorFlowPHY systemd[1]: Starting Bluetooth service...
Mar 30 16:30:15 tensorFlowPHY bluetoothd[1492]: Bluetooth daemon 5.46
Mar 30 16:30:15 tensorFlowPHY systemd[1]: Started Bluetooth service.
Mar 30 16:30:15 tensorFlowPHY bluetoothd[1492]: Starting SDP server
Mar 30 16:30:15 tensorFlowPHY bluetoothd[1492]: Bluetooth management interface 1.14 initialized
Mar 30 16:30:20 tensorFlowPHY bluetoothd[1492]: a2dp-sink profile connect failed for FC:58:FA:A1:C2:70: Protocol not available
Mar 30 16:30:31 tensorFlowPHY bluetoothd[1492]: a2dp-sink profile connect failed for FC:58:FA:A1:C2:70: Protocol not available
EDIT 1: J'ai installé un paquet Ubuntu qui manquait: pulseaudio-module-bluetooth
et redémarré pulseaudio avec la commande: pulseaudio -k
Maintenant, la sortie du journal Bluetooth après l’essai de la connexion est:
Mar 30 16:36:59 tensorFlowPHY bluetoothd[1492]: Unable to get connect data for Headset Voice gateway: getpeername: Transport endpoint is not connected (107)
Mar 30 16:37:00 tensorFlowPHY bluetoothd[1492]: connect error: Connection refused (111)
Mar 30 16:37:02 tensorFlowPHY bluetoothd[1492]: connect error: Connection refused (111)
Une idée pourquoi?
EDIT 2: Je viens de redémarrer Ubuntu en tant que personne priée de le faire. J'ai toujours le même pb.
EDIT 3: Les deux modules sont déjà chargés dans /etc/Pulse/default.pa
:
$ egrep "(policy|discover)" /etc/Pulse/default.pa
.ifexists module-bluetooth-policy.so
load-module module-bluetooth-policy
.ifexists module-bluetooth-discover.so
load-module module-bluetooth-discover
Mais je ne trouve pas ceux sur le disque dur, dois-je installer autre chose?
EDIT 4: Mon erreur, j'ai utilisé la commande locate
. Après un Sudo updatedb
, la commande locate
est maintenant capable de trouver ces 2 fichiers.
EDIT 5: Voici la sortie pactl
:
$ pactl list modules | grep "Name:"
Name: module-device-restore
Name: module-stream-restore
Name: module-card-restore
Name: module-augment-properties
Name: module-switch-on-port-available
Name: module-udev-detect
Name: module-alsa-card
Name: module-alsa-card
Name: module-bluetooth-policy
Name: module-bluetooth-discover
Name: module-bluez5-discover
Name: module-native-protocol-unix
Name: module-default-device-restore
Name: module-rescue-streams
Name: module-always-sink
Name: module-intended-roles
Name: module-suspend-on-idle
Name: module-console-kit
Name: module-systemd-login
Name: module-position-event-sounds
Name: module-role-cork
Name: module-filter-heuristics
Name: module-filter-apply
Name: module-switch-on-connect
Name: module-x11-publish
Name: module-x11-cork-request
Name: module-x11-xsmp
et la sortie dpkg -l
:
$ dpkg -l | grep blue
ii bluefish 2.2.9-1 AMD64 advanced Gtk+ text editor for web and software development
ii bluefish-data 2.2.9-1 all advanced Gtk+ text editor (data)
ii bluefish-plugins 2.2.9-1 AMD64 advanced Gtk+ text editor (plugins)
ii blueman 2.0.4-1ubuntu3 AMD64 Graphical bluetooth manager
ii bluez 5.46-0ubuntu3 AMD64 Bluetooth tools and daemons
ii bluez-cups 5.46-0ubuntu3 AMD64 Bluetooth printer driver for CUPS
ii bluez-obexd 5.46-0ubuntu3 AMD64 bluez obex daemon
ii bluez-tools 0.2.0~20140808-5build1 AMD64 Set of tools to manage Bluetooth devices for linux
ii gnome-bluetooth 3.26.1-1 AMD64 GNOME Bluetooth tools
ii indicator-bluetooth 0.0.6+17.10.20170605-0ubuntu3 AMD64 System bluetooth indicator.
ii libbluetooth3:AMD64 5.46-0ubuntu3 AMD64 Library to use the BlueZ Linux Bluetooth stack
ii libgnome-bluetooth13:AMD64 3.26.1-1 AMD64 GNOME Bluetooth tools - support library
ii pulseaudio-module-bluetooth 1:10.0-2ubuntu3.1 AMD64 Bluetooth module for PulseAudio sound server
EDIT 6: Votre solution a fonctionné! Pour résumer :
$ bluetoothctl
[bluetooth]# power on
Changing power on succeeded
[CHG] Controller 6C:0B:84:27:43:66 Powered: yes
[bluetooth]# remove FC:58:FA:A1:C2:70
[DEL] Device FC:58:FA:A1:C2:70 OE-P51
Device has been removed
[bluetooth]# exit
Agent unregistered
[DEL] Controller 6C:0B:84:27:43:66 tensorFlowPHY [default]
$ Sudo service bluetooth restart
et enfin :
$ bluetoothctl
[NEW] Controller 6C:0B:84:27:43:66 tensorFlowPHY [default]
Agent registered
[bluetooth]# power on
Changing power on succeeded
[CHG] Controller 6C:0B:84:27:43:66 Powered: yes
[bluetooth]# scan on
Discovery started
[CHG] Controller 6C:0B:84:27:43:66 Discovering: yes
[NEW] Device FC:58:FA:A1:C2:70 OE-P51
[bluetooth]# trust FC:58:FA:A1:C2:70
[CHG] Device FC:58:FA:A1:C2:70 Trusted: yes
Changing FC:58:FA:A1:C2:70 trust succeeded
[bluetooth]# pair FC:58:FA:A1:C2:70
Attempting to pair with FC:58:FA:A1:C2:70
[CHG] Device FC:58:FA:A1:C2:70 Connected: yes
[CHG] Device FC:58:FA:A1:C2:70 UUIDs: 00001101-0000-1000-8000-00805f9b34fb
[CHG] Device FC:58:FA:A1:C2:70 UUIDs: 00001108-0000-1000-8000-00805f9b34fb
[CHG] Device FC:58:FA:A1:C2:70 UUIDs: 0000110b-0000-1000-8000-00805f9b34fb
[CHG] Device FC:58:FA:A1:C2:70 UUIDs: 0000110e-0000-1000-8000-00805f9b34fb
[CHG] Device FC:58:FA:A1:C2:70 UUIDs: 0000111e-0000-1000-8000-00805f9b34fb
[CHG] Device FC:58:FA:A1:C2:70 ServicesResolved: yes
[CHG] Device FC:58:FA:A1:C2:70 Paired: yes
Pairing successful
[CHG] Device FC:58:FA:A1:C2:70 ServicesResolved: no
[CHG] Device FC:58:FA:A1:C2:70 Connected: no
[bluetooth]# connect FC:58:FA:A1:C2:70
Attempting to connect to FC:58:FA:A1:C2:70
[CHG] Device FC:58:FA:A1:C2:70 Connected: yes
Connection successful
[CHG] Device FC:58:FA:A1:C2:70 UUIDs: 00001101-0000-1000-8000-00805f9b34fb
[CHG] Device FC:58:FA:A1:C2:70 UUIDs: 00001108-0000-1000-8000-00805f9b34fb
[CHG] Device FC:58:FA:A1:C2:70 UUIDs: 0000110b-0000-1000-8000-00805f9b34fb
[CHG] Device FC:58:FA:A1:C2:70 UUIDs: 0000110c-0000-1000-8000-00805f9b34fb
[CHG] Device FC:58:FA:A1:C2:70 UUIDs: 0000110e-0000-1000-8000-00805f9b34fb
[CHG] Device FC:58:FA:A1:C2:70 UUIDs: 0000111e-0000-1000-8000-00805f9b34fb
[CHG] Device FC:58:FA:A1:C2:70 ServicesResolved: yes
[OE-P51]#
De Arch wiki , L'appariement fonctionne, mais la connexion ne fonctionne pas , section:
Cela peut être dû au fait que le paquet pulseaudio-bluetooth n’est pas installé. Installez-le s'il manque, puis redémarrez pulseaudio.
Mais le nom du paquet pulseaudio-bluetooth
est pulseaudio-module-bluetooth
sur Ubuntu.
Donc, votre problème devrait être résolu après l’avoir installé:
Sudo apt install pulseaudio-module-bluetooth
Et après avoir installé ce paquet , redémarrez votre système pour charger certains modules audio Pulse tels que module-bluetooth-policy
et module-bluetooth-discover
.
Mise à jour:
Mais si encore, vous obtenez le message ci-dessous après le redémarrage:
erreur de connexion: connexion refusée (111)
Selon this answer, vous devriez ajouter ces lignes au fichier /etc/Pulse/default.pa
. (Si non existe):
load-module module-bluetooth-policy
load-module module-bluetooth-discover
Mais ces lignes doivent exister par défaut et après le redémarrage de votre système, ces modules doivent être chargés.
Update2:
Selon cet article sur Arch wiki:
Cela peut être dû au fait que vous avez déjà couplé le périphérique avec un autre système d'exploitation utilisant le même adaptateur Bluetooth (par exemple, le double démarrage). Certains appareils ne peuvent pas gérer plusieurs liaisons associées à la même adresse MAC (c'est-à-dire un adaptateur Bluetooth). Vous pouvez résoudre ce problème en rapprochant l'appareil.
Alors s'il vous plaît re-coupler votre appareil avec ces commandes (ou vous pouvez utiliser la méthode graphique):
Première exécution:
bluetoothctl
Utilisez ensuite ces commandes pour afficher les périphériques couplés:
devices
Et cela devrait avoir une sortie comme celle-ci:
Device XX:XX:XX:XX:XX:XX Device Name
Ensuite, supprimez les appareils jumelés avec cette commande:
remove XX:XX:XX:XX:XX:XX
Et redémarrez le service Bluetooth:
Sudo service bluetooth restart
Puis essayez à nouveau d'appairer l'appareil.