Envoyer via bluetooth l’audio d’un mobile vers un PC sous linux/XFCE

Pour le fun j’ai configuré bluetooth de ma station Linux sous mageia 6/XFCE pour qu’elle rediffuse sur ses hauts parleurs le son provenant d’un mobile. Tout d’abord j’ai installé les packages suivants pulseaudio-module-bluetooth, blueman, bluez et obexftp. Ils sont en théorie installés par défaut sur une distribution linux récente, mais sait-on jamais. J’ai dû bidouiller manuellement la configuration du serveur audio pulseaudio pour qu’il reconnaisse en tant que sortie/entrée audio les périphériques audio bluetooth en rajoutant en fin du fichier /etc/pulse/system.pa les lignes suivantes:

load-module module-bluetooth-policy
load-module module-bluetooth-discover

et en rajoutant le fichier /etc/dbus-1/system.d/pulseaudio-bluetooth.conf contenant:

<busconfig>

<policy user="pulse">
<allow send_destination="org.bluez"/>
</policy>

</busconfig>

on relance pulseaudio avec systemd

systemctl stop pulseaudio
systemctl start pulseaudio

on vérifie que le bluetooth est bien activé sur la machine en tapant systemctl status bluetooth. Cela doit donner quelque chose comme cela :

● bluetooth.service - Bluetooth service
Loaded: loaded (/usr/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
Active: active (running) since dim. 2017-11-19 09:24:34 CET; 5h 40min ago
Docs: man:bluetoothd(8)
Main PID: 966 (bluetoothd)
Status: "Running"
CGroup: /system.slice/bluetooth.service
└─966 /usr/libexec/bluetooth/bluetoothd

nov. 19 09:24:34 predator.kervao.fr systemd[1]: Starting Bluetooth service...
nov. 19 09:24:34 predator.kervao.fr bluetoothd[966]: Bluetooth daemon 5.45
nov. 19 09:24:34 predator.kervao.fr systemd[1]: Started Bluetooth service.
nov. 19 09:24:34 predator.kervao.fr bluetoothd[966]: Starting SDP server
nov. 19 09:24:34 predator.kervao.fr bluetoothd[966]: Bluetooth management interface 1.14 initialized

Pour appairer en ligne de commande on tapera la commande bluetoothctl qui va nous donner au premier lancement:

[NEW] Controller 40:E2:30:4B:65:EE ChromeLinux_2B7B [default]
Agent registered

on peut voir notre contrôleur interne bluetooth qui sera reconnu avec le nom ChromeLinux_2B7B avec son adresse spécifique. Avec la commande show au prompt [bluetooth]# on a un peu plus de détails:

Controller 40:E2:30:4B:65:EE
Name: predator.kervao.fr
Alias: ChromeLinux_2B7B
Class: 0x000104
Powered: yes
Discoverable: yes
Pairable: yes
UUID: Generic Attribute Profile (00001801-0000-1000-8000-00805f9b34fb)
UUID: A/V Remote Control (0000110e-0000-1000-8000-00805f9b34fb)
UUID: PnP Information (00001200-0000-1000-8000-00805f9b34fb)
UUID: Generic Access Profile (00001800-0000-1000-8000-00805f9b34fb)
UUID: A/V Remote Control Target (0000110c-0000-1000-8000-00805f9b34fb)
Modalias: usb:v1D6Bp0246d052D
Discovering: no

maintenant on allume à proximité un périphérique bluetooth pour ma part un smartphone Lenovo B. Au prompt [bluetooth]# on tape scan on et voilà le résultat:

[NEW] Device 48:88:CA:48:F9:18 Lenovo A2016a40

on l’appaire en tapant pair 48:88:CA:48:F9:18 et voici le résultat :

Attempting to pair with 48:88:CA:48:F9:18
[CHG] Device 48:88:CA:48:F9:18 Connected: yes
Request confirmation
[agent] Confirm passkey 920234 (yes/no):

il faudra d’abord autoriser la connexion sur le mobile avant d’écrire yes. Et voilà le résultat:

[CHG] Device 48:88:CA:48:F9:18 Modalias: bluetooth:v000Fp1200d1436
[CHG] Device 48:88:CA:48:F9:18 UUIDs: 00001105-0000-1000-8000-00805f9b34fb
[CHG] Device 48:88:CA:48:F9:18 UUIDs: 0000110a-0000-1000-8000-00805f9b34b
[CHG] Device 48:88:CA:48:F9:18 UUIDs: 0000110c-0000-1000-8000-00805f9b34fb
[CHG] Device 48:88:CA:48:F9:18 UUIDs: 0000110e-0000-1000-8000-00805f9b34fb
[CHG] Device 48:88:CA:48:F9:18 UUIDs: 00001112-0000-1000-8000-00805f9b34fb
[CHG] Device 48:88:CA:48:F9:18 UUIDs: 00001115-0000-1000-8000-00805f9b34fb
[CHG] Device 48:88:CA:48:F9:18 UUIDs: 00001116-0000-1000-8000-00805f9b34fb
[CHG] Device 48:88:CA:48:F9:18 UUIDs: 0000111f-0000-1000-8000-00805f9b34fb
[CHG] Device 48:88:CA:48:F9:18 UUIDs: 0000112f-0000-1000-8000-00805f9b34fb
[CHG] Device 48:88:CA:48:F9:18 UUIDs: 00001132-0000-1000-8000-00805f9b34fb
[CHG] Device 48:88:CA:48:F9:18 UUIDs: 00001200-0000-1000-8000-00805f9b34fb
[CHG] Device 48:88:CA:48:F9:18 UUIDs: 00001800-0000-1000-8000-00805f9b34fb
[CHG] Device 48:88:CA:48:F9:18 UUIDs: 00001801-0000-1000-8000-00805f9b34fb
[CHG] Device 48:88:CA:48:F9:18 ServicesResolved: yes
[CHG] Device 48:88:CA:48:F9:18 Paired: yes
Pairing successful

pour ne pas avoir à refaire la connexion à chaque fois, on déclarera le périphérique de confiance en tapant trust 48:88:CA:48:F9:18 cela donne :

[CHG] Device 48:88:CA:48:F9:18 Trusted: yes
Changing 48:88:CA:48:F9:18 trust succeeded

On peut continuer longtemps encore en ligne de commande, mais le plus simple est encore de passer en mode graphique avec l’applet blueman-manager de XFCE. On veillera à la configuration du périphérique à le déclarer comme une source audio.

on fera en sorte sur le smartphone d’autoriser l’accès aux paramètres audio au PC en cochant la case qui va bien ci-dessous.

et voilà, il suffit maintenant de lancer de l’audio sur le portable qui sera renvoyé directement sur les hauts parleurs du PC. On notera qu’un périphérique bluetooth a fait automatiquement son apparition dans le gestionnaire audio de pulseaudio.

Laisser un commentaire