我正在尝试在 FreeBSD 11.0 上设置我的蓝牙键盘,但由于我不明白的原因,它默默地失败了。
蓝牙内核模块已全部加载:
$ sudo kldstat
Id Refs Address Size Name
5 1 0xffffffff824cf000 a150 ng_ubt.ko
6 2 0xffffffff824da000 13b18 ng_hci.ko
7 4 0xffffffff824ee000 3340 ng_bluetooth.ko
13 1 0xffffffff8264d000 1b187 ng_btsocket.ko
我的设备是可查询的:
$ sudo hccontrol -n ubt0hci remote_name_request 00:18:00:3b:92:34
BD_ADDR: 00:18:00:3b:92:34
Name: FILCO Bluetooth Keyboard
我已将 HID 描述符转储到bthidd.conf
:
$ sudo cat /etc/bluetooth/bthidd.conf:
device {
bdaddr 00:18:00:3b:92:34;
control_psm 0x11;
interrupt_psm 0x13;
reconnect_initiate true;
battery_power true;
normally_connectable false;
hid_descriptor {
0x05 0x01 0x09 0x06 0xa1 0x01 0x85 0x01
... snip ...
0x02 0x75 0x06 0x81 0x01 0xc0
};
}
/etc/bluetooth/ubt0.conf
存在,并且只是 的直接副本/etc/defaults/bluetooth.device.conf
。
我已指定该设备没有 PIN hcsecd.conf
:
$ sudo cat /etc/bluetooth/hcsecd.conf
device {
bdaddr 00:18:00:3b:92:34;
name "FILCO Bluetooth Keyboard";
key nokey;
pin nopin;
}
# Default entry is applied if no better match found
# It MUST have 00:00:00:00:00:00 as bdaddr
device {
bdaddr 00:00:00:00:00:00;
name "Default entry";
key nokey;
pin nopin;
}
当我尝试启动蓝牙服务时没有收到错误:
$ sudo sh -x /etc/rc.d/bluetooth start ubt0
+ . /etc/rc.subr
+ : 2749
+ export RC_PID
... snip ...
+ /usr/sbin/hccontrol -n ubt0hci write_node_role_switch 1
+ /usr/sbin/hccontrol -n ubt0hci change_local_name 'x220 (ubt0)'
+ /usr/sbin/hccontrol -n ubt0hci initialize
... snip ...
+ return 0
...但是键盘只是坐在那里,配对 LED 闪烁。它不配对,并且 中没有错误/var/log/messages
。
我怀疑我在这里遗漏了一些明显的东西;任何帮助将不胜感激。
更新#1:两者都没有什么帮助dmesg
;最后几行似乎完全无关:
VT: Replacing driver "vga" with new "fb".
info: [drm] Initialized i915 1.6.0 20080730 for drmn0 on minor 0
info: [drm] Enabling RC6 states: RC6 on, RC6p off, RC6pp off
更新#2:我已成功将键盘与其他设备配对,因此我确信它没有故障。
答案1
好吧,这不是一个答案,但我通过以下方式“解决”了这个问题:
- 安装 FreeBSD 11.1。
- 遵循与上述完全相同的步骤。
最终结果是一个完美配对的键盘:-|同样的笔记本电脑,同样的键盘。
我记录步骤以防其他人或未来的我可能会发现它们有帮助。