$ neofetch
OS: Pop!_OS 21.10 x86_64
Kernel: 5.15.8-76051508-generic
我有两个蓝牙设备:扬声器SoundCore Boost
和耳机EDIFIER W830BT
。
当我尝试使用系统音量设置更改耳机的音量时,它确实有效。耳机上还有用于控制音量的按钮,这些按钮也可以工作(它们在 Linux 中改变系统音量)。
但是在 Linux 中更改音量的蓝牙扬声器不会影响实际音量。另一方面,使用扬声器上的音量按钮确实会改变 Linux 中的系统音量(当我使用设备的按钮时,Linux 中的音量条会按预期改变)。
此外,当我在 Linux 中静音系统音量时,它确实会影响扬声器(静音)。
总结 - 蓝牙设备工作,声音播放,我可以使用设备的按钮更改音量,但只能通过 Linux 系统音量控制扬声器音量(静音除外)。
我卸下并再次配对扬声器,但这没有帮助。
对于这两种设备,Output Device configuration
都设置为Hight Fidelity Playback (A2DP Sink)
。
相同的扬声器在 macOS 上运行良好(更改系统音量会影响扬声器音量)。
$ 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
关于如何解决问题的任何想法?
编辑1:
我用旧内核启动了实时 LTS 版本
$ neofetch
OS: Pop!_OS 20.04 LTS x86_64
Kernel: 5.13.0-7620-generic
事实证明,该版本没有问题 - 系统声音控制会按预期影响我的蓝牙扬声器的音量。
我还启动了当前系统的实时版本(以确认我安装的版本没有问题)并且存在音量控制问题。
所以我的猜测是内核5.15.8-76051508-generic
对蓝牙和声音控制的处理方式与5.13.0-7620-generic
.
编辑2:
我将内核版本降级为5.13.0
.
https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.13/
我下载了4个文件并安装了它们
$ ls
linux-headers-xxx_all.deb
linux-headers-xxx-generic_xxx.deb
linux-image-usigned-xxx-generic_xxx.deb
linux-modules-xxx-generic_xxx.deb
$ sudo dpkg -i *.deb
Pop!_OS 没有 GRUB 并使用kernelstub
https://github.com/isantop/kernelstub/blob/master/README.md
我使用以下命令更改了内核版本(其中 xxx 是所需的内核版本)
$ sudo kernelstub -v -k /boot/vmlinuz-xxx-generic -i /boot/initrd.img-xxx-generic
重新启动后,我看到我正在使用内核5.13.0-051300-generic
,但这并不能解决音量控制问题。
$ uname -r
5.13.0-051300-generic
所以我的猜测是,这Pop!_OS
改变了一些东西,20.04 LTS
并且21.10
破坏了我的蓝牙扬声器中正确的音量控制,这不是内核的错。