Bose QC Headphones can't connect via Bluetooth on Lenovo ThinkPad T14

Hey!

I’ve been trying for a while to connect my Bose QuietComfort Headphones to my Lenovo ThinkPad T14 Gen 5 AMD laptop, but it just doesn’t work. I can successfully pair them using bluetoothctl, but when I try to connect it seems to time out.

I’m a bit lost at what might be the issue here. I’ve tested with my desktop PC that has Pop OS, and there headphones connected instantly.

Maybe it’s because of the hardware (Qualcomm) being too new?

I’d appreciate some pointers or hints. Thank you.

bluetoothctl:

sudo bluetoothctl
[sudo] password for azdanov:
[bluetooth]# Agent registered
[bluetooth]# hci0 new_settings: powered bondable ssp br/edr le secure-conn cis-central cis-peripheral iso-broadcaster sync-receiver
[bluetooth]# [CHG] Controller E8:65:38:E3:E0:CA Pairable: yes
[bluetooth]# devices
Device AC:BF:71:8B:32:C9 Bose QC Headphones
[bluetooth]# connect AC:BF:71:8B:32:C9
Attempting to connect to AC:BF:71:8B:32:C9
[bluetooth]# hci0 AC:BF:71:8B:32:C9 type BR/EDR connected eir_len 0
[Bose QC Headphones]# [CHG] Device AC:BF:71:8B:32:C9 Connected: yes
[Bose QC Headphones]# hci0 AC:BF:71:8B:32:C9 type BR/EDR disconnected with reason 1
[Bose QC Headphones]# Failed to connect: org.bluez.Error.Failed br-connection-canceled
[bluetooth]# [CHG] Device AC:BF:71:8B:32:C9 Connected: no
[bluetooth]# hci0 AC:BF:71:8B:32:C9 type BR/EDR connected eir_len 20
[Bose QC Headphones]# [CHG] Device AC:BF:71:8B:32:C9 Connected: yes
[Bose QC Headphones]# hci0 AC:BF:71:8B:32:C9 type BR/EDR disconnected with reason 3
[bluetooth]# [CHG] Device AC:BF:71:8B:32:C9 Connected: no

systemctl status bluetooth.service:

Nov 06 21:11:41 lenovo bluetoothd[2270]: src/profile.c:record_cb() Unable to get Hands-Free Voice gateway SDP record: Connection timed out
Nov 06 21:11:57 lenovo bluetoothd[2270]: profiles/audio/avdtp.c:cancel_request() Discover: Connection timed out (110)
Nov 06 21:11:57 lenovo bluetoothd[2270]: src/service.c:btd_service_connect() a2dp-source profile connect failed for AC:BF:71:8B:32:C9: Device or resource busy
Nov 06 21:12:19 lenovo bluetoothd[2270]: profiles/audio/avdtp.c:avdtp_connect_cb() connect to AC:BF:71:8B:32:C9: Connection refused (111)
Nov 06 21:24:55 lenovo bluetoothd[2270]: src/profile.c:record_cb() Unable to get Hands-Free Voice gateway SDP record: Connection timed out
Nov 06 21:25:30 lenovo bluetoothd[2270]: profiles/audio/avdtp.c:avdtp_connect_cb() connect to AC:BF:71:8B:32:C9: Connection reset by peer (104)
Nov 06 21:25:30 lenovo bluetoothd[2270]: src/service.c:btd_service_connect() a2dp-source profile connect failed for AC:BF:71:8B:32:C9: Device or resource busy

inxi:

System:
  Host: lenovo Kernel: 6.11.6-arch1-1 arch: x86_64 bits: 64
  Desktop: GNOME v: 47.1 Distro: EndeavourOS
Machine:
  Type: Laptop System: LENOVO product: 21MCS00J00 v: ThinkPad T14 Gen 5
Network:
  Device-1: Realtek RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet
    driver: r8169
  IF: enp1s0f0 state: down mac: c4:c6:e6:5c:80:00
  Device-2: Qualcomm WCN785x Wi-Fi 7 320MHz 2x2 [FastConnect 7800]
    driver: ath12k_pci
  IF: wlan0 state: up mac: e8:65:38:e3:e0:c9
Bluetooth:
  Device-1: Foxconn / Hon Hai driver: btusb type: USB
  Report: btmgmt ID: hci0 state: up address: E8:65:38:E3:E0:CA bt-v: 5.3

hey @azdanov welcome to the purple side :enos:

Is this dualbooting with another OS?

1 Like

No, only Endeavour is installed.

Before it I had Pop OS on the laptop, but it had same issue on kernel 6.9, so I thought maybe newer 6.11 kernel would help.

Edit: But it was worth it to swap my distro, it fixed many other smaller issues I had.

In case the way to get a device properly paired it could be needed to remove first with the GUI from your Desktop from known devices and start over manually with sudo bluetoothctl

set BT Headphones into pairing mode

and follow this:

sudo bluetoothctl
scan on

wait for the device to show up:
[bluetooth]# [NEW] Device XX:XX:XX:XX:XX:XX Bose XYYZ
and run:

pair XX:XX:XX:XX:XX:XX

wait till prompt again shows:
[bluetooth]# instead of the Headphone Name…
and run:
connect XX:XX:XX:XX:XX:XX

could be a chipset with wifi and BT in one…

could you show:

inxi -Eaz ? (details specifically for BT)

[bluetooth]# hci0 AC:BF:71:8B:32:C9 type BR/EDR connected eir_len 0
[Bose QC Headphones]# [CHG] Device AC:BF:71:8B:32:C9 Connected: yes
[Bose QC Headphones]# hci0 AC:BF:71:8B:32:C9 type BR/EDR disconnected with reason 1
[Bose QC Headphones]# Failed to connect: org.bluez.Error.Failed br-connection-canceled

looks like it could be some BR/EDR issue…

inxi -Eaz
Bluetooth:
  Device-1: Foxconn / Hon Hai driver: btusb v: 0.8 type: USB rev: 1.1
    speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 1-3.1:6 chip-ID: 0489:e0fc
    class-ID: e001
  Report: btmgmt ID: hci0 rfk-id: 2 state: up address: <filter> bt-v: 5.3
    lmp-v: 12 status: discoverable: yes pairing: yes class-ID: 6c010c

Kinda similar thing happens now. I can pair, but when I connect it stays on the [Bose QC Headphones] and just shows [CHG] / [NEW] / [DEL] without an end of other devices nearby.

Also, some new errors in the service logs:

Nov 06 22:40:39 lenovo bluetoothd[676]: src/profile.c:record_cb() Unable to get Hands-Free Voice gateway SDP record: Host is down
Nov 06 22:40:40 lenovo bluetoothd[676]: profiles/deviceinfo/deviceinfo.c:read_pnpid_cb() Error reading PNP_ID: Invalid pdu length received

It kinda connects, but not really, without any options to change output :slight_smile:

not much to find about… always a bit tricky with BT devices. BT version 5+ is still a little issue on Linux have two the older one works the one with very latest features simply does not work… similar to your issue.

But i would try to repair with my instructions…

1 Like

Thanks for having a look. I’ll just keep on trying.

try to disconnect and reconnect over gui settings does change anything? in some cases i need to do so to get good connection:
2024-11-06_21-52

in case Gnome BZT settings are problematic in addition so also try to use pavucontrol to set to the SBC mode could help and indeed running bluetoothctl as root…
In case check boot log:

journalctl -b -0 | grep firmware

could be a firmware issue (new hardware) and in case newer firmware could help…
https://aur.archlinux.org/packages/broadcom-bt-firmware-git
https://aur.archlinux.org/packages/linux-firmware-git

1 Like

Now it doesn’t want to connect through GUI at all, it tries to load but then turns off. Probably it never completed a proper connection in the first place.

in addition to debug issues open a terminal and run journalctl -f while try to connect it could show helping message or error/warning

Don’t think there is anything here.

journalctl -b -0 | grep firmware
Nov 06 22:38:34 lenovo kernel: psmouse serio1: trackpoint: Elan TrackPoint firmware: 0x00, buttons: 3/3
Nov 06 22:38:35 lenovo systemd[1]: Clear Stale Hibernate Storage Info was skipped because of an unmet condition check (ConditionPathExists=/sys/firmware/efi/efivars/HibernateLocation-8cf2644b-4b0b-428f-9387-6d876050dc67).
Nov 06 22:38:35 lenovo kernel: platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
Nov 06 22:38:36 lenovo systemd[1]: Clear Stale Hibernate Storage Info was skipped because of an unmet condition check (ConditionPathExists=/sys/firmware/efi/efivars/HibernateLocation-8cf2644b-4b0b-428f-9387-6d876050dc67).
Nov 06 22:38:37 lenovo systemd[1]: Clear Stale Hibernate Storage Info was skipped because of an unmet condition check (ConditionPathExists=/sys/firmware/efi/efivars/HibernateLocation-8cf2644b-4b0b-428f-9387-6d876050dc67).
Nov 06 22:38:37 lenovo kernel: [drm] Loading DMUB firmware via PSP: version=0x08004300
Nov 06 22:38:37 lenovo kernel: [drm] Found VCN firmware Version ENC: 1.22 DEC: 9 VEP: 0 Revision: 3
Nov 06 22:38:37 lenovo NetworkManager[731]: <info>  [1730925517.5849] manager[0x65440d5a6220]: monitoring kernel firmware directory '/lib/firmware'.
Nov 06 22:38:38 lenovo systemd[1]: Startup finished in 9.653s (firmware) + 2.920s (loader) + 1.056s (kernel) + 1.561s (initrd) + 2.893s (userspace) = 18.086s.

Tried it, without anything new. What is interesting is that it showed error updating services in the logs and paired successfully in bluetoothctl at the same time, but then after couldn’t connect as usual.

Nov 06 23:05:27 lenovo bluetoothd[676]: src/device.c:search_cb() AC:BF:71:8B:32:C9: error updating services: Connection timed out (110)
Nov 06 23:06:28 lenovo bluetoothd[676]: src/profile.c:record_cb() Unable to get Hands-Free Voice gateway SDP record: Connection timed out
Nov 06 23:06:46 lenovo bluetoothd[676]: profiles/audio/avdtp.c:cancel_request() Discover: Connection timed out (110)
Nov 06 23:06:46 lenovo bluetoothd[676]: src/service.c:btd_service_connect() a2dp-source profile connect failed for AC:BF:71:8B:32:C9: Device or resource busy
Nov 06 23:07:29 lenovo bluetoothd[676]: profiles/audio/avdtp.c:avdtp_connect_cb() connect to AC:BF:71:8B:32:C9: Connection refused (111)

For what is worth I have no issue with Bose QC Ultra Earbuds with my bluetooth chip set.


❯ inxi -Eaz
Bluetooth:
  Device-1: Intel AX210 Bluetooth driver: btusb v: 0.8 type: USB rev: 2.0
    speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 1-13.4:11 chip-ID: 8087:0032
    class-ID: e001
  Report: btmgmt ID: hci0 rfk-id: 1 state: up address: <filter> bt-v: 5.3
    lmp-v: 12 status: discoverable: yes pairing: yes class-ID: 7c0104

~ via 🌙 v5.4.7 
❯ uname -a
Linux acefour-1 6.11.6-arch1-1 #1 SMP PREEMPT_DYNAMIC Fri, 01 Nov 2024 03:30:41 +0000 x86_64 GNU/Linux
1 Like

intel BT chipsets :wink: Best stable thing you can have …

2 Likes

on researching output people mostly can use device after removing repairing it…

Could be also the issue is not BT and it is about the audio connection… or in general something with the features not working properly what causes to fail to connect audio device… to pipewire…

in /etc/bluetooth/main.conf
you have a lot of options to be set…
#KernelExperimental = false
to
KernelExperimental = true

per example…

or:


# BR/EDR Inquiry scan activity configuration
#InquiryScanType=
#InquiryScanInterval=
#InquiryScanWindow=

# BR/EDR Link supervision timeout
#LinkSupervisionTimeout=

# BR/EDR Page Timeout
#PageTimeout=

# BR/EDR Sniff Intervals
#MinSniffInterval=
#MaxSniffInterval=
# Enables D-Bus experimental interfaces
# Possible values: true or false
Experimental = true

the file also has some ionfo on the settings (what is a cool thing)

1 Like

Thanks, I’ll check the main.conf out. I did experiment with it by turning “bredr” mode only instead of default “dual”, but it’s as you’ve said, most likely the audio part that can’t get configured.

Do you think it’s risky to try installing aur linux-firmware instead of the core that I have at the moment? They are only 5 days apart though (core: 20241017.22a6c7dc-1 vs aur: 20241022.e1d95775-1).

I also checked the aur/broadcom-bt-firmware, but I’m not sure it’s suitable for my hardware.

it is using the Generic Bluetooth USB driver so i bet it is a wifi-bt combi chipset… https://www.qualcomm.com/content/dam/qcomm-martech/dm-assets/documents/fastconnect-7800-product-brief_final19.pdf

The WCN785x
is listed in the Generic Bluetooth USB driver: https://github.com/torvalds/linux/blob/master/drivers/bluetooth/btusb.c
So it is not false detected…

I do use linux-firmware-git here without any issues … in case you can simply reinstall the core package to replace it genertal it should not cause boot stop if it would not work properly… and it is always a good idea to keep an usb installer at hand on arch to be able to arch-chroot in case: https://discovery.endeavouros.com/system-rescue/arch-chroot/2022/12/

1 Like