mSBC broken in current kernel versions
Bluetooth-next changed mSBC altsetting again: https://lore.kernel.org/linux-bluetooth/E9F68188-F920-4CBA-95D4-4270472D63D6@holtmann.org/T/
We'll need to test if things still work before this hits mainline, and complain if it doesn't.
This breaks mSBC audio output (and possibly also input) with several USB bluetooth adapters (CSR, Broadcom, many Intel ones).
Kernel patch that should fix this: https://firstname.lastname@example.org/
For those who want to patch their kernel: find out how to build "out-of-tree" kernel modules on your distribution, and do so for
drivers/bluetooth (be sure to understand what you are doing first). Eg. on Fedora 34, you'll need to do:
sudo dnf install kernel-devel; sudo dnf build-dep kernel
- Download mainline kernel sources for the kernel version you have (check
uname -r), from https://kernel.org/ (e.g. linux-5.13.8.tar.xz) and unpack them.
- Download and apply patch:
curl https://email@example.com/raw/ | patch -p3 -N -E
make -C /lib/modules/$(uname -r)/build M=$PWD modules
- As root, copy the *.ko files to
modprobe -r btusb; depmod -a; modprobe btusbto reload the new driver.
- On some distros, the 'updates' directory doesn't exist and you need to copy them somewhere else there, and possibly also remove old modules.
modinfo btusbtells which module is being used.
You'll also need to set
bluez5.enable-msbc = true in
bluez-monitor.conf https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Config-Bluetooth and restart pipewire, to override the blocklisting of the kernel versions in question.