Unstable Bluetooth Audio on Fedora 40 with AirPods & JBL Speaker

I am encountering significant issues using my AirPods Pro 2 and my JBL Bluetooth speaker with my laptop. Here’s my setup:

  • Laptop: ThinkPad E14 Gen 6
  • OS: Fedora 40 with i3 Window Manager
  • Use case: I often listen to 4-hour ambiance music videos on YouTube while working or gaming.

Notably, these issues do not occur when I use the laptop’s built-in speakers, which leads me to believe the problem lies with the Bluetooth setup.

Issues with AirPods:

  1. Crackling Audio: After a random period, the sound starts crackling, progressively worsening until I restart PipeWire (systemctl --user restart pipewire) or reconnect the AirPods.
  2. Multiple Audio Tracks: When playing two separate audio tracks simultaneously, the AirPods frequently break. To fix this, I must close all audio-playing windows, restart PipeWire, and reconnect the Bluetooth devices.
  3. Unpausing Issues: Sometimes, pausing a video causes audio playback to fail when I unpause it.
  4. Changing Videos: Switching to another video often stops audio playback entirely, requiring a PipeWire restart.

Issues with JBL Speaker:

The issues are mostly similar, except:

  • Instead of audio stopping completely, it shifts to the laptop’s built-in speakers.

For example, during a recent DnD session with friends, I was playing one track for background music and another for ambiance. After about an hour, the ambiance noises shifted to the laptop speakers instead of the Bluetooth speaker. The speaker was plugged in the entire time, so it wasn’t a battery issue.

Troubleshooting & Forum Suggestions:

I’m unsure how to troubleshoot this effectively or where to post my questions. If you have recommendations for forums or subreddits, I’d greatly appreciate them.

Thank you!

I am also having similar issues with my Airpods Pro 2, as you have described. My setup is a Framework 13 running Fedora 42 with KDE 6.3.5.

While I wouldn’t consider myself experienced enough to troubleshoot this, I hope this contribution helps.

I ran “sudo btmon” (or “sudo btmon > log.txt”) to observe some tests as my Airpods were connected while getting the above mentioned static noise. Increasing/decreasing the volume would be enough to send some information that gets logged since it creates a system sound.

The type of static sound reminded me of when windows would choose the wrong codec for my Sony buds, opting for the “headset” version of the codec instead of the “headphones” higher quality codec. Looking at the audio controller applet, there was an option to change codecs used for the Airpods (AAC is preferred for apple devices). However, this was after restarting the bluetooth controller. Only the “headset” codecs were available and being used when static was being experienced.

I’m still not sure what caused the High Fidelity codecs to disappear from the bt controller/service, but that seems to be what’s happening. Restarting refreshes the list, and then makings sure AAC is selected for Airpods gets happy soundwaves. I’ve saved the btmon logs, but I have a feeling the issue of disappearing codecs is elsewhere.