从 15.5 升级到 15.6 后蓝牙音响可以连接,但是如果停止播放音乐,约 5 秒后会自动断开

系统信息:

NAME="openSUSE Leap"
VERSION="15.6"
ID="opensuse-leap"
ID_LIKE="suse opensuse"
VERSION_ID="15.6"
PRETTY_NAME="openSUSE Leap 15.6"

dmesg 输出:

[  433.636968] Code: ff 48 8b 3b e8 a1 6b fe ff 48 89 df 5b e9 98 6b fe ff 0f 1f 84 00 00 00 00 00 41 55 41 54 55 48 89 d5 53 48 83 ec 08 48 8b 1a <48> 8b 7b 20 4c 8b ab 88 00 00 00 e8 10 e9 ff ff 48 8b 7d 08 49 89
[  433.904977] Bluetooth: hci0: Invalid link address type 1 for e4:bc:aa:d1:f9:46
[  464.097669] input: EDIFIER C2XB (AVRCP) as /devices/virtual/input/input19
[  469.085472] bluetoothd[4377]: segfault at 55e44565d165 ip 000055e0e0c14490 sp 00007fff446019b0 error 4 in bluetoothd[55e0e0bd3000+16b000] likely on CPU 2 (core 1, socket 0)

journalctl 输出:

Feb 25 00:01:21 192.168.0.105 bluetoothd[4377]: /org/bluez/hci0/dev_04_FE_A1_45_07_5E/sep1/fd0: fd(29) ready
Feb 25 00:01:21 192.168.0.105 rtkit-daemon[1820]: Successfully made thread 4830 of process 32532 owned by 'alta' RT at priority 5.
Feb 25 00:01:21 192.168.0.105 pulseaudio[32532]: org.freedesktop.DBus.Properties.Get /org/bluez/hci0/dev_04_FE_A1_45_07_5E/sep1/fd0 Volume property not (yet) available
Feb 25 00:01:21 192.168.0.105 plasmashell[31694]: org.kde.plasma.pulseaudio: No object for name "alsa_output.pci-0000_03_00.1.hdmi-stereo-extra1.monitor"
Feb 25 00:01:21 192.168.0.105 plasmashell[31694]: org.kde.plasma.pulseaudio: No object for name "bluez_sink.04_FE_A1_45_07_5E.a2dp_sink.monitor"
Feb 25 00:01:21 192.168.0.105 kernel: input: EDIFIER C2XB (AVRCP) as /devices/virtual/input/input19
Feb 25 00:01:21 192.168.0.105 systemd-logind[1251]: Watching system buttons on /dev/input/event16 (EDIFIER C2XB (AVRCP))
Feb 25 00:01:26 192.168.0.105 kernel: bluetoothd[4377]: segfault at 55e44565d165 ip 000055e0e0c14490 sp 00007fff446019b0 error 4 in bluetoothd[55e0e0bd3000+16b000] likely on CPU 2 (core 1, socket 0)
Feb 25 00:01:26 192.168.0.105 kernel: Code: ff 48 8b 3b e8 a1 6b fe ff 48 89 df 5b e9 98 6b fe ff 0f 1f 84 00 00 00 00 00 41 55 41 54 55 48 89 d5 53 48 83 ec 08 48 8b 1a <48> 8b 7b 20 4c 8b ab 88 00 00 00 e8 10 e9 ff ff 48 8b 7d 08 49 89
Feb 25 00:01:26 192.168.0.105 systemd[1]: Started Process Core Dump (PID 4836/UID 0).
Feb 25 00:01:26 192.168.0.105 systemd[1]: Started Pass systemd-coredump journal entries to relevant user for potential DrKonqi handling.
Feb 25 00:01:26 192.168.0.105 systemd-coredump[4840]: Process 4377 (bluetoothd) of user 0 dumped core.
                                                      
                                                      Stack trace of thread 4377:
                                                      #0  0x000055e0e0c14490 n/a (bluetoothd + 0x41490)
                                                      #1  0x000055e0e0c04101 n/a (bluetoothd + 0x31101)
                                                      #2  0x000055e0e0c044a8 n/a (bluetoothd + 0x314a8)
                                                      #3  0x000055e0e0c0c1d8 n/a (bluetoothd + 0x391d8)
                                                      #4  0x00007fe581661fac n/a (libglib-2.0.so.0 + 0x5afac)
                                                      #5  0x00007fe581663bd0 n/a (libglib-2.0.so.0 + 0x5cbd0)
                                                      #6  0x00007fe581664402 g_main_loop_run (libglib-2.0.so.0 + 0x5d402)
                                                      #7  0x000055e0e0ccd595 n/a (bluetoothd + 0xfa595)
                                                      #8  0x000055e0e0ccd9dc n/a (bluetoothd + 0xfa9dc)
                                                      #9  0x000055e0e0bfbdf6 n/a (bluetoothd + 0x28df6)
                                                      #10 0x00007fe581240e6c __libc_start_call_main (libc.so.6 + 0x40e6c)
                                                      #11 0x00007fe581240f35 __libc_start_main@@GLIBC_2.34 (libc.so.6 + 0x40f35)
                                                      #12 0x000055e0e0bfc671 n/a (bluetoothd + 0x29671)
                                                      ELF object binary architecture: AMD x86-64
Feb 25 00:01:26 192.168.0.105 systemd[1]: systemd-coredump@3-4836-0.service: Deactivated successfully.
Feb 25 00:01:26 192.168.0.105 systemd[1]: bluetooth.service: Main process exited, code=dumped, status=11/SEGV
Feb 25 00:01:26 192.168.0.105 dbus-daemon[1052]: [system] Activating via systemd: service name='org.bluez' unit='dbus-org.bluez.service' requested by ':1.187' (uid=1000 pid=32532 comm="/usr/bin/pulseaudio --daemonize=no --log-target=jo")
Feb 25 00:01:26 192.168.0.105 systemd[1]: bluetooth.service: Failed with result 'core-dump'.
Feb 25 00:01:26 192.168.0.105 NetworkManager[1301]: <info>  [1740412886.4338] device (E4:BC:AA:D1:F9:46): state change: disconnected -> unmanaged (reason 'removed', sys-iface-state: 'removed')
Feb 25 00:01:26 192.168.0.105 NetworkManager[1301]: <info>  [1740412886.4358] device (E4:84:D3:45:46:A1): state change: disconnected -> unmanaged (reason 'removed', sys-iface-state: 'removed')
Feb 25 00:01:26 192.168.0.105 systemd[1]: Starting Bluetooth service...
Feb 25 00:01:26 192.168.0.105 drkonqi-coredump-processor[4841]: "/usr/lib/bluetooth/bluetoothd" 4377 "/var/lib/systemd/coredump/core.bluetoothd.0.215da2f335ba4a66adec7998c76c82b5.4377.1740412886000000.zst"
Feb 25 00:01:26 192.168.0.105 drkonqi-coredump-processor[4841]: The socket path doesn't exist @ "/run/user/0/drkonqi-coredump-launcher"
Feb 25 00:01:26 192.168.0.105 systemd[1]: drkonqi-coredump-processor@3-4836-0.service: Deactivated successfully.
Feb 25 00:01:26 192.168.0.105 bluetoothd[4855]: Bluetooth daemon 5.71
Feb 25 00:01:26 192.168.0.105 dbus-daemon[1052]: [system] Successfully activated service 'org.bluez'
Feb 25 00:01:26 192.168.0.105 bluetoothd[4855]: Starting SDP server
Feb 25 00:01:26 192.168.0.105 bluetoothd[4855]: src/plugin.c:plugin_init() System does not support csip plugin
Feb 25 00:01:26 192.168.0.105 bluetoothd[4855]: profiles/audio/micp.c:micp_init() D-Bus experimental not enabled
Feb 25 00:01:26 192.168.0.105 bluetoothd[4855]: src/plugin.c:plugin_init() System does not support micp plugin
Feb 25 00:01:26 192.168.0.105 bluetoothd[4855]: src/plugin.c:plugin_init() System does not support vcp plugin
Feb 25 00:01:26 192.168.0.105 bluetoothd[4855]: src/plugin.c:plugin_init() System does not support mcp plugin
Feb 25 00:01:26 192.168.0.105 bluetoothd[4855]: src/plugin.c:plugin_init() System does not support bass plugin
Feb 25 00:01:26 192.168.0.105 bluetoothd[4855]: src/plugin.c:plugin_init() System does not support bap plugin
Feb 25 00:01:26 192.168.0.105 bluetoothd[4855]: src/plugin.c:plugin_init() System does not support admin plugin
Feb 25 00:01:26 192.168.0.105 dbus-daemon[1052]: [system] Activating via systemd: service name='org.freedesktop.hostname1' unit='dbus-org.freedesktop.hostname1.service' requested by ':1.202' (uid=0 pid=4855 comm="/usr/lib/bluetooth/bluetoothd ")
Feb 25 00:01:26 192.168.0.105 bluetoothd[4855]: Bluetooth management interface 1.22 initialized
Feb 25 00:01:26 192.168.0.105 pulseaudio[32532]: org.bluez.BatteryProviderManager1.UnregisterBatteryProvider() Failed: org.freedesktop.DBus.Error.UnknownObject:Method "UnregisterBatteryProvider" with signature "o" on interface "org.bluez.BatteryProviderManager1" doesn't exist
Feb 25 00:01:26 192.168.0.105 bluetoothd[4855]: Battery Provider Manager created
Feb 25 00:01:26 192.168.0.105 plasmashell[31694]: org.kde.plasma.pulseaudio: No object for name "bluez_sink.04_FE_A1_45_07_5E.a2dp_sink.monitor"
Feb 25 00:01:26 192.168.0.105 plasmashell[31694]: org.kde.plasma.pulseaudio: No object for name "alsa_output.pci-0000_03_00.1.hdmi-stereo-extra1.monitor"
Feb 25 00:01:26 192.168.0.105 bluetoothd[4855]: Failed to set privacy: Rejected (0x0b)

bluez 版本信息如下:

S  | Name                 | Type    | Version           | Arch   | Repository
---+----------------------+---------+-------------------+--------+-----------
i+ | bluez                | package | 5.71-150600.1.3   | x86_64 | USTC:OSS
i  | bluez-cups           | package | 5.71-150600.1.3   | x86_64 | USTC:OSS
i  | bluez-obexd          | package | 5.71-150600.1.3   | x86_64 | USTC:OSS
i  | bluez-qt-imports     | package | 5.115.0-bp156.1.1 | x86_64 | USTC:OSS
i  | bluez-qt-udev        | package | 5.115.0-bp156.1.1 | x86_64 | USTC:OSS
i  | bluez-zsh-completion | package | 5.71-150600.1.3   | noarch | USTC:OSS
i  | libKF5BluezQt6       | package | 5.115.0-bp156.1.1 | x86_64 | USTC:OSS

内核版本如下: 6.4.0-150600.23.38-default

Google 了一下有建议降低 bluez 版本的,但是不知道怎么降版本

  1. 有遇到类似情况的吗? 怎么定位原因?
  2. 如果确实需要降级 bluez, 怎么降级?
1赞

看了一下和这个情况类似 Bluez 5.71 bluetoothd coredump on a2dp suspend (#3) · Issues · Arch Linux / Packaging / Packages / bluez · GitLab 但是不一样的是这些包如果你需要降级的话很可能就得从 factory 分叉一份降回去风险很高。另一个可能的解决方法是全部升到最新去(上游的较新的提交)。

(顺便看上去 052534ae07b89bb947daadfa7eb11704db599bcb 这个提交回滚就可以了)

怎么升级到最新的提交呢,我目前使用的是官方源的中科大镜像,能够检索到的最新版本就是 5.71-150600.1.3, 我不是自己编译安装的 :joy:

这个地方就需要你从 obs 上对工厂源分叉了,比如使用给风滚草打包的源文件对 15.6 进行改动,然后构建安装

1赞

我研究一下,之前没搞过,有什么 manual/guide 之类的吗?

这个的话建议去看看各个包分叉的怎么写的,参照着写就行了,然后 spec 文件是 rpm 固有那个格式可以参照 Fedora 那边的文档

@kenmail 不用分叉,有人分叉过了,直接去这里下 rpm 安装就可以

https://download.opensuse.org/repositories/home:/chodorenko/15.6/x86_64/

1赞

cool, 感谢苏姐,晚上我试一下看能否解决问题

升级到 5.79 就可以了,感谢两位 @ddqi @marguerite

1赞

本主题在最后一个回复创建后60分钟后自动锁定。不再允许添加新回复。