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

how to handle PM_EVT_PEER_DATA_UPDATE_FAILED

Hi,

I'm seeing this error PM_EVT_PEER_DATA_UPDATE_FAILED sometimes and I need to understand what are the options on handling this error except for just asserting it. I can't seem to find any information on it.

So far, I've seen this happen when

  • Paired with Windows 10, removed peripheral on Windows menu and paired again
  • After DFU and the GATT profile was modified (added some characteristic)

I'm using SDK14.0 with S132 v5.0.0 on a custom board with nRF52832.

I'll appreciate the help.

Edit:

Screenshot of assert and the callstack, error's value is 10: image description

Parents
  • Hi,

    Could you try to debug deeper and find where the PM_EVT_PEER_DATA_UPDATE_FAILED is thrown ? There are only a few places it's assigned to evt_id.

    I assume what you described are 2 different scenarios that you see the issue, they are not related ?

    On the first scenario, have you enable allow_repairing = true when there is PM_EVT_CONN_SEC_CONFIG_REQ event in pm_evt_handler() in main.c ? Without that the nRF5 will reject pairing if the central try to pair again.

    Do you have any flash operation in your application ? I suspect there could be some corruption in the flash area dedicated for peer manager.

    1. I've indeed enabled repairing, but this specific failure happens anyway.
    2. I'm using FDS in general, but not during general connection event. I've seen the notes on FDS and the peer manager and the IDs that I'm using are not in the peer manager's range.

    I added a screenshot with the call stack showing the assertion.

Reply Children
No Data
Related