Security procedure stopped by GATT client timeout

Hello everyone,

In this moment, I am working on a project where I connect to a pulse oximeter and extract some data. The central device is a nRF52840 in a custom board. My issue is the following:
I am pairing the pulse oximeter with the central. They bond, the link is encrypted and the pulse oximeter is added to the whitelist. Here am I able to extract data from the peripheral. Logs shown in the image bellow



My problem is when the pulse oximeter is reconnected later. It is found via whitelist and triggers the events: PM_EVT_BONDED_PEER_CONNECTED and PM_EVT_CONN_SEC_START. This procedure, however, is interrupted and finished by a LE_GATTC_EVT_TIMEOUT event which causes the disconnection of the peripheral. Logs shown in the image bellow 



Any comments on why this might be happening or how to fix this problem are appreciated.

Thank you!

PS: I am using the whitelist

Parents Reply
  • Hello

    This is what I captured with the sniffer. All the packages are the same (except for the package count and timestamp). They stop showing once the connection is established.



    Regarding the GATT client timeout, from the experience that I have with this pulse oximeter, every time a connection happens, there's a NRF_BLE_GATT_EVT_DATA_LENGTH_UPDATED event. This is not happening once the device is connected  using the whitelist. Could be this procedure the one that is not responding?

Children
Related