I have an HP keyboard and have paired it with my RPI3B. I can eventually get it to pair, but it takes many many attempts until it finally pairs so I can trust it and use it. The latest bluez on Arch Linux is 5.55 which is installed and bluez-tools is 0.2.0 I get this when I attempt a pair: [bluetooth]# pair 08:B7:38:11:A6:C2 Attempting to pair with 08:B7:38:11:A6:C2 [CHG] Device 08:B7:38:11:A6:C2 Connected: yes [agent] Passkey: 104817 [agent] Passkey: 104817 [agent] Passkey: 104817 [agent] Passkey: 104817 [agent] Passkey: 104817 [agent] Passkey: 104817 [agent] Passkey: 104817 Failed to pair: org.bluez.Error.AuthenticationFailed [CHG] Device 08:B7:38:11:A6:C2 Connected: no I restart bluetooth, restart the keyboard and still get this. I keep trying until it finally pairs. It feels like some sort of race condition or timing or something that it sometimes connects and sometimes not. Once paired/trusted, it seems to always work. In the journal, I always get these messages when I start bluetooth. My main.conf has only one change from the repo "AutoEnable=true" added at the end: Feb 07 14:04:46 rune64 systemd[1]: Starting Bluetooth service... Feb 07 14:04:46 rune64 bluetoothd[4106]: Bluetooth daemon 5.55 Feb 07 14:04:46 rune64 bluetoothd[4106]: src/main.c:parse_controller_config() Key file does not have key “BRPageScanType” in group “Controller” Feb 07 14:04:46 rune64 bluetoothd[4106]: src/main.c:parse_controller_config() Key file does not have key “BRPageScanInterval” in group “Controller” Feb 07 14:04:46 rune64 bluetoothd[4106]: src/main.c:parse_controller_config() Key file does not have key “BRPageScanWindow” in group “Controller” Feb 07 14:04:46 rune64 bluetoothd[4106]: src/main.c:parse_controller_config() Key file does not have key “BRInquiryScanType” in group “Controller” Feb 07 14:04:46 rune64 bluetoothd[4106]: src/main.c:parse_controller_config() Key file does not have key “BRInquiryScanInterval” in group “Controller” Feb 07 14:04:46 rune64 bluetoothd[4106]: src/main.c:parse_controller_config() Key file does not have key “BRInquiryScanWindow” in group “Controller” Feb 07 14:04:46 rune64 bluetoothd[4106]: src/main.c:parse_controller_config() Key file does not have key “BRLinkSupervisionTimeout” in group “Controller” Feb 07 14:04:46 rune64 bluetoothd[4106]: src/main.c:parse_controller_config() Key file does not have key “BRPageTimeout” in group “Controller” Feb 07 14:04:46 rune64 bluetoothd[4106]: src/main.c:parse_controller_config() Key file does not have key “BRMinSniffInterval” in group “Controller” Feb 07 14:04:46 rune64 bluetoothd[4106]: src/main.c:parse_controller_config() Key file does not have key “BRMaxSniffInterval” in group “Controller” Feb 07 14:04:46 rune64 bluetoothd[4106]: src/main.c:parse_controller_config() Key file does not have key “LEMinAdvertisementInterval” in group “Controller” Feb 07 14:04:46 rune64 bluetoothd[4106]: src/main.c:parse_controller_config() Key file does not have key “LEMaxAdvertisementInterval” in group “Controller” Feb 07 14:04:46 rune64 bluetoothd[4106]: src/main.c:parse_controller_config() Key file does not have key “LEMultiAdvertisementRotationInterval” in group “Controller” Feb 07 14:04:46 rune64 bluetoothd[4106]: src/main.c:parse_controller_config() Key file does not have key “LEScanIntervalAutoConnect” in group “Controller” Feb 07 14:04:46 rune64 bluetoothd[4106]: src/main.c:parse_controller_config() Key file does not have key “LEScanWindowAutoConnect” in group “Controller” Feb 07 14:04:46 rune64 bluetoothd[4106]: src/main.c:parse_controller_config() Key file does not have key “LEScanIntervalSuspend” in group “Controller” Feb 07 14:04:46 rune64 bluetoothd[4106]: src/main.c:parse_controller_config() Key file does not have key “LEScanWindowSuspend” in group “Controller” Feb 07 14:04:46 rune64 bluetoothd[4106]: src/main.c:parse_controller_config() Key file does not have key “LEScanIntervalDiscovery” in group “Controller” Feb 07 14:04:46 rune64 bluetoothd[4106]: src/main.c:parse_controller_config() Key file does not have key “LEScanWindowDiscovery” in group “Controller” Feb 07 14:04:46 rune64 bluetoothd[4106]: src/main.c:parse_controller_config() Key file does not have key “LEScanIntervalAdvMonitor” in group “Controller” Feb 07 14:04:46 rune64 bluetoothd[4106]: src/main.c:parse_controller_config() Key file does not have key “LEScanWindowAdvMonitor” in group “Controller” Feb 07 14:04:46 rune64 bluetoothd[4106]: src/main.c:parse_controller_config() Key file does not have key “LEScanIntervalConnect” in group “Controller” Feb 07 14:04:46 rune64 bluetoothd[4106]: src/main.c:parse_controller_config() Key file does not have key “LEScanWindowConnect” in group “Controller” Feb 07 14:04:46 rune64 bluetoothd[4106]: src/main.c:parse_controller_config() Key file does not have key “LEMinConnectionInterval” in group “Controller” Feb 07 14:04:46 rune64 bluetoothd[4106]: src/main.c:parse_controller_config() Key file does not have key “LEMaxConnectionInterval” in group “Controller” Feb 07 14:04:46 rune64 bluetoothd[4106]: src/main.c:parse_controller_config() Key file does not have key “LEConnectionLatency” in group “Controller” Feb 07 14:04:46 rune64 bluetoothd[4106]: src/main.c:parse_controller_config() Key file does not have key “LEConnectionSupervisionTimeout” in group “Controller” Feb 07 14:04:46 rune64 bluetoothd[4106]: src/main.c:parse_controller_config() Key file does not have key “LEAutoconnecttimeout” in group “Controller” Feb 07 14:04:46 rune64 systemd[1]: Started Bluetooth service. Feb 07 14:04:46 rune64 bluetoothd[4106]: Starting SDP server Feb 07 14:04:46 rune64 bluetoothd[4106]: Bluetooth management interface 1.14 initialized When I finally connect it I get this which looks normal: Feb 07 14:09:19 rune64 bluetoothd[4106]: Set device flags return status: Unknown Command Feb 07 14:09:50 rune64 kernel: Bluetooth: HIDP (Human Interface Emulation) ver 1.2 Feb 07 14:09:50 rune64 kernel: Bluetooth: HIDP socket layer initialized Feb 07 14:09:50 rune64 kernel: hid-generic 0005:04CA:0079.0001: unknown main item tag 0x0 Feb 07 14:09:50 rune64 kernel: input: HP Bluetooth Keyboard K4000 Keyboard as /devices/platform/soc/3f201000.serial/serial0/serial0-0/bluetooth/hci0/hci0:11/0005:04CA:0079.0001/input/in> Feb 07 14:09:50 rune64 kernel: input: HP Bluetooth Keyboard K4000 Consumer Control as /devices/platform/soc/3f201000.serial/serial0/serial0-0/bluetooth/hci0/hci0:11/0005:04CA:0079.0001/> Feb 07 14:09:50 rune64 kernel: input: HP Bluetooth Keyboard K4000 System Control as /devices/platform/soc/3f201000.serial/serial0/serial0-0/bluetooth/hci0/hci0:11/0005:04CA:0079.0001/in> Feb 07 14:09:50 rune64 kernel: hid-generic 0005:04CA:0079.0001: input,hidraw0: BLUETOOTH HID v5.01 Keyboard [HP Bluetooth Keyboard K4000] on 43:45:c0:00:1f:ac I do not remember this being a problem in the past. Thanks!