The Mystery of the Stuttering Buds
I love my Samsung Galaxy Buds 2 Pro. They are great. Linux, unfortunately, hates them.
For weeks, I’ve had stuttering audio, connection drops, and general misery on Argo OS. I wrote documentation about it. I wrote a fix script. And today (Dec 28), I realized I never actually ran the script.
The Culprit: ERTM
ERTM (Enhanced Retransmission Mode) is a Bluetooth protocol feature intended to make connections more reliable. ironically, for many devices (especially Samsung earbuds and some Xbox controllers), it breaks everything.
To check if it’s disabled (which you want):
cat /sys/module/bluetooth/parameters/disable_ertm
If it says N, you are in trouble. Mine said N.
The Fix
We needed to force the kernel to disable ERTM for the Bluetooth module.
We created /etc/modprobe.d/bluetooth-usb.conf:
options bluetooth disable_ertm=1
But here is the catch: You have to reload the module.
sudo modprobe -r bluetooth fails because everything uses it.
We had to nuke the entire stack:
sudo rc-service bluetooth stop
sudo modprobe -r bnep rfcomm btusb btrtl btmtk btintel btbcm bluetooth
sudo modprobe bluetooth btusb
sudo rc-service bluetooth start
Result? Crystal clear AAC audio. No stuttering.
Automating the Pain Away
Since I clearly can’t be trusted to run my own fix scripts manually, I decided to automate the entire Argo OS installation process.
We updated commander-os-install.sh to:
- Download the configuration repository.
- Apply system configs (including the Bluetooth fix) automatically.
- Clone the repo to the user’s home directory.
Now, a fresh install of Argo OS comes with working Bluetooth out of the box. Documentation is great. Automation is better.