蓝牙耳机在 Windows 上成功连接后,在 Linux 上无法再连接

蓝牙耳机在 Windows 上成功连接后,在 Linux 上无法再连接

我有一副 JBL Tune 510 BT 耳机,直到上周六我还在 Debian GNU/Linux 上成功使用它。

为了连接,我一直在使用bluetoothctl5.65 版本。

本周六,我第一次将耳机与 Windows 11 配对。一切正常。然而,当我重新启动 Linux 时,我无法再连接到耳机。

我以发现模式启动耳机,它发出“ping”的声音,然后我运行bluetoothctl connect。然后syslog,我看到以下内容:

bluetoothd[641]: src/profile.c:ext_connect() 免提语音网关无法连接到 MAC 地址:连接被拒绝 (111)
bluetoothd[641]: Profiles/audio/avdtp.c:avdtp_connect_cb() 连接到 MAC 地址:连接被拒绝 (111)

我已经尝试通过按住“调高音量”和“调低音量”来重置耳机,如图所示。上面的错误消息是我尝试连接重置。

答案1

通常,蓝牙配对密钥由操作系统存储,因此尽管 Linux 和 Windows 共享相同的蓝牙 MAC 地址(显示为单个设备),但它们彼此独立地跟踪配对。

将耳机与 Windows 配对后,耳机会存储计算机 MAC 地址的新链接密钥,并丢弃先前由 Linux 配对创建的旧链接密钥(假设计算机也这样做)。但是,Linux 仍然认为它已配对 - 它具有老的存储在 /var/lib 中的密钥并在连接时尝试使用它们。

您必须从蓝牙中完全移除耳机并重新配对。(这将使它们在 Windows 上停止工作。)


我曾经有一篇文章关于手动将链接密钥从 Windows 注册表复制到 Linux bluetoothd 配置,以便可以在两个操作系统之间共享相同的配对,但该文章是为 WinXP 和 BT 2.0 编写的,因此很可能需要针对 Windows 10 进行更新和/或蓝牙 4.x 附带的新配对协议 - 上次我检查时,密钥现在有点不同。

相关内容