Reconnection Issue with iOS Devices when BLE Address of a Peripheral Is Changed Using CyBle_SetDeviceAddress() – KBA224235

Version 1

    Version: **

     

    Question:

    Why do iOS devices have reconnection issue with an already bonded BLE device if the BLE address of the peripheral is changed using CyBle_SetDeviceAddress()?

     

    Answer:

    When the BLE device address of a peripheral is changed using the CyBle_SetDeviceAddress() API in the firmware, on first connection, the device connects and bonds without any issues. However, during reconnection, there will be issues with the BLE peripheral device not being able to make a basic connection as well.

     

    This is due to not calling the CyBle_GapSetIdAddress() API to change the identity address of the BLE peripheral device as well. Ensure that you call both APIs to set the device address and Identity address of the peripheral to avoid this issue.