Kod girişi gerektiren bir Bluetooth klavye terminalde nasıl eşleştirilebilir?


20

Ubuntu Touch Aquaris E4.5 ile eşleştirmek istediğim bir Bluetooth ThinkPad 2 Tablet klavyem var. GUI sınırlamaları nedeniyle, bunu terminalde yapmaya çalışmak istiyorum. Bu sürecin Ubuntu Desktop'takilerle benzer olacağını umuyorum.

Ubuntu Desktop 15.10'da, klavyeyi eşleştirirken, bir GUI iletişim kutusunda şu mesaj gösterilir:

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

Bluetooth klavyesinde 6 basamaklı PIN kodunu girmek ve tuşuna basmak Enter, klavyenin eşleşmesini tamamlar ve iyi çalışır. Klavyeyi Ubuntu Touch'ta eşleştirmeye çalıştığımda, Bluetooth klavyede girilecek kodu görüntüleyen hiçbir GUI iletişim kutusu gösterilmiyor. Bu yüzden, klavyeyi terminaldeki eşleştirmeyi denemek istiyorum.

Aşağıdakileri denedim:

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

Bundan sonra ne deneyebilirim?

Yanıtlar:


26

Komut satırından bluetoothctl çalıştırmayı deneyebilir, cihazınızın keşfedilmeye hazır / hazır olduğundan emin olun:

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

Diğer tüm bluetooth cihazları burada listelenir. Daha sonra bir bilgi [bluetooth]istemi içinde olacaksın .

İlk önce, bluetooth gücünü açın (cihazınız kapalıysa):

[bluetooth]# power on
Changing power on succeeded

Ardından, temsilcinizin kayıtlı olduğundan emin olun:

[bluetooth]# agent on
Agent registered

[bluetooth]# default-agent 
Default agent request successful

Şimdi konsoldan aygıtları tarayabilirsiniz:

[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

Buradan manuel olarak da eşleştirebilirsiniz:

[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

Bu noktada, eşleşme için bir pin kodu girmeniz istenir:

Request PIN code
[agent] Enter PIN code: 12345

Bir numara girin (örn. 12345), sizden aynı numarayı cihazdan girmeniz istenir:

[Someone's Keyboard]# 12345

Daha sonra klavyenizin eşleştirildiği bildirilmelidir:

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

Umarım bu sizin için çalışır, bir referans bulmadan önce bunu bir süre çözmeye çalışıyordu bluetoothctl.


EDIT: Ubuntu Touch OTA9 sürümü, ThinkPad klavyeleriyle eşleştirmeyi sağlayan Bluez 5'i içeriyor. İşte neredeyse bir avuç içi gibi davranan küçük BQ Aquaris E4.5.


Tamam, saçma bir soru: nasıl yüklerim bluetoothctl? Denedim sudo add-apt-repository ppa:vidplace7/bluez5; sudo apt-get update; sudo apt-get install bluez bluez-tools.
d3pd

... ¯_ (ツ) _ / ¯ - makinemde zaten vardı, Bluez paketlerime bakıyordum, sahip olduğum diğer paketler vardı bluez-obexdve libbluetooth3, ama sanırım birlikte geliyorlar bluez(koşuyorum 5.35 FWIW).
1nfiniti

Bu konuda yardım için teşekkür ederiz. BlueZ 5’in Ubuntu Touch’a nasıl yükleneceği hakkında hiçbir fikrim yok (ve bunu yapmaya çalışan bir cihazı tuğlala kapladı / yeniden düzenledi), bu yüzden bu konuda ayrı bir soru soracağım.
d3pd

1
Yine, Ubuntu Touch OTA9 sürümü Bluez 5'i içeriyor ve ThinkPad Bluetooth klavyelerle eşleşmesini sağlıyor, bu nedenle çözümünüzün temel fikirleri doğru. Yardımın için tekrar teşekkürler.
d3pd,

Microsoft Universal Katlanabilir Klavyeyi Aquaris M10 tabletime bağlamak için bluetoothctl kullanıyorum ve bunu başardım. Tek sorun, Ubuntu Touch'ın klavyenin bağlantısının ne zaman kesildiğini algılamaması ve yeniden başlatana kadar bana OSK vermeyi reddetmesidir. Klavyeyi bir eşleştirme işlemine tekrar gitmek zorunda kalmadan bir bluetoothctl komutuyla ayırmanın bir yolu var mı? Burada launchpad hata raporumu görün: bugs.launchpad.net/ubuntu/+source/ubuntu-system-settings/+bug/…
tomoqv

8

Ubuntu 16.04 amd64'teki 1nfiniti adımlarını takip etti ve Logitech MX5000 klavye ve mouse combo ile harika çalıştı. Ancak bilgisayarı yeniden başlattığımda klavye bir daha yazmadı. Bağlantılı olarak gösterdi ancak Bluetooth Ayarlarında eşleştirilmedi. Ancak, fare iyi çalıştı.

Bluetoothctl referansına bir göz attığınızda ( https://wiki.archlinux.org/index.php/bluetooth#Bluetoothctl ), bazı cihazların başarılı bir şekilde yeniden bağlanabilmesi için 'pair' komutundan sonra bir 'trust' komutunun kullanıldığını fark etti.

Bu yüzden bluetoothctl'yi başlattım, klavyeyi çıkardım ve eşleştirmedim, tekrar bağladım ve eşleştirdim ve yayınladım

[bluetooth]# trust [keyboard MAC Address]

Sonra klavyenizin güvenilir olduğu bildirildi

Trusted

Ve işin püf noktası, şimdi bilgisayarı her başlattığımda / yeniden başlattığımda klavye kusursuz bir şekilde bağlanıyor.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.