Logitech K810 Bluetooth keyboard

george ember sk8harddiefast at gmail.com
Fri Nov 7 11:23:02 UTC 2014


Hi. I have a problem with my Bluetooth keyboard. Is a Logitech k810. The
problem is the pairing process. Take hours to connect and lose pairing
after reboot. So I must repair and wait.
One tricky solution I found is to set no pin option and remove
/var/db/bthidd.conf and /var/db/hcsecd.keys and restart bthidd and hcsecd
service every time I reboot my computer.
Take less time (~5-15 minutes) but is more acceptable.

This is my configuration

1) cp /etc/defaults/bluetooth.device.conf /etc/bluetooth/ubt0.conf

Edit ubt0 configuration file

   authentication_enable="NO"
   connectable="YES"
   discoverable="YES"
   hci_debug_level="4"
   l2cap_debug_level="4"
   local_name="lg"
   role_switch="YES"

2) sudo service bluetooth start ubt0

3) /etc/rc.conf

   hcsecd_enable="YES"
   hcsecd_config="/etc/bluetooth/hcsecd.conf"
   sdpd_enable="YES"
   bthidd_enable="YES"
   bthidd_config="/etc/bluetooth/bthidd.conf"

4) /boot/loader.conf

   vkbd_load="YES"
   ng_ubt_load="YES"
   ng_l2cap_load="YES"

5) install hcidump from ports

6) /etc/bluetooth/bthidd.conf

device {
  bdaddr  00:1f:20:4d:f2:c5;
  control_psm  0x11;
  interrupt_psm  0x13;
  reconnect_initiate  true;
  battery_power  true;
  normally_connectable  true;
  hid_descriptor  {
  0x05 0x01 0x09 0x06 0xa1 0x01 0x85 0x01
  0x75 0x01 0x95 0x08 0x05 0x07 0x19 0xe0
  0x29 0xe7 0x15 0x00 0x25 0x01 0x81 0x02
  0x95 0x01 0x75 0x08 0x81 0x03 0x95 0x05
  0x75 0x01 0x05 0x08 0x19 0x01 0x29 0x05
  0x91 0x02 0x95 0x01 0x75 0x03 0x91 0x03
  0x95 0x06 0x75 0x08 0x15 0x00 0x26 0xff
  0x00 0x05 0x07 0x19 0x00 0x29 0xff 0x81
  0x00 0xc0 0x05 0x0c 0x09 0x01 0xa1 0x01
  0x85 0x02 0x15 0x00 0x25 0x01 0x75 0x01
  0x95 0x14 0x0a 0x94 0x01 0x0a 0x92 0x01
  0x0a 0x83 0x01 0x0a 0x23 0x02 0x0a 0x8a
  0x01 0x0a 0x82 0x01 0x0a 0x21 0x02 0x0a
  0x30 0x00 0x0a 0x25 0x02 0x0a 0x23 0x02
  0x0a 0x27 0x02 0x09 0xb6 0x09 0xb5 0x09
  0xb8 0x09 0xcd 0x09 0xe9 0x09 0xea 0x09
  0xe2 0x0a 0x24 0x02 0x09 0x30 0x81 0x02
  0x95 0x01 0x75 0x04 0x81 0x03 0xc0 0x05
  0x0c 0x09 0x01 0xa1 0x01 0x85 0x03 0x05
  0x01 0x09 0x06 0xa1 0x02 0x05 0x06 0x09
  0x20 0x15 0x00 0x26 0x14 0x00 0x75 0x08
  0x95 0x01 0x81 0x02 0xc0 0xc0 0x05 0x01
  0x09 0x80 0xa1 0x01 0x85 0x04 0x15 0x00
  0x25 0x01 0x75 0x01 0x95 0x02 0x09 0x81
  0x09 0x82 0x81 0x02 0x95 0x01 0x75 0x06
  0x81 0x03 0xc0 0x05 0x0c 0x09 0x01 0xa1
  0x01 0x85 0x05 0x05 0x01 0x09 0x06 0xa1
  0x02 0x06 0x00 0xff 0x25 0x01 0x75 0x01
  0x95 0x02 0x0a 0x03 0xfe 0x0a 0x04 0xfe
  0x81 0x02 0x95 0x06 0x81 0x03 0xc0 0xc0
  0x05 0x0c 0x09 0x01 0xa1 0x01 0x85 0xff
  0x05 0x06 0x95 0x01 0x75 0x02 0x19 0x24
  0x29 0x26 0x81 0x02 0x75 0x06 0x81 0x01
  0xc0 0x06 0x00 0xff 0x09 0x01 0xa1 0x01
  0x85 0x10 0x75 0x08 0x95 0x06 0x15 0x00
  0x26 0xff 0x00 0x09 0x01 0x81 0x00 0x09
  0x01 0x91 0x00 0xc0 0x06 0x00 0xff 0x09
  0x02 0xa1 0x01 0x85 0x11 0x75 0x08 0x95
  0x13 0x15 0x00 0x26 0xff 0x00 0x09 0x02
  0x81 0x00 0x09 0x02 0x91 0x00 0xc0
  };
}

6) /etc/bluetooth/hcsecd.conf

device {
   bdaddr  00:1f:20:4d:f2:c5;
   name  "Logitech K810";
   key  nokey;
#  pin  "702312";
   pin   nopin;
   }

7) /etc/bluetooth/hosts

00:1f:20:4d:f2:c5 lg-kbd

8) cp /dev/null /var/db/bthidd.hids

After reboot my hcibump -x

ember at FreeBSD ~ $ sudo hcidump -x
Password:
HCIDump - HCI packet analyzer ver 1.5
device: any snap_len: 65535 filter: 0xffffffffffffffff
> HCI Event: Connect Request(0x04) plen 10
  C5 F2 4D 20 1F 00 40 05 00 01
< HCI Command: Accept Connection Request(0x01|0x0009) plen 7
  C5 F2 4D 20 1F 00 00
> HCI Event: Command Status(0x0f) plen 4
  00 01 09 04
> HCI Event: Role Change(0x12) plen 8
  00 C5 F2 4D 20 1F 00 00
> HCI Event: Connect Complete(0x03) plen 11
  00 0B 00 C5 F2 4D 20 1F 00 01 00
< HCI Command: Write Link Policy Settings(0x02|0x000d) plen 4
  0B 00 05 00
> HCI Event: Command Complete(0x0e) plen 6
  01 0D 08 00 0B 00
> HCI Event: Link Key Request(0x17) plen 6
  C5 F2 4D 20 1F 00
< HCI Command: Link Key Request Negative Reply(0x01|0x000c) plen 6
  C5 F2 4D 20 1F 00
> HCI Event: Command Complete(0x0e) plen 10
  01 0C 04 00 C5 F2 4D 20 1F 00
> HCI Event: Disconn Complete(0x05) plen 4
  00 0B 00 13
> HCI Event: Connect Request(0x04) plen 10
  C5 F2 4D 20 1F 00 40 05 00 01
< HCI Command: Accept Connection Request(0x01|0x0009) plen 7
  C5 F2 4D 20 1F 00 00
> HCI Event: Command Status(0x0f) plen 4
  00 01 09 04
> HCI Event: Role Change(0x12) plen 8
  00 C5 F2 4D 20 1F 00 00
> HCI Event: Connect Complete(0x03) plen 11
  00 0C 00 C5 F2 4D 20 1F 00 01 00
< HCI Command: Write Link Policy Settings(0x02|0x000d) plen 4
  0C 00 05 00
> HCI Event: Command Complete(0x0e) plen 6
  01 0D 08 00 0C 00
> HCI Event: Link Key Request(0x17) plen 6
  C5 F2 4D 20 1F 00
< HCI Command: Link Key Request Negative Reply(0x01|0x000c) plen 6
  C5 F2 4D 20 1F 00
> HCI Event: Command Complete(0x0e) plen 10
  01 0C 04 00 C5 F2 4D 20 1F 00
> HCI Event: Disconn Complete(0x05) plen 4
  00 0C 00 1


More information about the freebsd-bluetooth mailing list