Подключение bluetooth клавиатуры linux

Bluetooth, Debian, Logitech

Новый год начался весело. Видимо, мой компьютер тоже его отмечал, поскольку на утро первого числа у меня перестала работать bt-клавиатура.

Моя Logitech K810, ранее работавшая без нареканий, внезапно перестала подключаться. Немного покопавшись в blueman, мне удалось ее подключить(раза с четвертого), но клавиатура осчастливила меня жуткими лагами — кнопки будто нажимались несколько раз подряд, хотя я нажимал их всего один раз.

Тогда я решил наплевать на blueman, и вспомнить старый дедовский способ подключения — hcitool и bluez-simple-agent. Но не тут-то было — отныне, утилиты bluez-simple-agent в пакете bluez нет. Теперь, аналогичный функционал есть в bluetoothctl — абсолютно неудобной и ненужной вещи.

Собственно говоря, решил я подключиться через нее. После десяти минут мучений, клавиатура подключилась, но продолжила лагать, как и ранее.

Подумалось мне, что, возможно, надо бы обновить bluez. Но обновлений в моём jessie нет. Доустановка linux-firmware тоже не помогла.

В общем, какой итог — теперь, bt-адаптер AR3011 не определяется вообще. Никак. Фирмварь есть. Systemd при старте последний раз показал, что не может запустить usb-порт. Что глупо — порт работает, а смена порта для адаптера не дает результата.

Товарищи, в какую сторону копать, кто мне подскажет?

UPD: Видимо, сбой произошел из-за обновления bluetooth, либо bluez. Сейчас все работает как и раньше — клавиатура подключается сама, никаких рассинхронов в нажатиях нет.

Для тех, кто забрел сюда из гугла, инструкция по готовке клавиатуры в линуксах:

2. Открываем отдельный терминал(вкладку?), пишем

3. Открываем еще одну вкладку(либо работаем в первой), пишем

4. Смотрим терминал из пункта 2, там должен быть выхлоп с паролем, который клавиатура требует для сопряжения. Вводим его на клавиатуре, жмем enter. Ждём примерно 5-10 секунд, клавиатура должна сопрячься с компом.

5. В терминале с bluetoothctl осталось ввести

P.S: Сопряжение можно запустить и в апплете blueman, но пароль оно вам не покажет, поэтому команда из второго пункта необходима.

P.P.S: Если кто-то может меня поправить/дополнить — пишите, изменю это дополнение.

Источник

Bluetooth keyboard

This article describes how to set up a Bluetooth HID keyboard with Arch Linux, bluez version 5.

Pairing process

This article or section is a candidate for merging with Bluetooth.

Notes: Pairing process, and some troubleshooting related to it, are redundant with general device setup on Bluetooth page, and should be merged there. Keyboard-specific info would stay on this page. (Discuss in Talk:Bluetooth#Merging general setup from Keyboard, Mouse, Headset pages)

Читайте также:  Bluetooth aptx hd windows 10

Login to the affected computer by a wired keyboard or by ssh.

First, make sure the local Bluetooth controller (e.g. a Bluetooth dongle the built in Bluetooth radio) is recognized:

Bus 001 Device 004: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode) Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp. LAN9500 Ethernet 10/100 Adapter / SMSC9512/9514 Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

The above output is from a Raspberry-Pi revision ‘B’ with archlinux-arm and a Keysonic Bluetooth Dongle.

Three items worth remembering:

  • Bluetooth devices (keyboard) and controllers (dongle) need to be paired once.
  • The Bluetooth controller needs to be powered up after every boot.
  • The Bluetooth controller needs to be told to connect to the keyboard after every boot.

Pairing is a one time process, required only once. There are Bluetooth keyboards sold with a Bluetooth dongle which come already paired, but that is not certain. We will use the bluetoothctl command from bluez-utils to pair our dongle and the keyboard.

Power up can be done with bluetoothctl , or automatically in /etc/bluetooth/main.conf , see below.

Same for connecting, either bluetoothctl or hcitool can be used, the latter is more useful for scripting.

We will use bluetoothctl for the pairing process. Run the command to get at the [bluetooth]# prompt.

Note: If you are on a color console: the word «bluetooth» is in the default color as long as no devices are available, and blue as soon as required devices and/or controllers have been found.

While in bluetoothctl power up the controller:

Changing power on succeeded [CHG] Controller 06:05:04:03:02:01 Powered: yes

Next, tell bluetoothctl to look only for keyboards, and make that the default agent:

[bluetooth]# agent KeyboardOnly
Default agent request successful

Next, put your controller (the local dongle) in pairable mode:

Changing pairable on succeeded

Next, put your keyboard in an active mode, where it is discoverable, i.e. pairable. Some keyboards have a special button for this on the underside, or require a special key combination to be pressed. See the documentation of your keyboard. Please note that this discoverability of a device is time limited; some devices are only visible for 30 seconds, other for 2 minutes. Your mileage may vary.

Next, let the controller scan the Bluetooth frequencies for a suitable device:

Discovery started [CHG] Controller 06:05:04:03:02:01 Discovering: yes

After a few seconds the address of the keyboard should be listed as found. This line will repeat over and over, but will not stop you from entering new commands.

Читайте также:  Установить блютуз на телевизор самсунг

Next, actually do the pairing. The address used is the Bluetooth MAC address of the keyboard:

[bluetooth]# pair 01:02:03:04:05:06

Note: Some keyboards, such as Microsoft Surface Ergonomic, will send a pass code (e.g. [agent] Passkey: 501334 ) which has to be typed in on the Bluetooth keyboard followed by the key Enter in order to pair successfully. Use paired-devices command to double check if the pairing succeeded.

Next, make this a trusted device (this allows the device to establish the connection on itself). Again, the Bluetooth MAC address is the address of the keyboard device:

[bluetooth]# trust 01:02:03:04:05:06

Next and finally connect to the device (keyboard). Again, the Bluetooth MAC address is the address of the keyboard device:

[bluetooth]# connect 01:02:03:04:05:06

Done. Leave the bluetoothctl utility:

Now the external device (i.e. keyboard) and the USB Bluetooth dongle are paired permanently, unless you break the pairing intentionally.

Troubleshooting

Bluetooth controller does not show up in lsusb

Bluetooth controller is not visible in bluetoothctl

  • Check the bluetooth.service unit status.
  • Check: You run the command with superuser privileges using su or sudo . Otherwise you have blue [bluetooth]# prompt and get the following message when powering on the controller:
[bluetooth]# power on No default controller available

Bluetooth keyboard still does not work

  • Check: Does it have power?
  • Check: Did it connect to the Bluetooth controller? If not, try with another controller or your smart phone.

Error: hci0 ACL packet for unknown connection handle 4

Xorg

Device should be added as /dev/input/event* and your Xorg should add it automatically if you did not disable such feature.

Источник

Bluetooth keyboard (Русский)

Состояние перевода: На этой странице представлен перевод статьи Bluetooth keyboard. Дата последней синхронизации: 15 сентября 2021. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

В этой статье описан метод подключения bluetooth клавиатуры. Используется bluez версии 5.

Сопряжение

Войдите на нужный компьютер с проводной клавиатурой или через ssh.

В первую очередь убедитесь, что Bluetooth-контроллер определился:

Bus 001 Device 004: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode) Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp. LAN9500 Ethernet 10/100 Adapter / SMSC9512/9514 Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Приведённый выше вывод получен на Raspberry-Pi revision ‘B’ с archlinux-arm и Keysonic BT Dongle.

  • Между устройством (клавиатурой) и контроллером (донглом) сопряжение настраивается один раз.
  • Bluetooth-контроллер необходимо включать после каждой загрузки.
  • Контроллеру необходимо указывать подключение к клавиатуре после каждой загрузки.
Читайте также:  Sennheiser hd 250bt беспроводные bluetooth наушники

Сопряжение — однократный процесс, который достаточно выполнить один раз. Бывают Bluetooth-клавиатуры, продаваемые вместе с донглом и заранее настроенным сопряжением, но так не у всех. Мы используем команду bluetoothctl из пакета bluez-utils для сопряжения нашего донгла и клавиатуры.

Включение может быть выполнено через bluetoothctl или автоматически в /etc/bluetooth/main.conf (см. ниже).

Аналогично подключение может быть выполнено через bluetoothctl или hcitool , последний более полезен для написания скриптов.

Используем bluetoothctl для сопряжения. Запустите команду для получения приглашения [bluetooth]# .

Примечание: Если у вас цветная консоль, слово «bluetooth» будет иметь цвет по умолчанию, если нет доступных устройств, и синиц цвет, если требуемые устройства и/или контроллеры нашлись.

Находясь в bluetoothctl, включите контроллер:

Changing power on succeeded [CHG] Controller 06:05:04:03:02:01 Powered: yes

Затем сообщите bluetoothctl , что мы ищем только клавиатуры, и сделайте это агентом по умолчанию:

[bluetooth]# agent KeyboardOnly
Default agent request successful

Далее переведите ваш контроллер (локальный донгл) в режим сопряжения:

Changing pairable on succeeded

Теперь переведите вашу клавиатуру в активный режим, когда она может быть обнаружена и сопряжена. Некоторые клавиатуры имеют специальную кнопку для этого, некоторые требуют нажать специальную комбинацию клавиш — читайте документацию к вашей клавиатуре. Имейтн в виду, что время, в течение которого будет доступно обнаружение, ограничено, обычно около 30 секунд или пары минут в зависимости от устройства.

Далее попросите контроллер найти подходящее устройство:

Discovery started [CHG] Controller 06:05:04:03:02:01 Discovering: yes

После нескольких секунд адрес вашей клавиатуры должен быть найден. Строка может повторяться снова и снова, но это не мешает вводить новые команды.

Теперь выполните собственно сопряжение. Используемый адрес это BT-MAC вашей клавиатуры:

[bluetooth]# pair 01:02:03:04:05:06

Примечание: Некоторые клавиатуры, такие как Microsoft Surface Ergonomic, отправляют пасскод (например, «[agent] Passkey: 501334»), который нужно набрать на клавиатуре и нажать Enter для завершения сопряжения. Используйте команду «paired-devices», чтобы точно убедиться, что сопряжение прошло успешно.

Теперь сделайте это устройство доверенным (это позволит ему самостоятельно устанавливать соединение). Аналогично, используемый адрес это BT-MAC вашей клавиатуры:

[bluetooth]# trust 01:02:03:04:05:06

Наконец, подключитесь к устройству (клавиатуре). Аналогично, используемый адрес это BT-MAC вашей клавиатуры:

[bluetooth]# connect 01:02:03:04:05:06

Готово. Теперь можно выйти из bluetoothctl :

Теперь внешнее устройство (клавиатура) и USB-донгл сопряжены навсегда, пока вы самостоятельно не удалите сопряжение.

Решение проблем

This article or section needs expansion.

Xorg

Устройство добавляется как /dev/input/event* и Xorg должен увидеть его автоматически, если вы не отключили такую возможность.

Источник

Оцените статью
Adblock
detector