Bluetooth link key settings management possibilities #75859
-
Dear community! We are developing a BLE product with zephyr, that bonds to the central devices. Our team often runs into issues when pairing the device with this error:
Which is a very nondescript way of saying "sorry, cannot pair as there are no free settings slots for storing a new Bluetooth link key". The first possible improvement here would be giving a better error description in the logs. Now onto the more difficult part. What are our options to remove this roadblock of pairing a new device in this scenario? So far the only possibility I found (through #55475) is to delete all existing pairings. This is obviously very counterproductive overall. My preferred solution would be to update a timestamp on each key with the last connection time, and delete the key which is the oldest, but I don't think this is supported by the current API or system design in general. I'd like to hear from you what are the current possibilities, and what possibilities are within reach, given the current architecture (only missing an API chain without rework of the existing system). Finally, I'm also aware of the existence of the Bond Management Service, and I've seen that zephyr / nRF SDK has support for this service. Does anyone have real-world experience with this service in use though? It would be nice to use this service to solve the problem (even if it's creating extra inconvenience for the user), but it seems that this isn't supported on the central side in any major OS. Thanks in advance |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 2 replies
-
Maybe it is possible to increase the number of stored keys to a very large number? |
Beta Was this translation helpful? Give feedback.
-
That error output is from your application though? If you wanted to add a descriptive log, you can implement that
Have you looked at |
Beta Was this translation helpful? Give feedback.
That error output is from your application though? If you wanted to add a descriptive log, you can implement that
Have you looked at
CONFIG_BT_KEYS_OVERWRITE_OLDEST
?