Apple Wireless Keyboard (bluetooth) on Debian/Linux
蘋果無線鍵盤 (藍芽)
這只是連線成功的心得與步驟,並沒有技術方面的解說,給想使用藍芽鍵盤的朋友參考
漂亮的apple鍵盤,很有質感,但手感勉強
鍵盤上的音量控制鍵,光碟退出鍵,蘋果鍵和F13,F14,F15,F16沒有功用
http://www.apple.com/keyboard/
我的pc:
kernel:2.6.8-1-686,(testing)
接受器dongle是一年前左右買的,InstantPAN BTU01a
步驟Steps:
1.安裝bluez-pin;bluez-utils;bluez-hcidump
2.#hcitool dev
Devices:
hci0 00:0B:0D:21:8B:F5
看有沒有出現藍芽接收器dongle的資訊,像我的如上
3.#vi /etc/bluetooth/hcid.conf
找到security auto,將auto改成user
找到auth enable,改成auth disable
找到encrypt enable,改成encrypt disable
ex:
option{...略...
#security auto;
security user;
...略...
}
device{...略...
auth disable;
encrypt disable;
...略...
}
4.#modconf
在/kernel/net/bluetooth/hidp裡,裝上hidp
即(#modprobe hidp)
5.
#hcitool inq
Inquiring ...
00:0A:95:3A:6A:9C clock offset: 0x7423 class: 0x002540
(hcitool是用來測試連線的程式)
出現上面的字串,分別為the device address, the clock offset, and the device class
後兩個不太重要,重要的是address
因為我只有這鍵盤為藍芽設備,所以00:0A:95:3A:6A:9C就是我的鍵盤的address
每個裝置應該有不一樣的address
若沒找到,就多inq兩次看看..-__-
6.
#hcitool info 00:0A:95:3A:6A:9C
Requesting information ...
BD Address: 00:0A:95:3A:6A:9C
Device Name: Apple Wireless Keyboard
LMP Version: 1.1 (0x1) LMP Subversion: 0x5b00
Manufacturer: Broadcom Corporation (15)
Features: 0xbc 0x02 0x04 0x00 0x08 0x00 0x00 0x00
<encryption> <slot offset> <timing accuracy> <role switch>
<sniff mode> <RSSI> <power control> <AFH cap. slave>
從address獲得裝置資訊,將00:0A:95:3A:6A:9C換成你所得到的address,這步只是做參考用,與實際連線無關
7.#hcid
此為"Bluetooth Host Controller Interface Daemon"
內含security manager,也就是配對的管理程式
8.#hidd --server
9.#hidd --connect 00:0A:95:3A:6A:9C
<<此步為關鍵步驟>>
此時會沒反應,為正常現象
在藍芽鍵盤上輸入0000,按enter/return (此處0000為配對的pin碼,其他數字也行,隨你高興)
然後畫面上會出現輸入pin碼,在原來的鍵盤上輸入0000,確認 (或輸入你剛輸入的數字)
此時藍芽鍵盤應該就可以使用了
重開機後不需重新配對(不用再輸入pin code之類的),但關機或重開機之前請先#hidd --killall來中斷連線
開機後只要執行#hidd --server,在藍芽鍵盤上按鍵,等一會就會自動連線
10.#hidd --show
00:0A:95:3A:6A:9C HID Boot Device [05ac:0208] connected [boot-protocol]
此步檢視有什麼連線
ps:
在第5步中,若鍵盤曾配對過,鍵盤裡會有之前配對的資料,需要重新配對的話
(如:換了藍芽接收器dongle,或在windows配對過),將電池拆下重新裝上即可
若還是不行的話,將/etc/bluetooth/link_key檔案刪除(該檔案為配對的資料),並重新執行hcid,應該就可重新配對
要注意的是,只要有一個hcid在執行就好,若同時有許多個的話可能會有問題
在/etc/bluetooth/hcid.conf中的
"pin_helper /usr/bin/bluez-pin;"
bluez-pin就是配對時的程式,可用一個script取代
#!/bin/sh
echo "PIN:0000"
存成 mypin放到/usr/bin,然後將那行字改成
"pin_helper /usr/bin/mypin;"
之後配對只要直接在藍芽鍵盤上輸入0000即可,不會跳出視窗詢問
參考資料:
http://www-uxsup.csx.cam.ac.uk/suse/adm ... 16s04.html
http://www.bueche.ch/comp/mx900/mx900.html
http://www.holtmann.org/linux/bluetooth/
http://sourceforge.net/mailarchive/mess ... d=10078440
若要在windows裡使用請參考:
http://www.trinityworks.co.jp/useful/in ... u=wireless
http://www.wwwwww.tv/mac/extreme.html