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

SD Bonding Example

Hello,

in the corse of implementing pairing / bonding on top of the softdevice, I was looking for examples. The only example I've found, that seemed to not use the peer_manager, was the ble_app_gzll. Can it be, that this example is not working (in regard to pairing) as intended? The variable s_sec_keyset is zero initialized and then the keys_own is never set. But it is check in the `BLE_GAP_EVT_SEC_INFO_REQUEST` event. There is one alias taken of s_sec_keyset in the call to `sd_ble_gap_sec_params_reply()`, but according to the documentation of sd_ble_gap_sec_params_reply, it's the callers duty to provide memory / buffers for the key.

best regards,

Torsten

Parents
  • Hello Torsten,

    I haven't noticed that this example attempted to support bonding without the peer manager. Unfortunately, the implementation is incomplete. It does for instance not store data such as LTK and CCCDs, which is supposed to be kept across connections. To support bonding, I would strongly recommend you use the peer manager or at least use it as a reference if you are creating your own. 

    Best regards,

    Vidar

Reply
  • Hello Torsten,

    I haven't noticed that this example attempted to support bonding without the peer manager. Unfortunately, the implementation is incomplete. It does for instance not store data such as LTK and CCCDs, which is supposed to be kept across connections. To support bonding, I would strongly recommend you use the peer manager or at least use it as a reference if you are creating your own. 

    Best regards,

    Vidar

Children
Related