Debian Sid не может подключиться к клавиатуре Bluetooth

Я использую Debian Sid со следующими установленными пакетами, связанными с Bluetooth:

  • 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 Ergonomic Keyboard, но без особого успеха. Любая помощь будет оценена! Ниже вы найдете подробности о моей головоломке.

гном-Bluetooth

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
    
  • входящий 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
    
  • входящий trust или же pairable Перед использованием 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'

2 ответа

Согласно этому blueman отчет об ошибке, ваш системный журнал показывает ошибку в GameControllerWakelock плагин, который вызывает сбой blueman, что, вероятно, является причиной, по которой GUI вызывает ошибки. Вы можете отключить этот плагин или обновить его до более новой версии blueman, чтобы это исправить. (Например, установив 2.1-альфа)

Тем не менее, отключение плагина, вероятно, не решит ваши проблемы с подключением, только графический интерфейс. Упомянутая ошибка аутентификации обычно означает, что ПИН неправильный. В отчете об ошибке также упоминается, что они внедрили базу данных PIN, которая, вероятно, попадет в 2.1так что обновление может стоить того. Если вашей клавиатуры еще нет в базе данных PIN, я бы предложил вам создать проблему на Blueman GitHub и поговорить с парнями там!

У меня была похожая проблема, я не смог подключить ее к Ubuntu 16.04. В итоге поиска и сбора разных решений я получил вот это:

Открыть в терминале:

bluetoothctl

Агент KeyboardDisplay

платный на

обнаруживается на

сканирование включено (поиск MAC вашей клавиатуры) сканирование выключено

Pair MAC:of:your: клавиатура (надеюсь, вам придется дать пароль, который появится в терминале. Напишите его, а затем нажмите клавишу Enter)

Я надеюсь, что это помогает.

Другие вопросы по тегам