คีย์บอร์ด Bluetooth ที่ต้องมีรายการรหัสสามารถจับคู่ในเครื่องได้อย่างไร?


20

ฉันมีแป้นพิมพ์บลูทู ธThinkPad 2 แท็บเล็ตที่ฉันต้องการจับคู่กับ Ubuntu Touch Aquaris E4.5 ของฉัน เนื่องจากข้อ จำกัด ของ GUI ฉันต้องการลองทำสิ่งนี้ในเทอร์มินัล ฉันหวังว่ากระบวนการนี้จะคล้ายกับบน Ubuntu Desktop

บน Ubuntu Desktop 15.10 เมื่อจับคู่คีย์บอร์ดข้อความต่อไปนี้จะปรากฏในกล่องโต้ตอบ GUI:

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

การป้อน PIN 6 หลักบนแป้นพิมพ์ Bluetooth และกดEnterเสร็จสิ้นการจับคู่ของแป้นพิมพ์และทำงานได้ดี เมื่อฉันพยายามจับคู่แป้นพิมพ์บน Ubuntu Touch จะไม่มีกล่องโต้ตอบ GUI ปรากฏขึ้นแสดงรหัสที่ต้องป้อนบนแป้นพิมพ์ Bluetooth ดังนั้นฉันต้องการพยายามจับคู่คีย์บอร์ดในเทอร์มินัล

ฉันได้ลองทำสิ่งต่อไปนี้แล้ว:

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

ฉันจะลองทำอะไรต่อไป

คำตอบ:


26

คุณสามารถลองใช้ bluetoothctl จากบรรทัดคำสั่งตรวจสอบให้แน่ใจว่าอุปกรณ์ของคุณเปิด / พร้อมที่จะค้นพบ:

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

อุปกรณ์บลูทู ธ อื่น ๆ จะแสดงไว้ที่นี่ จากนั้นคุณจะได้รับ[bluetooth]พร้อมท์

ขั้นแรกให้เปิดบลูทู ธ (หากอุปกรณ์ของคุณปิดอยู่):

[bluetooth]# power on
Changing power on succeeded

จากนั้นตรวจสอบให้แน่ใจว่าตัวแทนของคุณได้ลงทะเบียนแล้ว:

[bluetooth]# agent on
Agent registered

[bluetooth]# default-agent 
Default agent request successful

ตอนนี้คุณสามารถสแกนหาอุปกรณ์จากคอนโซล:

[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

คุณสามารถจับคู่จากที่นี่ด้วยตนเองเช่นกัน:

[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

ณ จุดนี้คุณควรได้รับแจ้งให้ป้อนรหัสพินสำหรับการจับคู่:

Request PIN code
[agent] Enter PIN code: 12345

ป้อนหมายเลข (เช่น 12345) และคุณจะได้รับแจ้งให้ป้อนหมายเลขเดียวกันจากอุปกรณ์:

[Someone's Keyboard]# 12345

คุณควรได้รับแจ้งว่าคีย์บอร์ดของคุณจับคู่แล้ว:

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

bluetoothctlหวังว่างานนี้ให้คุณได้พยายามที่จะแก้ปัญหานี้ในขณะที่ก่อนที่จะพบการอ้างอิงถึง


แก้ไข: รุ่น Ubuntu Touch OTA9 มี Bluez 5 ซึ่งเปิดใช้งานการจับคู่กับคีย์บอร์ด ThinkPad นี่คือ BQ Aquaris E4.5 ตัวเล็ก ๆ ที่ทำหน้าที่เหมือนฝ่ามือ


ตกลงคำถามโง่: ฉันจะติดตั้งได้bluetoothctlอย่างไร ฉันพยายามsudo add-apt-repository ppa:vidplace7/bluez5; sudo apt-get update; sudo apt-get install bluez bluez-toolsแล้ว
d3pd

... ¯_ (ツ) _ / ¯ - มันมีอยู่แล้วในเครื่องของฉันดูแพ็คเกจ Bluez ของฉันอีกอันที่ฉันมีอยู่เท่านั้นbluez-obexdและlibbluetooth3แต่ฉันเดาว่ามันมาพร้อมกับbluez(ฉันกำลังทำงาน 5.35 FWIW)
1nfiniti

ขอบคุณสำหรับความช่วยเหลือในเรื่องนี้ ฉันไม่รู้ว่าจะติดตั้ง BlueZ 5 ใน Ubuntu Touch ได้อย่างไร (และก่ออิฐ / หักอุปกรณ์ที่พยายามทำ) ดังนั้นฉันจะถามคำถามแยกต่างหากเกี่ยวกับเรื่องนี้
d3pd

1
สวัสดีอีกครั้งการเปิดตัว Ubuntu Touch OTA9 รวมถึง Bluez 5 และช่วยให้สามารถจับคู่กับคีย์บอร์ด ThinkPad Bluetooth ดังนั้นแนวคิดพื้นฐานของการแก้ปัญหาของคุณจึงถูกต้อง ขอบคุณอีกครั้งสำหรับความช่วยเหลือของคุณ
d3pd

ฉันใช้ bluetoothctl เพื่อเชื่อมต่อ Microsoft Universal พับคีย์บอร์ดกับแท็บเล็ต Aquaris M10 ของฉันและประสบความสำเร็จในการที่ ปัญหาเดียวคืออูบุนตู Touch ไม่รู้จักเมื่อถอดการเชื่อมต่อคีย์บอร์ดและปฏิเสธที่จะแสดง OSK ให้ฉันจนกว่าฉันจะรีบูท มีวิธีแยกแป้นพิมพ์ผ่านคำสั่ง bluetoothctl โดยไม่ต้องผ่านกระบวนการจับคู่อีกครั้งหรือไม่ ดูรายงานบั๊กของ launchpad ของฉันได้ที่นี่: bugs.launchpad.net/ubuntu/+source/ubuntu-system-settings/+bug/…
tomoqv

8

ทำตามขั้นตอนโดย 1nfiniti บน Ubuntu 16.04 amd64 และใช้งานได้ดีกับ Logitech MX5000 keyboard และ mouse combo แต่เมื่อฉันรีบูทคอมพิวเตอร์แป้นพิมพ์ก็ไม่พิมพ์อีกครั้ง มันแสดงให้เห็นว่าเชื่อมต่อแล้ว แต่ไม่ได้จับคู่กับการตั้งค่าบลูทู ธ อย่างไรก็ตามเมาส์ทำงานได้ดี

ดูที่การอ้างอิง bluetoothctl ( https://wiki.archlinux.org/index.php/bluetooth#Bluetoothctl ) ตระหนักว่ามีการใช้คำสั่ง 'trust' หลังจากคำสั่ง 'pair' เพื่อให้อุปกรณ์บางอย่างเชื่อมต่อใหม่ได้สำเร็จ

ดังนั้นฉันจึงเริ่ม bluetoothctl ตัดการเชื่อมต่อและยกเลิกการจับคู่คีย์บอร์ดเชื่อมต่อและจับคู่อีกครั้งและออก

[bluetooth]# trust [keyboard MAC Address]

จากนั้นฉันได้รับแจ้งว่าแป้นพิมพ์ของคุณเชื่อถือได้

Trusted

และนั่นก็เป็นการหลอกลวงตอนนี้คีย์บอร์ดก็เชื่อมต่ออย่างไร้ที่ติทุกครั้งที่ฉันเริ่ม / รีสตาร์ทคอมพิวเตอร์

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.