Como um teclado Bluetooth que requer uma entrada de código pode ser emparelhado no terminal?

15

Tenho um teclado ThinkPad 2 Tablet que quero associar ao meu Ubuntu Touch Aquaris E4.5 . Devido às limitações da GUI, quero tentar fazer isso no terminal. Espero que o processo seja semelhante ao do Ubuntu Desktop.

No Ubuntu Desktop 15.10, ao emparelhar o teclado, a seguinte mensagem é apresentada em uma caixa de diálogo da GUI:

Please enter the following PIN on "ThinkPad keyboard" and press "Enter" on the keyboard:
<6-digit number>

Digitar o PIN de 6 dígitos no teclado Bluetooth e pressionar Enter conclui o emparelhamento do teclado e funciona bem. Quando tento emparelhar o teclado no Ubuntu Touch, nenhuma caixa de diálogo da GUI é apresentada exibindo o código que deve ser digitado no teclado Bluetooth. Então, quero tentar emparelhar o teclado no terminal.

Eu tentei o seguinte:

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:~$

O que eu posso tentar agora?

    
por d3pd 24.11.2015 / 14:52

2 respostas

19

Você pode tentar executar bluetoothctl a partir da linha de comando, verifique se seu dispositivo está em / pronto para ser descoberto:

$ bluetoothctl
[NEW] Controller AA:BB:CC:DD:EE:FF device-name [default]

Quaisquer outros dispositivos Bluetooth serão listados aqui. Você estará em um prompt [bluetooth] .

Primeiro, ligue o Bluetooth (se o seu dispositivo estiver desligado):

[bluetooth]# power on
Changing power on succeeded

Depois, verifique se seu agente está registrado:

[bluetooth]# agent on
Agent registered

[bluetooth]# default-agent 
Default agent request successful

Agora você pode procurar dispositivos no console:

[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

Você também pode fazer um par manualmente a partir daqui:

[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

Neste ponto, você deve inserir um código PIN para o pareamento:

Request PIN code
[agent] Enter PIN code: 12345

Digite um número (por exemplo, 12345), e você será solicitado a inserir o mesmo número do dispositivo:

[Someone's Keyboard]# 12345

Você deve ser notificado de que seu teclado está emparelhado:

[CHG] Device FF:EE:DD:CC:BB:AA Paired: yes

Espero que isso funcione para você, estava tentando resolver isso por um tempo antes de encontrar qualquer referência a bluetoothctl .

EDIT: O lançamento do Ubuntu Touch OTA9 inclui o Bluez 5, permitindo o emparelhamento com os teclados do ThinkPad. Aqui está o pequeno BQ Aquaris E4.5 atuando quase como um palmtop.

    
por 1nfiniti 09.12.2015 / 04:24
6

Seguiu as etapas de 1nfiniti no Ubuntu 16.04 amd64 e funcionou muito bem com o teclado e o mouse do Logitech MX5000. Mas quando reiniciei o computador, o teclado não digitou novamente. Mostrou como conectado mas não emparelhado nas configurações de Bluetooth. No entanto, o mouse funcionou bem.

Analisando a referência bluetoothctl ( link ) percebemos que um comando 'trust' foi usado depois comando 'par' para permitir que alguns dispositivos se reconectem com sucesso.

Então eu iniciei o bluetoothctl, desconectei e desemparelhei o teclado, conectei e emparelhei novamente e emiti

[bluetooth]# trust [keyboard MAC Address]

Em seguida, fui notificado de que seu teclado era confiável

Trusted

E isso funcionou, agora o teclado se conecta perfeitamente toda vez que eu inicio / reinicia o computador.

    
por metacibi 29.04.2016 / 18:51