2021-02-07 21:02:30

by KeithG

[permalink] [raw]
Subject: keyboard pairing railures

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!


2021-02-07 21:17:51

by [email protected]

[permalink] [raw]
Subject: Re: keyboard pairing railures

Hello,

The Mooltipass team has indeed seen this quite often recently.
https://github.com/mooltipass/minible/issues/205
https://github.com/bluez/bluez/issues/55

We still need to provide the requested trace :/
Mathieu

On Sun, Feb 7, 2021 at 10:01 PM KeithG <[email protected]> wrote:
>
> 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!

2021-02-07 23:06:30

by KeithG

[permalink] [raw]
Subject: Re: keyboard pairing railures

On Sun, Feb 7, 2021 at 3:12 PM [email protected]
<[email protected]> wrote:
>
> Hello,
>
> The Mooltipass team has indeed seen this quite often recently.
> https://github.com/mooltipass/minible/issues/205
> https://github.com/bluez/bluez/issues/55

Trace posted to github issue 55.