蓝牙键盘:连接失败并显示“无法获取 HIDP 连接信息”

蓝牙键盘:连接失败并显示“无法获取 HIDP 连接信息”

我正在尝试使用 bluetoothctl 将蓝牙键盘连接到运行 Ubuntu 20.04 的笔记本电脑。配对成功后,我无法启动连接。跟踪系统日志指示问题:

bluetoothd[755]: Can't get HIDP connection info
bluetoothd[755]: connect error: Host is down (112)

我已经连接了蓝牙触控板,所以问题似乎与键盘有关。键盘是全新的,所以我想它应该也能正常工作。

我将非常感激任何能帮我弄清楚发生了什么事情的提示。

答案1

问题的可能原因

我的蓝牙键盘(Logitech diNovo 键盘)也在 Ubuntu 20.04 中停止工作,内核较新5.4.0-73-generic #82-Ubuntu SMP Wed Apr 14 17:39:42 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux。我可以在系统日志中看到

Jul  6 10:20:20 localhost bluetoothd[1337919]: Can't get HIDP connection info 
Jul  6 10:20:25 localhost bluetoothd[1337919]: connect error: Host is down (112) 
Jul  6 10:20:30 localhost bluetoothd[1337919]: Can't get HIDP connection info 
Jul  6 10:20:30 localhost bluetoothd[1337919]: connect error: Device or resource busy (16)

其他 BT 设备没有这样的问题。我不太清楚到底发生了什么变化。我只看到我无法再在 BT 设备上浏览可用的服务

shell> sdptool browse <bt-keyboard-sanitized>
Failed to connect to SDP server on <bt-keyboard-sanitized> Host is down

我也无法在其他 BT 设备上浏览服务,尽管之前它运行良好。我怀疑这在 BT 堆栈的某个地方造成了问题。

解决方法

我能够再次连接键盘。以下步骤描述了该过程,YMMV。

  • 打开blueman-applet(小程序)窗口和带有命令的终端蓝牙控制(命令行)。

  • 在小程序中,如果已配对,则移除该设备。

  • 在 CLI 中,将适配器设置为可配对和可发现。然后启用代理并开始扫描。(出于某种原因,该实用程序会将连接的 BT 设备显示为提示,例如在本例中为“MX Master 2S”)。

[MX Master 2S]# pairable on
Changing pairable on succeeded
[CHG] Controller <bt-adapter-sanitized> Pairable: yes

[MX Master 2S]# discoverable on
Changing discoverable on succeeded
[CHG] Controller <bt-adapter-sanitized> Discoverable: yes

[MX Master 2S]# agent on
Agent is already registered

[MX Master 2S]# default-agent
Default agent request successful

[MX Master 2S]# show
Controller <bt-adapter-sanitized> (public)
    ...
    Class: 0x000c0000
    Powered: yes
    Discoverable: yes
    DiscoverableTimeout: 0x000000b4
    Pairable: yes
    ...
    Discovering: no
  • 开始键盘配对。按住键盘上的连接按钮几秒钟。

  • 在小程序中,按下搜索按钮并等待键盘出现在列表中。仍然在小程序中,右键单击键盘条目并选择“配对”。

  • 在 CLI 中,您将看到来自代理的 PIN,例如[agent] PIN code: 143052。在您尝试配对的键盘上输入 PIN。您应该看到键盘已连接,服务(以某种方式)已解析并已配对。

[CHG] Device <bt-keyboard-sanitized> Connected: yes
[CHG] Device <bt-keyboard-sanitized> Modalias: usb:v046DpB303d2306
[CHG] Device <bt-keyboard-sanitized> UUIDs: 00001124-0000-1000-8000-00805f9b34fb
[CHG] Device <bt-keyboard-sanitized> UUIDs: 00001200-0000-1000-8000-00805f9b34fb
[CHG] Device <bt-keyboard-sanitized> ServicesResolved: yes
[CHG] Device <bt-keyboard-sanitized> Paired: yes
  • 在小程序中,将键盘设置为受信任。您应该看到
[CHG] Device <bt-keyboard-sanitized> Trusted: yes
  • 但小程序中的设置不起作用。您应该在 CLI 中看到简短的消息,但小程序中没有用于设置设备的窗口
[CHG] Controller <bt-adapter-sanitized> Discovering: yes
[CHG] Controller <bt-adapter-sanitized> Discovering: no

这很可能是因为sdp工具无法浏览设备上的服务。尽管如此,键盘还是连接并(以某种方式)解决了服务

[CHG] Device <bt-keyboard-sanitized> Connected: yes
[CHG] Device 00:07:61:31:EA:A8 ServicesResolved: yes
  • 您可能需要禁用代理并将可配对和可发现功能也设置为关闭。需要时可再次将其设置为打开。
[MX Master 2S]# agent off
[MX Master 2S]# pairable off
[MX Master 2S]# discoverable off

相关内容