我正在尝试在 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
Run Code Online (Sandbox Code Playgroud)
我的设备是可查询的:
$ 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
Run Code Online (Sandbox Code Playgroud)
我已将 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
};
}
Run Code Online (Sandbox Code Playgroud)
/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;
}
Run Code Online (Sandbox Code Playgroud)
尝试启动蓝牙服务时没有出现错误:
$ 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
Run Code Online (Sandbox Code Playgroud)
...但是键盘就在那里,配对 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
Run Code Online (Sandbox Code Playgroud)
更新 #2:我已经成功地将键盘与其他设备配对,所以我相信它没有问题。
归档时间: |
|
查看次数: |
1019 次 |
最近记录: |