Ubuntu 21.10: Bluetooth headphones pair but PulseAudio doesn't discover it

Any help on this would be super appreciated… I have a newborn at home and bought some fancy noise-canceling earbuds so that I could sleep through the crying but can’t get them to work with my laptop!

I’m running ubuntu 21.10 on a framework laptop with an Intel Wi-Fi 6E AX210 wireless card. I downloaded the iwlwifi-ty-59.601f3a66.0.tgz driver from here and put it in /lib/firmware as suggested here, so should be up-to-date. Also all my packages are up-to-date.

I want to listen to audio through my bluetooth headset instead of the laptop’s built-in speakers. However, it doesn’t seem to show up in pavucontrol no matter what I do, despite the headset successfully pairing.

I went down the kernel rabbit hole, given the discussion here suggests my kernel:

$ uname -r
5.13.0-22-generic

Is “not recommended.” I tried installing both 5.12 and 5.15 with mainline, but then secureboot didn’t like it, and when I disabled that it went straight into some kind of drive partitioning menu that I didn’t understand instead of booting (maybe something to do with zfs or my encrypted disk?). In any case, since bluetooth does appear to pair I fear that I’m wasting a lot of time with that…

My bluetooth device is successfully pairing:

$ bt-device -i 00:0E:DD:71:B0:6B
[00:0E:DD:71:B0:6B]
  Name: Shure AONIC TW2
  Alias: Shure AONIC TW2 [rw]
  Address: 00:0E:DD:71:B0:6B
  Icon: audio-card
  Class: 0x2c0404
  Paired: 1
  Trusted: 1 [rw]
  Blocked: 0 [rw]
  Connected: 0
  UUIDs: [00001100-d102-11e1-9b23-00025b00a5a5, SerialPort, AudioSource, AudioSink, AVRemoteControlTarget, AVRemoteControl, Handsfree, 00001800-0000-1000-8000-00805f9b34fb, 00001801-0000-1000-8000-00805f9b34fb, 0000eb03-d102-11e1-9b23-00025b00a5a5, 0000eb04-d102-11e1-9b23-00025b00a5a5, 0000eb05-d102-11e1-9b23-00025b00a5a5, 0000eb10-d102-11e1-9b23-00025b00a5a5, 0000fd92-0000-1000-8000-00805f9b34fb]

However, I can’t get it to show up in pavucontrol:

$ pacmd list-sinks
1 sink(s) available.
  * index: 0
	name: <alsa_output.pci-0000_00_1f.3.analog-stereo>

I have the module-bluetooth-discover and have tried:

$ pactl unload-module module-bluetooth-discover
$ pactl load-module module-bluetooth-discover
25

Here’s the output of list-modules:

$ pacmd list-modules | grep -i bluetooth -B 1 -A 5
    index: 8
	name: <module-bluetooth-policy>
	argument: <>
	used: -1
	load once: yes
	properties:
		module.author = "Frédéric Dalleau, Pali Rohár"
		module.description = "Policy module to make using bluetooth devices out-of-the-box easier"
		module.version = "15.0"
    index: 11
	name: <module-native-protocol-unix>
	argument: <>
	used: -1
--
    index: 25
	name: <module-bluetooth-discover>
	argument: <>
	used: -1
	load once: yes
	properties:
		module.author = "João Paulo Rechi Vita"
		module.description = "Detect available Bluetooth daemon and load the corresponding discovery module"
		module.version = "15.0"
    index: 26
	name: <module-bluez5-discover>
	argument: <>
	used: -1
--
		module.author = "João Paulo Rechi Vita"
		module.description = "Detect available BlueZ 5 Bluetooth audio devices and load BlueZ 5 Bluetooth audio drivers"
		module.version = "15.0"

Here’s what I find in dmesg:

$ sudo dmesg | grep -i bluetooth
[    7.906019] Bluetooth: Core ver 2.22
[    7.906035] Bluetooth: HCI device and connection manager initialized
[    7.906037] Bluetooth: HCI socket layer initialized
[    7.906040] Bluetooth: L2CAP socket layer initialized
[    7.906042] Bluetooth: SCO socket layer initialized
[    7.914257] Bluetooth: hci0: Firmware timestamp 2021.38 buildtype 1 build 31586
[    7.919323] Bluetooth: hci0: Found device firmware: intel/ibt-0041-0041.sfi
[    7.919370] Bluetooth: hci0: Boot Address: 0x100800
[    7.919372] Bluetooth: hci0: Firmware Version: 98-38.21
[    7.919373] Bluetooth: hci0: Firmware already loaded
[    9.517963] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    9.517967] Bluetooth: BNEP filters: protocol multicast
[    9.517971] Bluetooth: BNEP socket layer initialized
[   20.558397] Bluetooth: RFCOMM TTY layer initialized
[   20.558402] Bluetooth: RFCOMM socket layer initialized
[   20.558406] Bluetooth: RFCOMM ver 1.11

lspci:

$ lspci
00:00.0 Host bridge: Intel Corporation 11th Gen Core Processor Host Bridge/DRAM Registers (rev 01)
00:02.0 VGA compatible controller: Intel Corporation TigerLake-LP GT2 [Iris Xe Graphics] (rev 01)
00:04.0 Signal processing controller: Intel Corporation TigerLake-LP Dynamic Tuning Processor Participant (rev 01)
00:06.0 PCI bridge: Intel Corporation 11th Gen Core Processor PCIe Controller (rev 01)
00:07.0 PCI bridge: Intel Corporation Tiger Lake-LP Thunderbolt 4 PCI Express Root Port #0 (rev 01)
00:07.1 PCI bridge: Intel Corporation Tiger Lake-LP Thunderbolt 4 PCI Express Root Port #1 (rev 01)
00:07.2 PCI bridge: Intel Corporation Tiger Lake-LP Thunderbolt 4 PCI Express Root Port #2 (rev 01)
00:07.3 PCI bridge: Intel Corporation Tiger Lake-LP Thunderbolt 4 PCI Express Root Port #3 (rev 01)
00:08.0 System peripheral: Intel Corporation GNA Scoring Accelerator module (rev 01)
00:0a.0 Signal processing controller: Intel Corporation Tigerlake Telemetry Aggregator Driver (rev 01)
00:0d.0 USB controller: Intel Corporation Tiger Lake-LP Thunderbolt 4 USB Controller (rev 01)
00:0d.2 USB controller: Intel Corporation Tiger Lake-LP Thunderbolt 4 NHI #0 (rev 01)
00:0d.3 USB controller: Intel Corporation Tiger Lake-LP Thunderbolt 4 NHI #1 (rev 01)
00:12.0 Serial controller: Intel Corporation Tiger Lake-LP Integrated Sensor Hub (rev 20)
00:14.0 USB controller: Intel Corporation Tiger Lake-LP USB 3.2 Gen 2x1 xHCI Host Controller (rev 20)
00:14.2 RAM memory: Intel Corporation Tiger Lake-LP Shared SRAM (rev 20)
00:15.0 Serial bus controller [0c80]: Intel Corporation Tiger Lake-LP Serial IO I2C Controller #0 (rev 20)
00:15.1 Serial bus controller [0c80]: Intel Corporation Tiger Lake-LP Serial IO I2C Controller #1 (rev 20)
00:15.3 Serial bus controller [0c80]: Intel Corporation Tiger Lake-LP Serial IO I2C Controller #3 (rev 20)
00:16.0 Communication controller: Intel Corporation Tiger Lake-LP Management Engine Interface (rev 20)
00:16.3 Serial controller: Intel Corporation Tiger Lake-LP Active Management Technology - SOL (rev 20)
00:1d.0 PCI bridge: Intel Corporation Device a0b1 (rev 20)
00:1f.0 ISA bridge: Intel Corporation Tiger Lake-LP LPC Controller (rev 20)
00:1f.3 Audio device: Intel Corporation Tiger Lake-LP Smart Sound Technology Audio Controller (rev 20)
00:1f.4 SMBus: Intel Corporation Tiger Lake-LP SMBus Controller (rev 20)
00:1f.5 Serial bus controller [0c80]: Intel Corporation Tiger Lake-LP SPI Controller (rev 20)
01:00.0 Non-Volatile memory controller: Sandisk Corp WD Black SN850 (rev 01)
aa:00.0 Network controller: Intel Corporation Wi-Fi 6 AX210/AX211/AX411 160MHz (rev 1a)

I got 5.15 installed and I think I have the same problem. My headphones connect but then immediately disconnect in the GUI.

Not sure if this will apply to you at all, but I * think * I got it working by switching fully to pipewire?