Come si può associare una tastiera Bluetooth che richiede l'inserimento di un codice nel terminale?


20

Ho una tastiera Bluetooth ThinkPad 2 Tablet che voglio abbinare al mio Ubuntu Touch Aquaris E4.5. A causa delle limitazioni della GUI, voglio provare a farlo nel terminale. Spero che il processo sia simile a quello sul desktop di Ubuntu.

Su Ubuntu Desktop 15.10, quando si accoppia la tastiera, il seguente messaggio viene presentato in una finestra di dialogo della GUI:

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

Immettendo il PIN di 6 cifre sulla tastiera Bluetooth e premendo si Entercompleta l'accoppiamento della tastiera e funziona correttamente. Quando provo ad accoppiare la tastiera su Ubuntu Touch, non viene visualizzata alcuna finestra di dialogo della GUI che mostra il codice da inserire sulla tastiera Bluetooth. Quindi, voglio provare ad accoppiare la tastiera nel terminale.

Ho provato quanto segue:

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

Cosa potrei provare dopo?

Risposte:


26

Puoi provare a eseguire bluetoothctl dalla riga di comando, assicurati che il tuo dispositivo sia acceso / pronto per essere scoperto:

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

Tutti gli altri dispositivi Bluetooth saranno elencati qui. Sarai quindi all'interno di un [bluetooth]prompt.

Innanzitutto, attiva il Bluetooth (se il tuo dispositivo è spento):

[bluetooth]# power on
Changing power on succeeded

Quindi, assicurati che il tuo agente sia registrato:

[bluetooth]# agent on
Agent registered

[bluetooth]# default-agent 
Default agent request successful

Ora puoi cercare i dispositivi dalla 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

Puoi anche accoppiare manualmente da qui:

[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

A questo punto, ti verrà richiesto di inserire un codice PIN per l'associazione:

Request PIN code
[agent] Enter PIN code: 12345

Immettere un numero (ad es. 12345) e verrà richiesto di inserire lo stesso numero dal dispositivo:

[Someone's Keyboard]# 12345

Dovresti quindi essere informato che la tua tastiera è stata accoppiata:

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

Spero che questo funzioni per te, ho provato a risolverlo per un po 'prima di trovare qualche riferimento bluetoothctl.


EDIT: la versione Ubuntu Touch OTA9 include Bluez 5, che consente l'associazione con le tastiere ThinkPad. Ecco il piccolo BQ Aquaris E4.5 che funge quasi da palmare.


Ok, domanda stupida: come installo bluetoothctl? Ho provato sudo add-apt-repository ppa:vidplace7/bluez5; sudo apt-get update; sudo apt-get install bluez bluez-tools.
d3pd,

... ¯_ (ツ) _ / ¯ - era già lì sulla mia macchina, guardando i miei pacchetti Bluez, gli unici altri che ho sono bluez-obexde libbluetooth3, ma la mia ipotesi è che vengano con bluez(sto eseguendo 5.35 FWIW).
1nfiniti il

Grazie per il tuo aiuto su questo. Non ho idea di come installare BlueZ 5 in Ubuntu Touch (e ha bloccato / riflesso un dispositivo cercando di farlo), quindi farò una domanda separata a riguardo.
d3pd

1
Ancora una volta, la versione Ubuntu Touch OTA9 include Bluez 5 e consente l'associazione con le tastiere Bluetooth ThinkPad, quindi le idee di base della tua soluzione erano corrette. Grazie ancora per il vostro aiuto.
d3pd,

Ho usato bluetoothctl per collegare la tastiera pieghevole universale Microsoft al mio tablet Aquaris M10 e ci sono riuscito. L'unico problema è che Ubuntu Touch non riconosce quando la tastiera è disconnessa e si rifiuta di presentarmi l'OSK fino al riavvio. C'è un modo per staccare la tastiera tramite un comando bluetoothctl senza dover ripetere il processo di associazione? Vedi la mia segnalazione di bug del launchpad qui: bugs.launchpad.net/ubuntu/+source/ubuntu-system-settings/+bug/…
tomoqv

8

Ha seguito i passaggi di 1nfiniti su Ubuntu 16.04 amd64 e ha funzionato perfettamente con la combinazione di tastiera e mouse Logitech MX5000. Ma quando ho riavviato il computer, la tastiera non ha digitato di nuovo. Ha mostrato come connesso ma non accoppiato su Impostazioni Bluetooth. Tuttavia, il mouse ha funzionato bene.

Dando un'occhiata al riferimento bluetoothctl ( https://wiki.archlinux.org/index.php/bluetooth#Bluetoothctl ) ho capito che dopo il comando 'pair' è stato usato un comando 'trust' per consentire ad alcuni dispositivi di riconnettersi correttamente.

Così ho iniziato bluetoothctl, disconnesso e disaccoppiato la tastiera, collegato e accoppiato di nuovo, ed emesso

[bluetooth]# trust [keyboard MAC Address]

Quindi mi è stato comunicato che la tua tastiera è stata attendibile

Trusted

E questo ha funzionato, ora la tastiera si collega perfettamente ogni volta che avvio / riavvio il computer.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.