Skip to main content
2 of 5
added 485 characters in body; edited tags; added 64 characters in body

Bluetooth speaker volume control doesn't work (but muting does work)

OS: Pop!_OS 21.10 x86_64 
Kernel: 5.15.8-76051508-generic

I have two Bluetooth devices: a speaker SoundCore Boost and headphones EDIFIER W830BT.

When I'm trying to change the volume on headphones using system volume settings it does work. Headphones also have buttons on them for controlling volume and those buttons also work (they change system volume in Linux).

But on a Bluetooth speaker changing volume in Linux doesn't affect the actual volume. On the other hand, using volume buttons on the speaker does change the system volume in Linux (and the volume level bar in Linux changes as expected when I use the device's buttons).

Also, when I mute system volume in Linux it does affect the speaker (sound mutes).

Summarizing - Bluetooth devices work, sound plays, I can change volumes using devices' buttons but only the speaker volume can't be controlled via Linux system volume (except muting).

I removed and paired again the speaker but that didn't help.

For both devices, Output Device configuration is set to Hight Fidelity Playback (A2DP Sink).

The same speaker works well on macOS (changing system volume affects the speaker volume).

$ bluetoothctl devices
Device 00:22:37:59:E0:A5 SoundCore Boost
Device 5C:C6:E9:30:68:EA EDIFIER W830BT
$ bluetoothctl show
Controller 38:DE:AD:1B:85:90 (public)
    Name: xxxx
    Alias: xxxx
    Class: 0x007c010c
    Powered: yes
    Discoverable: no
    DiscoverableTimeout: 0x000000b4
    Pairable: no
    UUID: Message Notification Se.. (00001133-0000-1000-8000-00805f9b34fb)
    UUID: A/V Remote Control        (0000110e-0000-1000-8000-00805f9b34fb)
    UUID: OBEX Object Push          (00001105-0000-1000-8000-00805f9b34fb)
    UUID: Message Access Server     (00001132-0000-1000-8000-00805f9b34fb)
    UUID: PnP Information           (00001200-0000-1000-8000-00805f9b34fb)
    UUID: IrMC Sync                 (00001104-0000-1000-8000-00805f9b34fb)
    UUID: Vendor specific           (00005005-0000-1000-8000-0002ee000001)
    UUID: Headset                   (00001108-0000-1000-8000-00805f9b34fb)
    UUID: A/V Remote Control Target (0000110c-0000-1000-8000-00805f9b34fb)
    UUID: Generic Attribute Profile (00001801-0000-1000-8000-00805f9b34fb)
    UUID: Phonebook Access Server   (0000112f-0000-1000-8000-00805f9b34fb)
    UUID: Device Information        (0000180a-0000-1000-8000-00805f9b34fb)
    UUID: Audio Sink                (0000110b-0000-1000-8000-00805f9b34fb)
    UUID: Generic Access Profile    (00001800-0000-1000-8000-00805f9b34fb)
    UUID: Handsfree Audio Gateway   (0000111f-0000-1000-8000-00805f9b34fb)
    UUID: Audio Source              (0000110a-0000-1000-8000-00805f9b34fb)
    UUID: OBEX File Transfer        (00001106-0000-1000-8000-00805f9b34fb)
    Modalias: usb:v1D6Bp0246d053C
    Discovering: no
    Roles: central
    Roles: peripheral
Advertising Features:
    ActiveInstances: 0x00 (0)
    SupportedInstances: 0x05 (5)
    SupportedIncludes: tx-power
    SupportedIncludes: appearance
    SupportedIncludes: local-name

Any ideas on how to solve the problem?


Edit: I booted live LTS version with an older kernel

OS: Pop!_OS 20.04 LTS x86_64
Kernel: 5.13.0-7620-generic

And it turned out that there's no issue with that version - system sound control affects my Bluetooth speaker as expected.

I also booted the live version of my current system (to confirm that there's no issue with my installed version) and I reproduced the issue.

So my guess is that kernel 5.15.8-76051508-generic does something with Bluetooth and sound control differently than 5.13.0-7620-generic.