Bagaimana keyboard Bluetooth yang membutuhkan entri kode dipasangkan di terminal?

20

Saya memiliki keyboard Tablet ThinkPad 2 Bluetooth yang ingin saya pasangkan dengan Ubuntu Touch Aquaris E4.5 saya. Karena keterbatasan GUI, saya ingin mencoba melakukan ini di terminal. Saya berharap prosesnya akan serupa dengan yang ada di Ubuntu Desktop.

Di Ubuntu Desktop 15.10, saat memasangkan keyboard, pesan berikut ini disajikan dalam dialog GUI:

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

Memasukkan PIN 6 digit pada keyboard Bluetooth dan menekan Entermelengkapi pasangan keyboard dan berfungsi dengan baik. Ketika saya mencoba memasangkan keyboard di Ubuntu Touch, tidak ada dialog GUI yang ditampilkan menampilkan kode yang akan dimasukkan pada keyboard Bluetooth. Jadi, saya ingin mencoba memasangkan keyboard di terminal.

Saya sudah mencoba yang berikut ini:

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

Apa yang bisa saya coba selanjutnya?

d3pd
sumber

Jawaban:

26

Anda dapat mencoba menjalankan bluetoothctl dari baris perintah, pastikan perangkat Anda aktif / siap ditemukan:

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

Perangkat bluetooth lainnya akan tercantum di sini. Anda kemudian akan berada di dalam [bluetooth]prompt.

Pertama, nyalakan daya bluetooth (jika perangkat Anda mati):

[bluetooth]# power on
Changing power on succeeded

Kemudian, pastikan agen Anda terdaftar:

[bluetooth]# agent on
Agent registered

[bluetooth]# default-agent 
Default agent request successful

Sekarang Anda dapat memindai perangkat dari konsol:

[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

Anda dapat memasangkan secara manual dari sini juga:

[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

Pada titik ini, Anda akan diminta memasukkan kode pin untuk memasangkan:

Request PIN code
[agent] Enter PIN code: 12345

Masukkan nomor (mis. 12345), dan Anda akan diminta untuk memasukkan nomor yang sama dari perangkat:

[Someone's Keyboard]# 12345

Anda kemudian harus diberitahu bahwa keyboard Anda telah dipasangkan:

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

Semoga ini berhasil untuk Anda, sedang mencoba menyelesaikan ini untuk sementara waktu sebelum saya menemukan referensi bluetoothctl.


EDIT: Rilis Ubuntu Touch OTA9 termasuk Bluez 5, memungkinkan pemasangan dengan keyboard ThinkPad. Inilah BQ Aquaris E4.5 kecil yang bertindak hampir seperti palmtop.

1nfiniti
sumber
Ok, pertanyaan konyol: bagaimana cara menginstal bluetoothctl? Saya sudah mencoba sudo add-apt-repository ppa:vidplace7/bluez5; sudo apt-get update; sudo apt-get install bluez bluez-tools.
d3pd
... ¯_ (ツ) _ / ¯ - itu sudah ada di komputer saya, melihat paket Bluez saya, satu-satunya yang saya punya adalah bluez-obexddan libbluetooth3, tapi saya duga mereka datang dengan bluez(saya menjalankan 5.35 fwiw).
1nfiniti
Terima kasih atas bantuan Anda dalam hal ini. Saya tidak tahu bagaimana cara menginstal BlueZ 5 di Ubuntu Touch (dan membuat perangkat yang sudah di-rash / bercahaya), jadi saya akan mengajukan pertanyaan terpisah tentang ini.
d3pd
1
Hai lagi, rilis Ubuntu Touch OTA9 termasuk Bluez 5 dan memungkinkan dipasangkan dengan keyboard ThinkPad Bluetooth, sehingga ide dasar dari solusi Anda benar. Sekali lagi terima kasih atas bantuan Anda.
d3pd
Saya telah menggunakan bluetoothctl untuk menghubungkan Microsoft Universal Lipat Keyboard ke tablet Aquaris M10 saya dan berhasil pada saat itu. Satu-satunya masalah adalah bahwa Ubuntu Touch tidak mengenali ketika keyboard terputus dan menolak untuk menyajikan OSK sampai saya reboot. Apakah ada cara untuk melepaskan keyboard melalui perintah bluetoothctl tanpa harus melalui proses pemasangan lagi? Lihat laporan bug launchpad saya di sini: bugs.launchpad.net/ubuntu/+source/ubuntu-system-settings/+bug/…
tomoqv
8

Ikuti langkah-langkah oleh 1nfiniti di Ubuntu 16.04 amd64 dan bekerja dengan baik dengan keyboard dan mouse combit Logitech MX5000. Tetapi ketika saya reboot komputer, keyboard tidak mengetik lagi. Itu ditampilkan sebagai terhubung tetapi tidak dipasangkan pada Pengaturan Bluetooth. Namun, mouse itu bekerja dengan baik.

Setelah melihat referensi bluetoothctl ( https://wiki.archlinux.org/index.php/bluetooth#Bluetoothctl ) menyadari bahwa perintah 'trust' digunakan setelah perintah 'pair' digunakan untuk memungkinkan beberapa perangkat berhasil terhubung kembali.

Jadi saya mulai bluetoothctl, memutus dan memutus keyboard, menghubungkan dan memasangkannya lagi, dan mengeluarkan

[bluetooth]# trust [keyboard MAC Address]

Kemudian saya diberitahu bahwa keyboard Anda telah dipercaya

Trusted

Dan itu berhasil, sekarang keyboard terhubung dengan sempurna setiap kali saya memulai / me-restart komputer.

metacibi
sumber