Làm thế nào một bàn phím Bluetooth yêu cầu nhập mã được ghép nối trong thiết bị đầu cuối?


20

Tôi có bàn phím Bluetooth ThinkPad 2 Tablet mà tôi muốn ghép nối với Ubuntu Touch Aquaris E4.5 của mình. Do các giới hạn GUI, tôi muốn thử làm điều này trong thiết bị đầu cuối. Tôi hy vọng rằng quy trình này sẽ tương tự như trên Ubuntu Desktop.

Trên Ubuntu Desktop 15.10, khi ghép nối bàn phím, thông báo sau được hiển thị trong hộp thoại GUI:

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

Nhập mã PIN gồm 6 chữ số trên bàn phím Bluetooth và nhấn để Enterhoàn thành việc ghép bàn phím và nó hoạt động tốt. Khi tôi cố gắng ghép nối bàn phím trên Ubuntu Touch, không có hộp thoại GUI nào được hiển thị hiển thị mã được nhập trên bàn phím Bluetooth. Vì vậy, tôi muốn thử ghép bàn phím trong thiết bị đầu cuối.

Tôi đã thử như sau:

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

Tôi có thể thử gì tiếp theo?

Câu trả lời:


26

Bạn có thể thử chạy bluetoothctl từ dòng lệnh, đảm bảo thiết bị của bạn được bật / sẵn sàng để được phát hiện:

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

Bất kỳ thiết bị bluetooth khác sẽ được liệt kê ở đây. Sau đó, bạn sẽ ở trong một [bluetooth]dấu nhắc.

Đầu tiên, bật nguồn bluetooth (nếu thiết bị của bạn tắt):

[bluetooth]# power on
Changing power on succeeded

Sau đó, đảm bảo đại lý của bạn được đăng ký:

[bluetooth]# agent on
Agent registered

[bluetooth]# default-agent 
Default agent request successful

Bây giờ bạn có thể quét các thiết bị từ bảng điều khiển:

[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

Bạn cũng có thể ghép nối thủ công từ đây:

[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

Tại thời điểm này, bạn sẽ được nhắc nhập mã pin để ghép nối:

Request PIN code
[agent] Enter PIN code: 12345

Nhập một số (ví dụ: 12345) và bạn sẽ được nhắc nhập cùng một số từ thiết bị:

[Someone's Keyboard]# 12345

Sau đó, bạn sẽ được thông báo rằng bàn phím của bạn đã được ghép nối:

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

Hy vọng rằng điều này làm việc cho bạn, đã cố gắng giải quyết điều này trong một thời gian trước khi tôi tìm thấy bất kỳ tài liệu tham khảo nào bluetoothctl.


EDIT: Bản phát hành Ubuntu Touch OTA9 bao gồm Bluez 5, cho phép ghép nối với bàn phím ThinkPad. Đây là chiếc BQ Aquaris E4.5 nhỏ hoạt động gần như một chiếc cọ.


Ok, câu hỏi ngớ ngẩn: làm thế nào để tôi cài đặt bluetoothctl? Tôi đã thử sudo add-apt-repository ppa:vidplace7/bluez5; sudo apt-get update; sudo apt-get install bluez bluez-tools.
d3pd

... _ (ツ) _ / ¯ - nó đã có trên máy tính của tôi, nhìn vào gói Bluez của tôi, những người duy nhất khác mà tôi đã có được bluez-obexdlibbluetooth3, nhưng tôi đoán là họ đi kèm với bluez(Tôi đang chạy 5.35 fwiw).
1nfiniti

Cảm ơn sự giúp đỡ của bạn về điều này. Tôi không biết làm cách nào để cài đặt BlueZ 5 trong Ubuntu Touch (và bị chặn / phản xạ một thiết bị đang cố làm như vậy), vì vậy tôi sẽ hỏi một câu hỏi riêng về vấn đề này.
d3pd

1
Xin nhắc lại, bản phát hành Ubuntu Touch OTA9 bao gồm Bluez 5 và nó cho phép ghép nối với bàn phím ThinkPad Bluetooth, vì vậy những ý tưởng cơ bản về giải pháp của bạn là chính xác. Cảm ơn một lần nữa vì sự giúp đỡ của bạn.
d3pd

Tôi đã sử dụng bluetoothctl để kết nối Bàn phím có thể gập lại của Microsoft với máy tính bảng Aquaris M10 của tôi và đã thành công với điều đó. Vấn đề duy nhất là Ubuntu Touch không nhận ra khi bàn phím bị ngắt kết nối và từ chối đưa cho tôi OSK cho đến khi tôi khởi động lại. Có cách nào để tháo bàn phím thông qua lệnh bluetoothctl mà không phải trải qua quá trình ghép nối nữa không? Xem báo cáo lỗi bệ phóng của tôi ở đây: bugs.launchpad.net/ubuntu/+source/ubuntu-system-settings/+bug/...
tomoqv

8

Thực hiện theo các bước của 1nfiniti trên Ubuntu 16.04 amd64 và nó hoạt động rất tốt với combo bàn phím và chuột Logitech MX5000. Nhưng khi tôi khởi động lại máy tính, bàn phím không gõ lại. Nó hiển thị dưới dạng được kết nối nhưng không được ghép nối trên Cài đặt Bluetooth. Tuy nhiên, con chuột hoạt động tốt.

Nhìn vào tham chiếu bluetoothctl ( https://wiki.archlinux.org/index.php/bluetooth#Bluetoothctl ) nhận ra rằng lệnh 'tin cậy' đã được sử dụng sau lệnh 'cặp' để cho phép một số thiết bị kết nối lại thành công.

Vì vậy, tôi bắt đầu bluetoothctl, ngắt kết nối và hủy ghép nối bàn phím, kết nối và ghép nối lại và phát hành

[bluetooth]# trust [keyboard MAC Address]

Sau đó tôi được thông báo rằng bàn phím của bạn đã được tin cậy

Trusted

Và đó là một mẹo nhỏ, bây giờ bàn phím kết nối hoàn hảo mỗi khi tôi khởi động / khởi động lại máy tính.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.