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

sd_ble_gap_conn_param_update in SDK 15.2.0 returns either NRF_ERROR_INVALID_STATE or NRF_ERROR_BUSY

Hello Nordic experts,

I am working on NRF52840 DK with nRF5_SDK_15.2.0_9412b96 and facing an issue with sd_ble_gap_conn_param_update. I connect to a paired peripheral by resolving address/IRK and start the discovery of a service. If the service's not available, I drop the connection. At this very moment, I receive the following error caused by sd_ble_gap_conn_param_update:

<error> app: ERROR 8 [NRF_ERROR_INVALID_STATE] at C:\xxx\main.c:709 PC at: 0x00028889

<error> app: End of error report

I found that some other people have reported the same problem for old SKDs and their solution was to check if the connection handle is valid. However, since sd_ble_gap_conn_param_update belongs to the library in SDK 15.2.0, that solution won't work for me. Notice that I check the connection handle right before calling sd_ble_gap_conn_param_update but I guess that the connection is dropped sometime after I call this API.

I then removed APP_ERROR_CHECK(err_code) called after sd_ble_gap_conn_param_update to let the code execute. I also received NRF_ERROR_BUSY.

I appreciate your help to find a solution for my case.

Thanks

Parents
  • It is normal that ble_conn_params_change_conn_params() may fail due to various reasons, such as connection lost or procedure already in progress. I do not see any problems by ignore error code. Typically you can find that if you include the ble_conn_params module that you can setup the module to retry several times if it fails.

    Best regards,
    Kenneth

Reply
  • It is normal that ble_conn_params_change_conn_params() may fail due to various reasons, such as connection lost or procedure already in progress. I do not see any problems by ignore error code. Typically you can find that if you include the ble_conn_params module that you can setup the module to retry several times if it fails.

    Best regards,
    Kenneth

Children
Related