我有一个 JBL Tune 510 BT 耳机,直到上周六我一直在 Debian GNU/Linux 上成功使用它。
要连接,我一直在使用bluetoothctl
5.65 版。
这个星期六,我第一次将耳机与 Windows 11 配对。它工作得很好。但是,当我重新启动 Linux 时,我无法再连接到耳机。
我以发现模式启动耳机,它会发出“砰”的一声,然后我运行bluetoothctl connect
. 拖尾syslog
,我看到以下内容:
bluetoothd[641]:src/profile.c:ext_connect() 免提语音网关无法连接到 MAC-ADDRESS:连接被拒绝 (111)
bluetoothd[641]:profiles/audio/avdtp.c:avdtp_connect_cb() 连接到 MAC -地址:连接被拒绝 (111)
我已经尝试通过按住音量调高和调低来重置耳机,如此处所示。上面的错误消息是我在重置后尝试连接。
通常蓝牙配对密钥由操作系统存储,因此尽管 Linux 和 Windows 共享相同的蓝牙 MAC 地址(显示为单个设备),但它们彼此独立地跟踪配对。
在您将耳机与 Windows 配对后,耳机会存储计算机 MAC 地址的新链接密钥,并丢弃之前通过 Linux 配对创建的旧链接密钥(假设计算机执行相同操作)。然而,Linux 仍然认为它是配对的——它在 /var/lib 中存储了旧密钥,并在连接时尝试使用它们。
您必须从蓝牙中完全移除耳机并重新配对。(这将使它们停止在 Windows 上工作。)
我曾经有一篇关于手动将链接密钥从 Windows 注册表复制到 Linux 蓝牙配置的文章,以便可以在两个操作系统之间共享相同的配对,但这篇文章是为 WinXP 和 BT 2.0 编写的,所以它很可能需要一个Windows 10 的更新和/或蓝牙 4.x 附带的新配对协议——上次我检查过,现在密钥有点不同了。