This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

[Delete Bond from Master Control Panel]

Hi all,

i have a little issue. If i remove the bond information with app Master control panel, my slave cannot connect again with my phone. [Pairing Reject from Nordic_CTS] It's necessary to load a soft device on my board to works correctly. Someone can give more information about this? Why this happen?

Thank you.

  • Hi

    What happens is most likely that when your app and slave are bonding both devices store information about that particular bond in a database. Then, after you have deleted this information on your app, but not on your slave, the slave rejects the bonding attempt because the information is already stored in the bonding. The reason why the bonding request is rejected is to avoid a security issue where a malicious device might listen to the initial bonding process and then later impersonate your app and connect with your slave. This is briefly documented in the SDK 11 release notes:

    ** BLE **

    • Removed a vulnerability in Peer Manager and Device Manager that would allow malicious attackers to overwrite the bonding information of a bonded device

    The reason why it works to reload the softdevice is that Keil (or nRFgo Studio) erases the entire chip, including bonding info, in the process.

    If you use the SDK examples with the BSP module there is an easy way to erase all bond info. Just push Button 2 (on the nRF5x DK) while in sleep mode and the application will wake up, delete the info, and be ready for another bonding request.

  • So,

    if i understand correctly when i erase the bond information from master control panel, i lose the bond information. The only things that i can do is load in my board a new bonding information with soft device. Is the only option? Is there not other possibility to create a connection between master and slave, after delete the bond information?

    Thank you

  • When you erase bond information from MCP, then naturally MCP is losing the information, but nothing will happen on your slave. Before you can reconnect you will need to delete the bond information on your slave as well. In the examples in the SDK you can do this by pushing Button 2 as mentioned above. If you are developing your own application then you will need to implement a way to do this on your own.

Related