Как подключить Bluetooth-клавиатуру, требующую ввода кода, в терминале?
У меня есть клавиатура Bluetooth ThinkPad 2 Tablet, которую я хочу подключить к своей Ubuntu Touch Aquaris E4.5. Из-за ограничений графического интерфейса, я хочу попробовать сделать это в терминале. Я надеюсь, что этот процесс будет похож на Ubuntu Desktop.
В Ubuntu Desktop 15.10 при сопряжении клавиатуры в диалоговом окне графического интерфейса пользователя отображается следующее сообщение:
Please enter the following PIN on "ThinkPad keyboard" and press "Enter" on the keyboard:
<6-digit number>
Ввод 6-значного PIN-кода на клавиатуре Bluetooth и нажатие Enter
завершает сопряжение клавиатуры и работает нормально. Когда я пытаюсь подключить клавиатуру в Ubuntu Touch, не отображается диалоговое окно с графическим интерфейсом, отображающее код, который необходимо ввести на клавиатуре Bluetooth. Итак, я хочу попробовать подключить клавиатуру в терминале.
Я пробовал следующее:
phablet@ubuntu-phablet:~$ hcitool scan
Scanning ...
AB:CD:EF:GH:IJ:KL ThinkPad Keyboard
phablet@ubuntu-phablet:~$ bluez-simple-agent AB:CD:EF:GH:IJ:KL
RequestPinCode (/org/bluez/863/hci0/dev_AB_CD_EF_GH_IJ_KL)
Enter PIN Code: 0000
Release
Creating device failed: org.bluez.Error.ConnectionAttemptFailed: Page Timeout
phablet@ubuntu-phablet:~$
Что я мог попробовать дальше?
2 ответа
Вы можете попробовать запустить bluetoothctl из командной строки, убедитесь, что ваше устройство включено / готово к обнаружению:
$ bluetoothctl
[NEW] Controller AA:BB:CC:DD:EE:FF device-name [default]
Любые другие устройства Bluetooth будут перечислены здесь. Вы будете тогда внутри [bluetooth]
незамедлительный.
Сначала включите питание Bluetooth (если ваше устройство выключено):
[bluetooth]# power on
Changing power on succeeded
Затем убедитесь, что ваш агент зарегистрирован:
[bluetooth]# agent on
Agent registered
[bluetooth]# default-agent
Default agent request successful
Теперь вы можете сканировать устройства с консоли:
[bluetooth]# scan on
Discovery started
[CHG] Controller AA:BB:CC:DD:EE:FF Discovering: yes
[NEW] Device FF:EE:DD:CC:BB:AA Someone's Keyboard
Здесь вы также можете выполнить сопряжение вручную:
[bluetooth]# pair FF:EE:DD:CC:BB:AA
Attempting to pair with FF:EE:DD:CC:BB:AA
[CHG] Device C8:E0:EB:04:52:55 Connected: yes
На этом этапе вам будет предложено ввести пин-код для сопряжения:
Request PIN code
[agent] Enter PIN code: 12345
Введите номер (например, 12345), и вам будет предложено ввести тот же номер с устройства:
[Someone's Keyboard]# 12345
Затем вы должны быть уведомлены о том, что ваша клавиатура сопряжена:
[CHG] Device FF:EE:DD:CC:BB:AA Paired: yes
Надеюсь, это работает для вас, пытался решить это некоторое время, прежде чем я нашел какую-либо ссылку на bluetoothctl
,
РЕДАКТИРОВАТЬ: Выпуск Ubuntu Touch OTA9 включает в себя Bluez 5, что позволяет сопряжение с клавиатурами ThinkPad. Вот маленький BQ Aquaris E4.5, действующий почти как карманный компьютер.
Следовал инструкциям 1nfiniti на Ubuntu 16.04 amd64, и он прекрасно работал с клавиатурой и мышью Logitech MX5000. Но когда я перезагрузил компьютер, клавиатура больше не печатала. Он показывал как подключенный, но не сопряженный в настройках Bluetooth. Однако мышь работала нормально.
Изучив ссылку на bluetoothctl ( https://wiki.archlinux.org/index.php/bluetooth), вы поняли, что команда "trust" использовалась после команды "pair", чтобы позволить некоторым устройствам успешно переподключиться.
Итак, я запустил bluetoothctl, отключил и отключил клавиатуру, подключил и снова подключил ее, и выдал
[bluetooth]# trust [keyboard MAC Address]
Тогда мне сообщили, что вашей клавиатуре доверяют
Trusted
И это сработало, теперь клавиатура подключается без проблем каждый раз, когда я запускаю / перезагружаю компьютер.