Bluetooth da CLI

Post 2020 Agosto 09

Il demone “colpevole” della gestione delle connessioni bluetooth è bluethoothd… facile. Di solito le distro sono tutte ben settate per far funzionare l’antenna bluetooth, ma se ancora non è installato alcun software allora su Arch potete usare il solito:

> sudo pacman -S pulseaudio-bluetooth # Io utilizzo Pulseaudio per la gestione dell'input/output audio.

Avviato il demone e quindi l’interfaccia bluetooth sarà attiva (occhio al caso in cui abbiate un macchina con uno switch hardware, io sono sempre su un MacBookPro 2010) potrete usare la CLI per agganciare i dispositivi. La vostra utility sarà in questo caso bluetoothctl che è presente nel pacchetto bluez-utils. Eseguite quindi bluetoothctl che vi farà apparire un prompt tipo: [bluetooth]

> bluetoothctl 
Agent registered
[CHG] Controller C8:BC:C8:D2:C3:F3 Pairable: yes
[CHG] Device B8:D5:0B:76:34:52 Connected: no

Col comando help otterrete la lista dei comandi disponibili. Ora proviamo a connettere un dispositivo, in questo caso la cassa audio esterna SONY SRS-XB10. I omandi saranno: scan, connect, trust, list:

[bluetooth]# scan on # Ricordate di mettere il dispositivo in modalità pairing altrimenti la scansione non lo troverà.
Discovery started
[CHG] Controller C8:BC:C8:D2:C3:F3 Discovering: yes
[CHG] Device B8:D5:0B:76:34:52 RSSI: -56
[CHG] Device B8:D5:0B:76:34:52 TxPower: 4   # Questo è il MAC della cassa audio
[bluetooth]# connect B8:D5:0B:76:34:52 # Mi connetto al dispositivo
Attempting to connect to B8:D5:0B:76:34:52
[CHG] Device B8:D5:0B:76:34:52 Connected: yes
Connection successful
[CHG] Device B8:D5:0B:76:34:52 ServicesResolved: yes
[SRS-XB10]# *trust* B8:D5:0B:76:34:52
[CHG] Device B8:D5:0B:76:34:52 Trusted: yes # Trust col dispositivo in modo che non mi venga più chiesta l'autorizzazione, questo vale specialmente per tastiere e mouse.
Changing B8:D5:0B:76:34:52 trust succeeded

Finito, il dispositivo è connesso e funzionante, se volete sapere quali dispositivi avete registrato usate devices mentre con list avrete l’elenco delle antenne bluetooth della vostra macchina:

[SRS-XB10]# devices
Device 04:DB:56:63:B7:97 Topolo
Device B8:D5:0B:76:34:52 SRS-XB10

Nel caso di casse audio bluetooth, potreste avere il problema che non venga switchata l’uscita audio verso le casse esterne da quelle integrate nella macchina. Per rimediare con pulseaudio è sufficiente modificare il file di conf /etc/pulseaudio/default.pa come di seguito:

#/etc/pulseaudio/default.pa
[...]
.ifexists module-bluetooth-discover.so
load-module module-bluetooth-discover
load-module module-switch-on-connect # <---- Aggiungi questa riga
.endif
[...]
# Riavvia pulseaudio con:
> pulseaudio -k