pop-os / pop

A project for managing all Pop!_OS sources
https://system76.com/pop
2.48k stars 87 forks source link

Bluetooth Headset JBL LIVE 650 BT NC reconnects as handsfree only #3347

Open rvdbergh opened 3 months ago

rvdbergh commented 3 months ago

Distribution (run cat /etc/os-release):

NAME="Pop!_OS"
VERSION="22.04 LTS"
ID=pop
ID_LIKE="ubuntu debian"
PRETTY_NAME="Pop!_OS 22.04 LTS"
VERSION_ID="22.04"
HOME_URL="https://pop.system76.com"
SUPPORT_URL="https://support.system76.com"
BUG_REPORT_URL="https://github.com/pop-os/pop/issues"
PRIVACY_POLICY_URL="https://system76.com/privacy"
VERSION_CODENAME=jammy
UBUNTU_CODENAME=jammy
LOGO=distributor-logo-pop-os

Related Application and/or Package Version (run apt policy $PACKAGE NAME):

bluez:
  Installed: 5.64-0ubuntu1pop1~1674313994~22.04~579884f
  Candidate: 5.64-0ubuntu1pop1~1674313994~22.04~579884f
  Version table:
     5.64-0ubuntu1.3 500
        500 http://mirror.transip.net/ubuntu/ubuntu jammy-security/main amd64 Packages
        500 http://mirror.transip.net/ubuntu/ubuntu jammy-updates/main amd64 Packages
        500 http://apt.pop-os.org/ubuntu jammy-security/main amd64 Packages
        500 http://apt.pop-os.org/ubuntu jammy-updates/main amd64 Packages
 *** 5.64-0ubuntu1pop1~1674313994~22.04~579884f 1001
       1001 http://apt.pop-os.org/release jammy/main amd64 Packages
        100 /var/lib/dpkg/status
     5.64-0ubuntu1 500
        500 http://mirror.transip.net/ubuntu/ubuntu jammy/main amd64 Packages
        500 http://apt.pop-os.org/ubuntu jammy/main amd64 Packages

Issue/Bug Description: My JBL LIVE 650 BT NC Bluetooth headphone always will only reconnect as "handsfree" after it has been connected to my PC once. After the headphones have been successfully connected once, all further attempts to reconnect the headphones to my computer, the "headset" option will disappear entirely and I need to forget the device from Bluetooth settings and pair it again to my computer in order to get the headset option to appear again, every time this is done, it will also connect to the headset option automatically again.

Screenshot from 2024-08-08 16-14-54

Steps to reproduce (if you know): Enable Bluetooth on PC. Power on the Bluetooth headphones and wait for it to enter pairing mode. Select the Bluetooth headset on the PC to make it connect. In sound settings, notice that the headphones are connected using the "headset" option. Power off the headphones, and power them back on. Let the headphones automatically reconnect. Notice that now, they will reconnect as "handsfree" no matter how many times the headset is power cycled.

Expected behavior: The Bluetooth headphones connect to my PC every time with the headset option automatically.

Other Notes: Tested JBL Tour Pro 2 wireless earbuds and JBL Extreme 2 speakers and both connect automatically as a headset rather than handsfree. The system is using an ASUS ROG STRIX X570-E GAMING WIFI II motherboard with built-in WiFi and Bluetooth chipset.

keithfancher commented 2 months ago

I have this exact same issue. PopOS 22.04, same info from /etc/os-release. My headphones are Sony WH-1000XM3 BT. I'm on a System76 Thelio desktop machine.

The same headphones work as expected on Ubuntu 20.04.

Also worth noting, the same headphones have worked fine with PopOS 22.04 until relatively recently. There must have been an update that broke them.

I posted about this on an older issue I found as well: https://github.com/pop-os/pop/issues/2740#issuecomment-2278575194. Looks like others are experiencing the same issue.

Judging by the date of that comment (8/9/2024) and of this issue (8/8/2024), I'd guess the issue was introduced sometime in July? As of my above comment I had already been experiencing it for a few weeks, I'd estimate.

A super-frustrating issue!

keithfancher commented 2 months ago

Okay, I actually did some digging on the pipewire issue tracker and found some really helpful info!

Here's the relevant issue.

The above comment was made by someone who has confirmed that, for them at least, downgrading from kernel version 6.9.3 to version 6.9.2 solves the issue. The date on the issue is June 6 2024. (See also: some kernel.org notes.)

Following is on my machine:

$ uname -a
Linux thelio 6.9.3-76060903-generic #202405300957~1721174657~22.04~abb7c06 SMP PREEMPT_DYNAMIC Wed J x86_64 x86_64 x86_64 GNU/Linux

According to my dpkg logs, this kernel version was installed on my machine on June 20, 2024. The timing lines up!

Now, I guess I have two questions left:

  1. Can I easily downgrade the kernel?
  2. How can we make this more visible to the PopOS folks? Not totally clear how well they pay attention to these issues :smile:

P.S. Someone mentioned this alternate workaround, but not sure if it's the same issue we're experiencing:

Can confirm this issue for Sony WH-1000XM5, and that it has to do something with a dual connection to phone and laptop. Therefore it can be "solved" by disabling Connect to 2 devices simultaneously in the headphones app setting.

I doubt the headphone config software runs on Linux, so I probably can't test it out...

srosato commented 2 months ago

I experience a similar situation (see https://github.com/pop-os/pop/issues/2740#issuecomment-2341982074). Nice find for the issue. I added a long comments with lots of logs on my end on their GitLab.

Maybe your syslog outputs something similar to mine? (connection refused)

keithfancher commented 2 months ago

Maybe your syslog outputs something similar to mine? (connection refused)

Similar, but not quite the same... this is the only (seemingly) relevant thing I in my syslog when connecting:

Sep 10 15:57:25 thelio bluetoothd[1194]: profiles/audio/avdtp.c:cancel_request() Discover: Connection timed out (110)
keithfancher commented 2 months ago

By the way, I was able to confirm that downgrading the kernel solves the issue, at least for me.

Couple different options for this:

  1. The most temporary option: if you restart your machine and spam the spacebar when the Sys76 splash appears, the boot selection screen shows up. You can select the "previous kernel" option. This will only "fix" the issue until you reboot. (You can uname -a or what-have-you to confirm you're no longer on 6.9.3. My "previous" kernel version was 6.8.0.)
  2. The less temporary option: use the kernelstub tool to set a new default boot kernel. I'd still call this somewhat temporary, since you'd probably eventually want to switch back to using the latest kernel -- after it's patched or whatever.

Option 2 makes me a little nervous because I don't know whether that default is updated if/when there's another kernel update. Knowing me, I'd forget about it and realize years later that I was still on an old kernel :sweat_smile:

Haven't heard back from Sys76 support yet so don't know what the official recommendation is.

keithfancher commented 2 months ago

Don't want to duplicate too much info across all these threads, but this bit of info might be relevant to the PopOS folks if/when they see this:

The buggy kernel versions are 6.9.3--6.9.5, the fix should be in 6.9.6+

keithfancher commented 2 months ago

Heard back from System76 support! Here's what they say:

Thank you for reaching out to our support team! I believe the older kernel is 6.8.0 which you can boot to by tapping the Spacebar at boot and using the oldkern. We have been working on updating the kernel here:

https://github.com/pop-os/linux/pull/327

with that said most likely it will be a 6.10 kernel or 6.11 when it is updated next.

No idea when the above would be merged/released, but at least there's a workaround in the meantime!

rvdbergh commented 2 months ago

Thanks for the replies everyone and for confirming I am not the only one with this issue! Now personally I am not willing to mess with my OS kernel at this time, so I'll be dealing with this issue until a new kernel will eventually fix thie issue.

fgmarcal commented 1 month ago

I have the same problem with ubuntu 24.04 kernel 6.8.0-47-generic. So I guess the problem goes deeper on this matter.