web-dev-qa-db-fra.com

Comment un clavier Bluetooth nécessitant une entrée de code peut-il être apparié dans le terminal?

J'ai un Bluetooth clavier de la tablette ThinkPad 2 que je souhaite coupler avec mon Ubuntu Touch Aquaris E4.5. En raison des limitations de l'interface graphique, je souhaite essayer de le faire dans le terminal. J'espère que le processus sera similaire à celui sur Ubuntu Desktop.

Sur Ubuntu Desktop 15.10, lors du couplage du clavier, le message suivant est présenté dans une boîte de dialogue d'interface graphique:

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

La saisie du PIN à 6 chiffres sur le clavier Bluetooth, en appuyant sur Entercomplète le couplage du clavier et fonctionne correctement. Lorsque j'essaie de coupler le clavier sur Ubuntu Touch, aucune boîte de dialogue graphique ne s'affiche avec le code à saisir sur le clavier Bluetooth. Donc, je veux essayer de jumeler le clavier dans le terminal.

J'ai essayé ce qui suit:

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

Que pourrais-je essayer ensuite?

20
d3pd

Vous pouvez essayer d’exécuter bluetoothctl à partir de la ligne de commande. Assurez-vous que votre appareil est sous tension/prêt à être découvert:

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

Tous les autres périphériques Bluetooth seront listés ici. Vous serez alors dans un message [bluetooth].

Commencez par activer Bluetooth (si votre appareil est éteint):

[bluetooth]# power on
Changing power on succeeded

Ensuite, assurez-vous que votre agent est enregistré:

[bluetooth]# agent on
Agent registered

[bluetooth]# default-agent 
Default agent request successful

Vous pouvez maintenant rechercher des périphériques à partir de la 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

Vous pouvez également appairer manuellement à partir d’ici:

[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

À ce stade, vous devriez être invité à entrer un code PIN pour l'appariement:

Request PIN code
[agent] Enter PIN code: 12345

Entrez un numéro (par exemple, 12345) et vous serez invité à saisir le même numéro à partir du périphérique:

[Someone's Keyboard]# 12345

Vous devriez alors être averti que votre clavier a couplé:

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

Espérons que cela fonctionne pour vous. J'essayais de résoudre ce problème avant que je trouve une référence à bluetoothctl.


EDIT: La version Ubuntu Touch OTA9 comprend Bluez 5, ce qui permet le couplage avec les claviers ThinkPad. Voici le petit BQ Aquaris E4.5 qui agit presque comme un palmtop.

26
1nfiniti

Suivez les étapes de 1nfiniti sur Ubuntu 16.04 AMD64 et cela fonctionne très bien avec le clavier et la souris Logitech MX5000. Mais lorsque j'ai redémarré l'ordinateur, le clavier n'a plus tapé. Il apparaissait comme connecté mais non jumelé avec les paramètres Bluetooth. Cependant, la souris a bien fonctionné.

En examinant la référence bluetoothctl ( https://wiki.archlinux.org/index.php/bluetooth#Bluetoothctl ), on s'est rendu compte qu'une commande "trust" était utilisée après la commande "pair" pour autoriser certains périphériques pour vous reconnecter.

J'ai donc lancé bluetoothctl, déconnecté et déconnecté le clavier, connecté et couplé à nouveau, puis émis

[bluetooth]# trust [keyboard MAC Address]

Ensuite, j'ai été informé que votre clavier était digne de confiance

Trusted

Et cela a fait l'affaire, maintenant le clavier se connecte parfaitement à chaque démarrage/redémarrage de l'ordinateur.

8
metacibi