Hi Joseph, On Wed, Mar 2, 2016 at 3:28 PM, <josephsih@xxxxxxxxxxxx> wrote: > From: Joseph Hwang <josephsih@xxxxxxxxxxxx> > > When pairing with a BLE keyboard, bluetoothd suffers from > authentication errors as follows: > > ERR bluetoothd[1103]: Report Map read failed: > Attribute requires authentication before read/write > ERR bluetoothd[1103]: Protocol Mode characteristic read failed: > Attribute requires authentication before read/write > ERR bluetoothd[1103]: HID Information read failed: > Attribute requires authentication before read/write > > This is because the original security level is BT_ATT_SECURITY_LOW, > while BT_ATT_SECURITY_HIGH is required for pairing. This patch enables > the security elevation so that handle_error_rsp() could push the > operation back to request queue properly. > > --- > src/shared/att.c | 3 --- > 1 file changed, 3 deletions(-) > > diff --git a/src/shared/att.c b/src/shared/att.c > index 3a84783..331fae7 100644 > --- a/src/shared/att.c > +++ b/src/shared/att.c > @@ -574,9 +574,6 @@ static bool change_security(struct bt_att *att, uint8_t ecode) > int security; > > security = bt_att_get_security(att); > - if (security != BT_ATT_SECURITY_AUTO) > - return false; > - While this perhaps works it seems to be just a work around the problem, it seems to me that ATT security shall be set to BT_ATT_SECURITY_AUTO not to BT_ATT_SECURITY_LOW which is preventing security to be elevated. -- Luiz Augusto von Dentz -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html