Debian Sid无法连接到蓝牙键盘

Mar*_*Kim 6 debian bluetooth gnome-3

我正在运行Debian Sid,安装了以下与蓝牙相关的软件包:

  • blueman 2.0.4-1
  • bluetooth 5.43-1
  • bluez 5.43-1
  • bluez-firmware 1.2-3
  • firmware-misc-nonfree 20161130-2
  • gnome-bluetooth 3.20.1-1

我正在尝试连接Microsoft Surface人体工学键盘,但没有取得多大成功.任何帮助,将不胜感激!下面,请找到有关我的难题的详细信息.

GNOME蓝牙

gnome-bluetooth检测键盘但无法连接.单击已发现的设备后,gnome-bluetooth快速恢复为" 未设置".

有时候,我还没弄清楚什么时候gnome-bluetooth会提示PIN码进行连接.大多数情况下,在我可以在键盘上键入键之前,连接会断开.

很少,gnome-bluetooth设法连接到键盘.然而,在一分钟之内,它会在连接未设置之间快速反复出现.

hcitool

hcitool scan没有结果,也没有hcitool inq.

bluetoothctl

随着scan on,bluetoothctl发现键盘.但是,会发生以下错误:

  • pair发现后直接输入显示以下内容:

    Attempting to pair with [mac address]
    [CHG] Device [mac address] Connected: yes
    Failed to pair: org.bluez.Error.AuthenticationFailed
    [CHG] Device [mac address] Connected: no
    
    Run Code Online (Sandbox Code Playgroud)
  • trust [mac address]在配对前输入会产生相同的错误消息.

  • pairable on在配对前输入会产生相同的错误消息.
  • 输入connect [mac address]显示以下内容:

    [CHG] Device [mac address] Connected: yes
    Failed to connect: org.bluez.Error.Failed
    [CHG] Device [mac address] Connected: no
    
    Run Code Online (Sandbox Code Playgroud)
  • 输入trustpairable使用之前会connect产生相同的错误消息.

跟踪错误 syslog

我相信这是相关的日志:

dbus-daemon[1068]: Activating via systemd: service name='org.bluez.obex' unit='dbus-org.bluez.obex.service'
dbus-daemon[1068]: Activating via systemd failed for unit 'dbus-org.bluez.obex.service': Unit dbus-org.bluez.obex.service not found.


blueman.desktop[1381]: ERROR:dbus.connection:Exception in handler for D-bus signal:
blueman.desktop[1381]: Traceback(most recent call last):
blueman.desktop[1381]:     File "/usr/lib/python3/dist-packages/dbus/connection.py", line 230, in maybe_handle_message
blueman.desktop[1381]:         self._handler(*args, **kwargs)
blueman.desktop[1381]:     File "/usr/lib/python3/dist-packages/blueman/bluez/PropertiesBlueZInterface.py", line 55, in wrapper
blueman.desktop[1381]:         handler(name, value, **kwargs)
blueman.desktop[1381]:     File "/usr/lib/python3/dist-packages/blueman/plugins/applet/GameControllerWakelock.py", line 36, in on_device_property_changed
blueman.desktop[1381]:         klass = Device(path).get_properties()["Class"] & 0x1fff
blueman.desktop[1381]:     KeyError: 'Class'
Run Code Online (Sandbox Code Playgroud)

at-*_*500 2

根据blueman错误报告,您的系统日志显示插件中存在导致 blueman 崩溃的错误GameControllerWakelock,这可能是 GUI 错误的原因。您可以禁用该插件,或更新到较新版本的 blueman 来修复该问题。(例如通过安装2.1-alpha

但是,禁用该插件可能无法解决您的连接问题,只能解决 GUI 问题。提到的身份验证错误通常意味着 PIN 码错误。该错误报告还提到,他们实现了一个 PIN 数据库,该数据库可能会登陆2.1,因此升级实际上可能值得一试。如果您的键盘尚未在 PIN 数据库中,我建议您在 blueman github 上创建一个问题并与那里的人交谈!