-
I am encountering a problem with storing multiple bonding information in NVS using the NimBLE-Arduino library. Despite the expectation that the ESP32 should manage multiple bonds, it appears to only retain bonding information for the last paired device, overwriting previous entries. The device I'm using is a esp32-pico-d4. Setup
Issue DescriptionThe behavior observed is as follows:
Any help or guidance would be greatly appreciated. Thank you! |
Beta Was this translation helpful? Give feedback.
Replies: 4 comments 2 replies
-
I believe there is a bug in the core code that may be causing this. I'll investigate and get back to you. |
Beta Was this translation helpful? Give feedback.
-
I have done a quick test and cannot reproduce but I'd like to ask you to try erasing the flash completely and then trying again and let me know what the result is. |
Beta Was this translation helpful? Give feedback.
-
So I erased the flash and had the same results. I've made a smaller test program to try and capture the problem. It is interesting using the test program I was able to connect two devices, and two device had been bonded. So that is progress. However when I try and bond the third device, it seems to momentary succeed, and I see three bonded devices. But then the first device disconnect for no apparent reason and then it says there are only two bonded devices. The first device then continues to try to reconnect but fails since the bonding info is missing. This seems to be similar to the problem I had before, but I was limited to just one bonded device, but now I seem to be able to get two bonded devices. I've created a gist for my test case, nimble_test.cpp. I've also created a gist for my output log, com_log5.txt. I erased the flash before running this test. |
Beta Was this translation helpful? Give feedback.
-
Thank you for getting back to me, I suspect the issue is due to not enough CCCD storage. Please try increasing |
Beta Was this translation helpful? Give feedback.
Thank you for getting back to me, I suspect the issue is due to not enough CCCD storage. Please try increasing
MAX_CCCDS
from 8 to 9 and erasing the flash to test again.