Peer Manager: Multiple bonds with same peer

Hi,

 

My application allows the Nordic chip to store multiple profiles, each consisting of a unique Random Static address and paired device information. If a user has a profile paired with a PC, if they switch profiles and attempt to pair with the same PC, the bonding process will fail with `PM_EVT_CONN_SEC_FAILED`. I assume this is because the peer is already stored by Peer Manager and the new bonding credentials do not match the previously stored ones.

 

My question is: is there any way to store multiple bonding credentials for the same Peer ID, and associate them with a given profile?

  • Hi Kenneth,

     

    Thank you again for your help and suggestions. I found that following your first suggestion of setting `sec_param.kdist_own.id = 0;` will allow pairing 2 Bluetooth profiles to the same Windows PC.


    My understanding is that this causes the nRF chip's identity to not be sent to the Windows PC during the bonding process. Are you aware of any issues this might pose?

     

    Additionally, I thought setting a new address via `pm_id_addr_set()` would change the id sent during bonding. Is this not the case?

  • kellen_carey said:
    My understanding is that this causes the nRF chip's identity to not be sent to the Windows PC during the bonding process. Are you aware of any issues this might pose?

    There is no requirement according to BLE spec to distribute the identity information, so there is no problem to disable distribution of it no. I do believe from a security perpective it may be better not to distribute them. 

    kellen_carey said:
    Additionally, I thought setting a new address via `pm_id_addr_set()` would change the id sent during bonding. Is this not the case?

    Not sure I understand the question, but this api should be called while the softevice is not actively in a connection or advertising.  It should update the address yes.

    Kenneth

Related