Skip to content

Bluetooth Speakers

This page collects field datapoints on Bluetooth speakers and headphones that have been driven through the bridge. The split is:

  • Confirmed working — A2DP plays cleanly under typical workloads. Where a specific bridge version, BlueZ version, or experimental toggle was required to reach this state, the dependency is noted.
  • Working with caveats — Plays, but a non-default option, host upgrade, or workaround is required.
  • Documented quirks (no confirmed fix) — Reproducibly misbehaves in ways the bridge cannot solve on its own; cited so future readers spot the symptom faster.

Every row links back to the original issue thread so you can read the full diagnostic.

Speaker / headphoneSourceNotes
IKEA ENEBY20Author’s daily deploymentA2DP, multiroom; CSR8510 A10 adapter
IKEA ENEBY PortableAuthor’s daily deploymentSame family as ENEBY20
IKEA VAPPEBY#213 (chino-lu, Pi 5 + ASUS USB-BT500)A2DP in multiroom on BlueZ 5.85
Yandex Mini 2Author’s daily deploymentStandby quirks documented in Troubleshooting
Lenco LS-500Author’s daily deploymentA2DP, multiroom
AfterShokz OpenMoveAuthor’s daily deploymentBone-conduction headphones; A2DP playback works cleanly while in BT range
HUAWEI FreeClip (open-ear clip earbuds)Author’s daily deploymentA2DP plays cleanly; treat as a portable headphone — out-of-range drops are normal
Anker Soundcore Sport X10 (sport earbuds)Author’s daily deploymentA2DP plays cleanly; same out-of-range note as other portable earbuds
Jam Heavy Metal#213A2DP in multiroom on BlueZ 5.85
HMDX Jam#166 — fixed in v2.60.2Needed explicit Device1.ConnectProfile(A2DP_SINK_UUID) because the speaker also advertises A2DP source / HFP. Auto since v2.60.2
IKEA Kallsup#166, #162 — fixed in v2.60.2Same A2DP-Sink ConnectProfile fallback as HMDX Jam
Xiaomi 小爱音箱 (Mi Speaker)#172 — addressed in v2.61.0Stale BlueZ disk-cache cleared on remove; re-pair recovers from BlueZ has no record
EDIFIER B3 Soundbar#123 — v2.55.3 added sink-mute detectionIf you ever see “audio plays but no sound”, the device card now flags Sink muted with a one-click Unmute action
Samsung Soundbar M360 M-Series#254Speaker itself is fine. The original adapter-detection report turned out to be unrelated (an adapter passthrough hiccup during container update)
Anker Soundcore 2 / Soundcore 3#291Individual speakers work cleanly. Two on the same adapter hit BR/EDR airtime contention — use one adapter per 2–3 speakers (see Bluetooth Adapters › How many adapters)
Sony STR-DN1080 (network/AV receiver)#161On PipeWire-pulse: raise pulse_latency_msec (Rowr21 reached stable sync at 550 ms with the AVR added to the group)
Speaker / headphoneSourceRequirement
Sony WH-1000XM4#269 — verified by arisonpl; also in author’s deploymentBlueZ ≥ 5.79 (5.82 verified) and bridge ≥ v2.70.0. On BlueZ 5.66 (RPi OS Bookworm) the AVDTP-collision fast-path-skip fires incorrectly; both halves of the upgrade are required. See Troubleshooting › Reconnect loop on Sony WH-1000XM4
Samsung Q910B soundbar#210Needs the adapter Class of Device override 0x00010c plus an HA restart to clear stuck BlueZ runtime state. The ATS2851 chipset has incomplete Linux support but the CoD workaround unblocks pairing. Listed in Class of Device override — preset reference
Synergy S65#213Works on BlueZ 5.85. BlueZ 5.86 breaks volume control specifically for this speaker — pin to 5.85 if it’s in your group
JBL PartyBox Encore 2 (ENC ESS 2)#213Works alone. Breaks when added to a multi-speaker group: the JBL “locks” the controller and other speakers drop audio. JBL-specific (TMAP 1.0 / PBP 1.0 / JBL PartyBoost peer modes). Stream solo to this device

Documented quirks (no confirmed fix in thread)

Section titled “Documented quirks (no confirmed fix in thread)”
Speaker / headphoneSourceSymptom
HK Onyx Studio 3#191ServicesResolved did not reach True within 10s + A2DP Sink ConnectProfile: UnknownObject, speaker drops ~3 s after connect. Matches the bluez/bluez#1098 / #1922 regression class. Reset & Reconnect from the device card sometimes recovers; no permanent fix landed in the thread
  • Confirmed working doesn’t mean “works on every host.” A speaker that’s clean on PulseAudio 17 + BlueZ 5.82 might still hit a pulse_latency_msec tuning step on PipeWire-pulse, or need an adapter swap if the on-board controller is overloaded. Cross-check against Bluetooth Adapters and Troubleshooting when in doubt.
  • Working with caveats entries mean the workaround is available in the bridge or in the docs — you don’t need a custom firmware build to get there.
  • Documented quirks is here so a future operator can recognize the fingerprint quickly instead of debugging from scratch. If you find a workaround, please report it back so we can re-tier the speaker.