Notes for pulseaudio based setup for the Sony WH-100XM2. Current Linux distros use pipewire. ===== Fedora <=33 / pulseaudio based setups ===== # Let's install the required packages. Pulls in pulseaudio. # Before these codecs became available, package # pulseaudio-module-bluetooth got installed instead. $ sudo dnf install pulseaudio-module-bluetooth-freeworld # Now restart pulseaudio. Typically, one daemon is running # on your system. Execute the following as user, not root. $ killall pulseaudio $ pulseaudio --start $ sudo systemctl status bluetooth.service $ sudo bluetoothctl [bluetooth]# power on [bluetooth]# agent on [bluetooth]# default-agent [bluetooth]# scan on [NEW] Device XX:XX:XX:XX:XX:XX WH-1000XM2 [bluetooth]# scan off [bluetooth]# trust XX:XX:XX:XX:XX:XX [bluetooth]# pair XX:XX:XX:XX:XX:XX Attempting to pair with XX:XX:XX:XX:XX:XX [CHG] Device XX:XX:XX:XX:XX:XX Connected: yes [CHG] Device XX:XX:XX:XX:XX:XX UUIDs: ... [CHG] Device XX:XX:XX:XX:XX:XX UUIDs: ... [CHG] Device XX:XX:XX:XX:XX:XX Paired: yes Pairing successful [CHG] Device XX:XX:XX:XX:XX:XX Connected: no [bluetooth]# connect XX:XX:XX:XX:XX:XX Attempting to connect to XX:XX:XX:XX:XX:XX [CHG] Device XX:XX:XX:XX:XX:XX Connected: yes Connection successful [bluetooth]# quit ### Which codec is currently active? CARDINDEX=$(pacmd list-cards | grep index|tail -1|awk '{print $2}') echo $CARDINDEX ### Try to set a2dp codec/for good quality audio pacmd set-card-profile $CARDINDEX a2dp_sink ### Try to set h2h profile, for having also microphone usable pacmd set-card-profile $CARDINDEX headset_head_unit ### Verify active profile pacmd list-cards|grep active|tail -1