'No bonding' is used when the device is performing a Secure Simple Pairing procedure, but does not intend to retain the link key after the physical link is disconnected. I would keep the policy of not redoing the pairing automatically in case of missing link key error but perhaps the agent shall be called in such case and then depending on the response start a new pairing, so we keep this policy in the agent. Nevertheless it is still a good idea to set the "No bonding' value in case you want to avoid this extra steps while reconnecting.
Your explanation of how the "PIN or Key Missing" status could arise matches what I thought might be happening. But I'm having trouble figuring out how to implement your suggested fix. I know "No Bonding" is one of the values that can be specified in the AuthReq field of a pairing request. But I don't see how I, as a user of BlueZ, can tell it to do so. There doesn't seem to be anything in either org.bluez.Device1 or org.bluez.Agent1 for it. I think maybe you're suggesting that the LE device it should be specifying "No Bonding". If it's not going to store the Link Key, then indeed it probably should. But unfortunately we can't change that: we don't make the device. - Ron -- 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