Bluetooth earphone Fairbuds speaker doesn't work

Hello, I am trying to use Bluetooth earphone Fairbuds[1] on Fedora 41 on the Framework Laptop 13 (Intel 11th Gen CPU).

The issue is that the earphone’s speaker doesn’t work on Fedora 41 on Framework Laptop 13. The earphone’s speaker works on Fedora 41 on Lenovo X1 Carbon Gen 11.

I am using the Blueman, the Bluetooth manager GUI app on Sway window manager.

$ rpm -q blueman
blueman-2.4.4-1.fc41.x86_64

And the pairing and connection succeeded.

However, I cannot use the earphones as a speaker on YouTube, Spotify Firefox, and VLC on Framework Laptop 13. The laptop’s speaker is still used to play sounds instead of the Bluetooth earphone Fairbuds.

On Lenovo X1 Carbon, after the Bluetooth earphones Earbuds are connected via Bluetooth, I can hear sounds from the earphones without doing anything.

On VLC on Fedora 41 on Framework Laptop 13, there is the menu item “Fairbuds” on the menu Audio - Audio Device. But after I selected the menu item “Fairbuds”, I could not still hear the sounds from the Fairbuds. The laptop’s speaker was still used.

As a note, I can also see the info about Fairbuds below.

$ bluetoothctl
[Fairbuds]# Agent registered
[Fairbuds]# devices
Device 20:24:04:08:5D:AA Fairbuds
[Fairbuds]# info 20:24:04:08:5D:AA
Device 20:24:04:08:5D:AA (public)
  Name: Fairbuds
  Alias: Fairbuds
  Class: 0x00240404 (2360324)
  Icon: audio-headset
  Paired: yes
  Bonded: yes
  Trusted: yes
  Blocked: no
  Connected: yes
  LegacyPairing: no
  UUID: SDP                       (00000001-0000-1000-8000-00805f9b34fb)
  UUID: Serial Port               (00001101-0000-1000-8000-00805f9b34fb)
  UUID: Headset                   (00001108-0000-1000-8000-00805f9b34fb)
  UUID: Audio Sink                (0000110b-0000-1000-8000-00805f9b34fb)
  UUID: A/V Remote Control Target (0000110c-0000-1000-8000-00805f9b34fb)
  UUID: A/V Remote Control        (0000110e-0000-1000-8000-00805f9b34fb)
  UUID: A/V Remote Control Cont.. (0000110f-0000-1000-8000-00805f9b34fb)
  UUID: Handsfree                 (0000111e-0000-1000-8000-00805f9b34fb)
  UUID: PnP Information           (00001200-0000-1000-8000-00805f9b34fb)
  UUID: Generic Audio             (00001203-0000-1000-8000-00805f9b34fb)
  UUID: Generic Access Profile    (00001800-0000-1000-8000-00805f9b34fb)
  UUID: Generic Attribute Profile (00001801-0000-1000-8000-00805f9b34fb)
  UUID: Vendor specific           (66666666-6666-6666-6666-666666666666)
  Modalias: bluetooth:v02B0p0000d001F
  Battery Percentage: 0x64 (100)

Do you have any ideas about enabling this Bluetooth earphone on Fedora 41 on Framework Laptop 13?

I checked some documents[3][4][5].

Thanks for your help!

[1] https://shop.fairphone.com/fairbuds
[2] Framework | Fix Consumer Electronics
[3] Troubleshooting Bluetooth problems :: Fedora Docs
[4] Fedora Bluetooth Troubleshooting Guide
[5] https://www.howtogeek.com/829360/how-to-set-up-bluetooth-on-linux/

Below are the journal logs captured by journalctl -f.

When I enabled Bluetooth’s paring mode on Blueman, the following log was printed.

Feb 23 21:05:01 fedora systemd[1]: Starting blueman-mechanism.service - Bluetooth management mechanism...
Feb 23 21:05:01 fedora systemd[1]: Started blueman-mechanism.service - Bluetooth management mechanism.
Feb 23 21:05:01 fedora audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=blueman-mechanism comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
Feb 23 21:05:31 fedora systemd[1]: blueman-mechanism.service: Deactivated successfully.
Feb 23 21:05:31 fedora audit[1]: SERVICE_STOP pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=blueman-mechanism comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'

When I connected Fairbuds’s Bluetooth on Blueman, the following log was printed.

Feb 23 21:06:22 fedora kernel: input: Fairbuds (AVRCP) as /devices/virtual/input/input32
Feb 23 21:06:22 fedora (udev-worker)[182920]: event17: /etc/udev/rules.d/99-jaruga.rules:4 Only network interfaces can be renamed, ignoring NAME="input/%k".
Feb 23 21:06:22 fedora systemd-logind[1343]: Watching system buttons on /dev/input/event17 (Fairbuds (AVRCP))

Note the mentioned file /etc/udev/rules.d/99-jaruga.rules is what I created to use a software-based key mapping tool Mouseless.

I did the following things, and the conclusion is that I was able to use the Bluetooth Fairbuds to listen to music now!

First, I changed the default login mode from multi-user (console) to graphical (graphical login) by the following commands and selected Gnome on the graphical login.
Previously I was running the sway by typing sway on the console.

$ systemctl get-default
multi-user.target

$ sudo systemctl set-default graphical.target

$ systemctl get-default
graphical.target

$ sudo reboot

Then I opened the Setting app. I checked Sound - Output - Output Device. The “Speakers - Built-in Audio” was selected. I changed it to “Headset - Fairbuds”. I clicked “Test…” button, and tested the speakers. It worked! Then I tried Spotify on Firefox, and I could listen to the music on the Bluetooth earphone Fairbuds!

That’s it!
But there is still a question. How to check and select a Sound Output Device without using Gnome?

I’ve been using wpctl with Sway. (And sudo bluetoothctl to connect/disconnect my Bluetooth headphones.)

1 Like

Thanks for the info! It’s really useful! I didn’t know the wpctl command.

For the wpctl command, I was able to change the sound output device between the laptop speaker and my bluetooth earphone by the following commands on sway!

$ wpctl status
...
Audio
 ├─ Devices:
 │      42. Built-in Audio                      [alsa]
 │      61. Fairbuds                            [bluez5]
 │
 ├─ Sinks:
 │      49. Built-in Audio Analog Stereo        [vol: 1.21]
 │  *   65. Fairbuds                            [vol: 0.74]
...
$ wpctl set-default 49
$ wpctl set-default 65

For the bluetoothctl, I am still not familar with it. Did you need the sudo for the sudo bluetoothctl?

I’m not sure if sudo is necessary, but I think it is (I always run it that way). In a way, it’s (re)configuring hardware, so I think it would make since that you would use sudo for that.

My typical use is that I have a cheap pair of JLab Bluetooth earbuds I am sometimes wearing (paired with my smartphone) as I walk in to work. My work computer is running Fedora Sway. I toggle Bluetooth off on my smartphone. Then, in a few seconds, I hear my earbuds say “waiting for connection” (or something like that). Then I run sudo bluetoothctl on my workstation and press the up arrow to get my previous connect <BT-MAC-Address> command and hit return to run it. Then Ctrl+D to exit the bluetoothctl interactive command and I’m “in business” with my earbuds connected to my workstation. I don’t need to mess with wpctl because it remembers that I have my earbuds set as my preferred default.

When I’m done, I typically just log out of my Sway session and that terminates the Pipewire service running in my user session and automatically disconnects my Bluetooth earbuds. At that point I hear my earbuds say they are waiting for a connection again and I switch my smartphone Bluetooth back on and it repairs with my earbuds.