Bluetooth A2DP Audio Troubles

Hi, I did a fresh install of fedora 30 recently and everything(for the most part) worked great. Unfortunately, my Bluetooth headphones(WH-1000XM2) stopped working today. I can hear audio with the Headset Head Unit config (mono). The High Fidelity config is listed as an option but I can just barely hear audio when selected. Volume is at max. The Hight Fidelity config still works using the internal speakers and the analog headphone jack

How do I troubleshoot this? DNF history shows I have done a few updates recently. Perhaps one of those caused the issue? I’m not sure where to start.

Have a look here
https://www.howtoforge.com/tutorial/how-to-send-sound-through-bluetooth-on-linux/

This should also work for Fedora using dnf package manager.
There seems to be a package conflict for instance.
But despite of this my Fedora 30 is collaborating with a bluetooth receiver a2dp. I can send sound out of Fedora 30 to a bluetooth receiver. It appears as new playback HiFi a2dp sink in Pulseaudio.

In case of troubles investigate on capabilites of controller and receiving device by mean of
bluetoothctl

1 Like

Since Fedora 29, Fedora users using RPM Fusion can do:

dnf shell 
install pulseaudio-module-bluetooth-freeworld
remove pulseaudio-module-bluetooth
run

This package contains: “Bluetooth audio (A2DP/HSP/HFP) support for the PulseAudio sound server. Includes support for LDAC, aptX and aptX-HD codecs.”

Enjoy!

EDIT: fix for conflicts with nonfreeworld package as reported by [awfed]

4 Likes

Welcome to the new AskFedora @kwizart :slight_smile:


dnf install pulseaudio-module-bluetooth-freeworld
Letzte PrĂĽfung auf abgelaufene Metadaten: vor 0:32:44 am Fr 17 Mai 2019 17:32:41 CEST.
Fehler: 
 Problem: problem with installed package pulseaudio-module-bluetooth-12.2-3.fc30.x86_64
  - package pulseaudio-module-bluetooth-freeworld-1.1-3.fc30.x86_64 conflicts with pulseaudio-module-bluetooth < 12.2-100 provided by pulseaudio-module-bluetooth-12.2-3.fc30.x86_64
  - conflicting requests
  - package pulseaudio-module-bluetooth-freeworld-1.1.99-2.fc30.x86_64 conflicts with pulseaudio-module-bluetooth < 12.2-100 provided by pulseaudio-module-bluetooth-12.2-3.fc30.x86_64

What to do now?

1 Like

So, you are saying that the standard pulseaudio Bluetooth module does not work? Is this a bug, or expected behavior? And I would have to install this freeworld package just to play audio through a Bluetooth speaker?

I suspect I’m having the same problem. I have wasted the past hour diddling with Gnome Bluetooth and the bluetoothctl program, but nothing works. My speaker is seen and I can find the address, but when I run the pair subcommand, it always responds “Failed to pair: org.bluez.Error.ConnectionAttemptFailed”.

This package is only needed when using the audio listed above, so it depends if the headsets are using any of them.

In most cases, you should only relies on PCM I guess, so it will be fine in most situation with the default fedora packages.

I cannot help to debug others Bluetooth issue, but others might…

1 Like

Ok, I broke down and replaced pulseaudio-module-bluetooth with pulseaudio-module-bluetooth-freeworld. Now, I can successfully pair with my speakers. However, I still cannot connect to them. The bluetoothctl connect command still fails immediately with “Failed to connect: org.bluez.Error.Failed”.

Should I start a new thread for my problem?

1 Like

What does journalctl -b -u bluetooth say?

2 Likes
-- Logs begin at Mon 2019-07-29 13:11:40 CDT, end at Tue 2019-08-20 07:45:15 CDT. --
Aug 19 12:55:36 localhost.localdomain systemd[1]: Starting Bluetooth service...
Aug 19 12:55:36 localhost.localdomain bluetoothd[827]: Bluetooth daemon 5.50
Aug 19 12:55:36 localhost.localdomain bluetoothd[827]: Starting SDP server
Aug 19 12:55:36 localhost.localdomain systemd[1]: Started Bluetooth service.
Aug 19 12:55:36 localhost.localdomain bluetoothd[827]: Bluetooth management interface 1.14 initialized
Aug 19 12:55:55 localhost.localdomain bluetoothd[827]: Endpoint registered: sender=:1.202 path=/MediaEndpoint/A2DPSource
Aug 19 12:55:55 localhost.localdomain bluetoothd[827]: Endpoint registered: sender=:1.202 path=/MediaEndpoint/A2DPSink
Aug 19 13:13:10 localhost.localdomain bluetoothd[827]: Endpoint unregistered: sender=:1.202 path=/MediaEndpoint/A2DPSource
Aug 19 13:13:10 localhost.localdomain bluetoothd[827]: Endpoint unregistered: sender=:1.202 path=/MediaEndpoint/A2DPSink
Aug 19 13:13:10 localhost.localdomain bluetoothd[827]: Endpoint registered: sender=:1.608 path=/MediaEndpoint/A2DPSource/VENDOR/LDAC
Aug 19 13:13:10 localhost.localdomain bluetoothd[827]: Endpoint registered: sender=:1.608 path=/MediaEndpoint/A2DPSource/VENDOR/APTXHD
Aug 19 13:13:10 localhost.localdomain bluetoothd[827]: Endpoint registered: sender=:1.608 path=/MediaEndpoint/A2DPSource/VENDOR/APTX
Aug 19 13:13:10 localhost.localdomain bluetoothd[827]: Endpoint registered: sender=:1.608 path=/MediaEndpoint/A2DPSource/AAC
Aug 19 13:13:10 localhost.localdomain bluetoothd[827]: Endpoint registered: sender=:1.608 path=/MediaEndpoint/A2DPSource/SBC
Aug 19 13:13:10 localhost.localdomain bluetoothd[827]: Endpoint registered: sender=:1.608 path=/MediaEndpoint/A2DPSink/VENDOR/APTXHD
Aug 19 13:13:10 localhost.localdomain bluetoothd[827]: Endpoint registered: sender=:1.608 path=/MediaEndpoint/A2DPSink/VENDOR/APTX
Aug 19 13:13:10 localhost.localdomain bluetoothd[827]: Endpoint registered: sender=:1.608 path=/MediaEndpoint/A2DPSink/AAC
Aug 19 13:13:10 localhost.localdomain bluetoothd[827]: Endpoint registered: sender=:1.608 path=/MediaEndpoint/A2DPSink/SBC
Aug 19 13:16:14 localhost.localdomain bluetoothd[827]: Unable to get Headset Voice gateway SDP record: Device or resource busy
Aug 19 13:16:14 localhost.localdomain bluetoothd[827]: connect error: Device or resource busy (16)
Aug 19 13:16:16 localhost.localdomain bluetoothd[827]: connect error: Device or resource busy (16)
Aug 19 13:16:30 localhost.localdomain bluetoothd[827]: Unable to get Headset Voice gateway SDP record: Device or resource busy
Aug 19 13:16:30 localhost.localdomain bluetoothd[827]: connect error: Device or resource busy (16)
Aug 19 13:16:33 localhost.localdomain bluetoothd[827]: connect error: Device or resource busy (16)
Aug 19 13:17:31 localhost.localdomain bluetoothd[827]: Unable to get Headset Voice gateway SDP record: Device or resource busy
Aug 19 13:17:31 localhost.localdomain bluetoothd[827]: connect error: Device or resource busy (16)
Aug 19 13:17:33 localhost.localdomain bluetoothd[827]: connect error: Device or resource busy (16)
Aug 19 13:24:05 localhost.localdomain bluetoothd[827]: Unable to get Headset Voice gateway SDP record: Device or resource busy
Aug 19 13:24:05 localhost.localdomain bluetoothd[827]: connect error: Device or resource busy (16)
Aug 19 13:24:07 localhost.localdomain bluetoothd[827]: connect error: Device or resource busy (16)
Aug 19 13:24:10 localhost.localdomain bluetoothd[827]: Unable to get Headset Voice gateway SDP record: Device or resource busy
Aug 19 13:24:10 localhost.localdomain bluetoothd[827]: connect error: Device or resource busy (16)
Aug 19 13:24:12 localhost.localdomain bluetoothd[827]: connect error: Device or resource busy (16)
Aug 19 13:24:19 localhost.localdomain bluetoothd[827]: Unable to get Headset Voice gateway SDP record: Device or resource busy
Aug 19 13:24:19 localhost.localdomain bluetoothd[827]: connect error: Device or resource busy (16)
Aug 19 13:24:22 localhost.localdomain bluetoothd[827]: Unable to get Headset Voice gateway SDP record: Device or resource busy
Aug 19 13:24:22 localhost.localdomain bluetoothd[827]: connect error: Device or resource busy (16)
Aug 19 13:24:23 localhost.localdomain bluetoothd[827]: Unable to get Headset Voice gateway SDP record: Device or resource busy
Aug 19 13:24:23 localhost.localdomain bluetoothd[827]: connect error: Device or resource busy (16)
Aug 19 13:24:26 localhost.localdomain bluetoothd[827]: connect error: Device or resource busy (16)
Aug 19 13:25:33 localhost.localdomain bluetoothd[827]: FC:A8:9A:F9:F2:91: error updating services: Connection timed out (110)
Aug 19 13:27:08 localhost.localdomain bluetoothd[827]: Endpoint unregistered: sender=:1.608 path=/MediaEndpoint/A2DPSource/VENDOR/LDAC
Aug 19 13:27:08 localhost.localdomain bluetoothd[827]: Endpoint unregistered: sender=:1.608 path=/MediaEndpoint/A2DPSource/VENDOR/APTXHD
Aug 19 13:27:08 localhost.localdomain bluetoothd[827]: Endpoint unregistered: sender=:1.608 path=/MediaEndpoint/A2DPSource/VENDOR/APTX
Aug 19 13:27:08 localhost.localdomain bluetoothd[827]: Endpoint unregistered: sender=:1.608 path=/MediaEndpoint/A2DPSource/AAC
Aug 19 13:27:08 localhost.localdomain bluetoothd[827]: Endpoint unregistered: sender=:1.608 path=/MediaEndpoint/A2DPSource/SBC
Aug 19 13:27:08 localhost.localdomain bluetoothd[827]: Endpoint unregistered: sender=:1.608 path=/MediaEndpoint/A2DPSink/VENDOR/APTXHD
Aug 19 13:27:08 localhost.localdomain bluetoothd[827]: Endpoint unregistered: sender=:1.608 path=/MediaEndpoint/A2DPSink/VENDOR/APTX
Aug 19 13:27:08 localhost.localdomain bluetoothd[827]: Endpoint unregistered: sender=:1.608 path=/MediaEndpoint/A2DPSink/AAC
Aug 19 13:27:08 localhost.localdomain bluetoothd[827]: Endpoint unregistered: sender=:1.608 path=/MediaEndpoint/A2DPSink/SBC
Aug 19 13:27:08 localhost.localdomain bluetoothd[827]: Endpoint registered: sender=:1.662 path=/MediaEndpoint/A2DPSource/VENDOR/LDAC
Aug 19 13:27:08 localhost.localdomain bluetoothd[827]: Endpoint registered: sender=:1.662 path=/MediaEndpoint/A2DPSource/VENDOR/APTXHD
Aug 19 13:27:08 localhost.localdomain bluetoothd[827]: Endpoint registered: sender=:1.662 path=/MediaEndpoint/A2DPSource/VENDOR/APTX
Aug 19 13:27:08 localhost.localdomain bluetoothd[827]: Endpoint registered: sender=:1.662 path=/MediaEndpoint/A2DPSource/AAC
Aug 19 13:27:08 localhost.localdomain bluetoothd[827]: Endpoint registered: sender=:1.662 path=/MediaEndpoint/A2DPSource/SBC
Aug 19 13:27:08 localhost.localdomain bluetoothd[827]: Endpoint registered: sender=:1.662 path=/MediaEndpoint/A2DPSink/VENDOR/APTXHD
Aug 19 13:27:08 localhost.localdomain bluetoothd[827]: Endpoint registered: sender=:1.662 path=/MediaEndpoint/A2DPSink/VENDOR/APTX
Aug 19 13:27:08 localhost.localdomain bluetoothd[827]: Endpoint registered: sender=:1.662 path=/MediaEndpoint/A2DPSink/AAC
Aug 19 13:27:08 localhost.localdomain bluetoothd[827]: Endpoint registered: sender=:1.662 path=/MediaEndpoint/A2DPSink/SBC
Aug 19 13:28:38 localhost.localdomain bluetoothd[827]: Unable to get Headset Voice gateway SDP record: Device or resource busy
Aug 19 13:28:38 localhost.localdomain bluetoothd[827]: connect error: Device or resource busy (16)
Aug 19 13:28:40 localhost.localdomain bluetoothd[827]: connect error: Device or resource busy (16)
Aug 19 13:29:52 localhost.localdomain bluetoothd[827]: Unable to get Headset Voice gateway SDP record: Device or resource busy
Aug 19 13:29:52 localhost.localdomain bluetoothd[827]: connect error: Device or resource busy (16)
Aug 19 13:29:54 localhost.localdomain bluetoothd[827]: connect error: Device or resource busy (16)
Aug 19 13:30:20 localhost.localdomain bluetoothd[827]: FC:A8:9A:F9:F2:91: error updating services: Device or resource busy (16)
Aug 19 13:31:46 localhost.localdomain bluetoothd[827]: Unable to get Headset Voice gateway SDP record: Device or resource busy
Aug 19 13:31:46 localhost.localdomain bluetoothd[827]: connect error: Device or resource busy (16)
Aug 19 13:31:48 localhost.localdomain bluetoothd[827]: connect error: Device or resource busy (16)
Aug 19 13:32:16 localhost.localdomain bluetoothd[827]: FC:A8:9A:F9:F2:91: error updating services: Device or resource busy (16)
Aug 19 13:35:19 localhost.localdomain bluetoothd[827]: FC:A8:9A:F9:F2:91: error updating services: Device or resource busy (16)
Aug 19 13:35:36 localhost.localdomain bluetoothd[827]: Unable to get Headset Voice gateway SDP record: Device or resource busy
Aug 19 13:35:36 localhost.localdomain bluetoothd[827]: connect error: Device or resource busy (16)
Aug 19 13:35:38 localhost.localdomain bluetoothd[827]: connect error: Device or resource busy (16)
Aug 19 13:35:49 localhost.localdomain bluetoothd[827]: Unable to get Headset Voice gateway SDP record: Device or resource busy
Aug 19 13:35:49 localhost.localdomain bluetoothd[827]: connect error: Device or resource busy (16)
Aug 19 13:35:51 localhost.localdomain bluetoothd[827]: connect error: Device or resource busy (16)
Aug 19 13:38:05 localhost.localdomain bluetoothd[827]: Unable to get Headset Voice gateway SDP record: Device or resource busy
Aug 19 13:38:05 localhost.localdomain bluetoothd[827]: connect error: Device or resource busy (16)
Aug 19 13:38:07 localhost.localdomain bluetoothd[827]: connect error: Device or resource busy (16)
Aug 19 13:38:16 localhost.localdomain bluetoothd[827]: Unable to get Headset Voice gateway SDP record: Device or resource busy
Aug 19 13:38:16 localhost.localdomain bluetoothd[827]: connect error: Device or resource busy (16)
Aug 19 13:38:18 localhost.localdomain bluetoothd[827]: connect error: Device or resource busy (16)
Aug 19 13:49:11 localhost.localdomain bluetoothd[827]: Terminating
Aug 19 13:49:11 localhost.localdomain systemd[1]: Stopping Bluetooth service...
Aug 19 13:49:11 localhost.localdomain bluetoothd[827]: Endpoint unregistered: sender=:1.662 path=/MediaEndpoint/A2DPSource/VENDOR/LDAC
Aug 19 13:49:11 localhost.localdomain bluetoothd[827]: Endpoint unregistered: sender=:1.662 path=/MediaEndpoint/A2DPSource/VENDOR/APTXHD
Aug 19 13:49:11 localhost.localdomain bluetoothd[827]: Endpoint unregistered: sender=:1.662 path=/MediaEndpoint/A2DPSource/VENDOR/APTX
Aug 19 13:49:11 localhost.localdomain bluetoothd[827]: Endpoint unregistered: sender=:1.662 path=/MediaEndpoint/A2DPSource/AAC
Aug 19 13:49:11 localhost.localdomain bluetoothd[827]: Endpoint unregistered: sender=:1.662 path=/MediaEndpoint/A2DPSource/SBC
Aug 19 13:49:11 localhost.localdomain bluetoothd[827]: Endpoint unregistered: sender=:1.662 path=/MediaEndpoint/A2DPSink/VENDOR/APTXHD
Aug 19 13:49:11 localhost.localdomain bluetoothd[827]: Endpoint unregistered: sender=:1.662 path=/MediaEndpoint/A2DPSink/VENDOR/APTX
Aug 19 13:49:11 localhost.localdomain bluetoothd[827]: Endpoint unregistered: sender=:1.662 path=/MediaEndpoint/A2DPSink/AAC
Aug 19 13:49:11 localhost.localdomain bluetoothd[827]: Endpoint unregistered: sender=:1.662 path=/MediaEndpoint/A2DPSink/SBC
Aug 19 13:49:11 localhost.localdomain bluetoothd[827]: Stopping SDP server
Aug 19 13:49:11 localhost.localdomain bluetoothd[827]: Exit
Aug 19 13:49:11 localhost.localdomain systemd[1]: bluetooth.service: Succeeded.
Aug 19 13:49:11 localhost.localdomain systemd[1]: Stopped Bluetooth service.

Hi; UnitedRPMs maintains a full pulseaudio-module-bluetooth… Maybe solves the issue…

Hmm, so sadly this appears to be a pretty common issue; a quick google of the busy-related errors turned up quite a few results, with causes ranging from kernel bugs to linux-firmware, and solutions sometimes as simple as “unpair and re-pair the device”.

There have been quite a few linux-firmware issues with Intel chipsets in the past few months, and I know some are related to bluetooth. What is the model of your Bluetooth controller? (You can do sudo lspci | grep -i 'network\|bluetooth'.)

2 Likes

This is all I see, but I don’t think it has anything to do with Bluetooth:

03:00.0 Network controller: Intel Corporation Wireless 8265 / 8275 (rev 78)

Here is what I can find: lsusb shows an Intel device 8087:0a2b. No label is given except “Intel”. An internet search shows that this device has something to do with Bluetooth.

Bus 001 Device 004: ID 8087:0a2b Intel Corp.

Now, I find an Intel page that shows my Bluetooth driver is outdated and offers to automatically update it. That sounds incompatible with Fedora software management to me, though.

It says my driver is 20.20.0.5 and I should have 20.70.0.4

This device does indeed have an integrated bluetooth controller, were you trying to use a USB one instead?

Also, the 8265’s firmware was updated in the latest linux-firmware release, which was pushed to the repos just two days ago. Have you tried upgrading to see if it fixes anything?

1 Like

I update daily. I just received many iwl firmware and linux-firmware updates this morning. I rebooted, then rechecked the Intel page that reveals the Bluetooth driver version; it still says it’s the same as before, 20.20.0.5

No, I have not added it as a USB device. I trashed the horrible Realtek 8723 wifi card that came in this PC and replaced it with an Intel 8265, which performs much better. That seems to be where my system is picking up its Bluetooth connectivity. It is an m2 form-factor card inside the notebook PC. I have no idea why it shows up as a USB device. Note that the wi-fi portion of the card was picked up by lspci, but the Bluetooth was picked up by lsusb.

A little more info from Intel: The current Bluetooth driver version is 21.30.0 dated Aug 13, 2019. Of course, they only provide it for MS Windows platforms.

https://downloadcenter.intel.com/download/29005/Intel-Wireless-Bluetooth-for-IT-Administrators

Ok, I have resolved the problem, and I am an idiot. The problem was that there is a clearly identified Bluetooth button on the speakers, and that is what I have been using. I think it is what got me paired.

But there is another button for Connect. When I pressed it and ran command "connect " in bluetoothctl, the connection was established, immediately. :astonished:

Sorry for all the noise. Live and learn.

3 Likes

No you’re not :laughing: I still have trouble with my speaker here—it has one of these “connect” buttons too and it connects to any devices in range etc.

Good you got it sorted :slight_smile:

2 Likes