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

Bond not found

Hello, with Android 5.0 BLE central and S110 8.0 peripheral I do this:

  1. Erase all bonds in device_manager_peripheral.c

  2. Check that m_peer_table contains zero record. All records are 0xFFFFFF.....

  3. Connect and bond central and peripheral device.

  4. Disconnect and check that m_peer_table contains one record.

  5. Connect central and peripheral for the second time.

  6. I can see that device_instance_find returns NRF_ERROR_NOT_FOUND (probably because Android changed its MAC address) and that another bond is saved by device manager when the link is secured during this second session.

Why? I thought that when bond is created between two devices then it is reused later when the link has to be secured.

This way I don't see any advantage using bonds... Or did I miss something?

How to make device manager find stored bond for device that changed its MAC address?

Parents Reply
  • Whitelist is not suitable for my application. I read the thread you mention and I updated device_instance_find function in device manager to be able to find existing bond for resolvable random address. I'm just wondering that this hasn't been implemented by nordic by default.... Effectively nordic's implementation means that nobody with Android phone is able to permanently bond to a NRF device using that version of device manager.

Children
No Data
Related