I'm trying to set up my Bluetooth keyboard on FreeBSD 11.0, but it's failing silently for reasons I don't understand.
The Bluetooth kernel modules are all loaded:
$ 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
My device is queryable:
$ 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
I have dumped the HID descriptor into 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
exists, and is just a straight copy of /etc/defaults/bluetooth.device.conf
.
I have specified the device has no PIN in 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;
}
I get no errors when I try to start the Bluetooth service:
$ 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
… but and the keyboard just sits there with the pairing LED blinking. It doesn't pair, and there are no errors in /var/log/messages
.
I suspect I'm missing something obvious here; any assistance would be greatly appreciated.
Update #1: There's nothing helpful in dmesg
either; the last lines seem entirely unrelated:
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
Update #2: I've successfully paired the keyboard with other devices, so I'm confident that it's not faulty.
Best Answer
Well, it's not much of an answer, but I 'fixed' the problem by:
End result was a happily paired keyboard :-| Same laptop, same keyboard.
I documented the steps in case anyone else, or my future self, might find them helpful.