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

iOS services caching, issue to update from SDK11 to 13

Hello,

We've stumbled upon a weird behavior on iOS making the smartphone unable to reconnect to our wireless device after a DFU from SDK11 to SDK13 (nRF52832): the notification subscription or char write makes the app crash. Once restarted, the iOS device worked well so we thought about a caching issue. With some research, we've found that changing the MAC address will force iOS to make a new service discovery so we tried: it worked (we have 3 MAC addresses (initial app, bootloader, updated app)). Also, the Service Changed characteristic is implemented and devices are not bonded, but it doesn't seem to change anything as explained here: github.com/.../51

Services on the updated app are the same, the only thing is the new SDK. No issue on Android.

Do you have a better solution than changing the MAC address? Did I miss something when updating to SDK13?

Best,

  • Which Softdevice versions are this? I assume you also updated this? Which in case there could be a change in the attribute table, which causes the cashing issue. Toggling ble off/on on iOS should help though?

  • SD 4.0.2. Toggling BLE on/off didn't help. Even nRF Connect wasn't working properly with our device after the DFU.

    You made me double check the attribute table, and in fact, I didn't realize I added the Service Changed characteristic between the two versions, which may cause the issue. I'll try to remove it and let you know how it goes.

    Thanks!

  • Another characteristic is the Central Address resolution. See this thread, I think I got the same issue: devzone.nordicsemi.com/.../

  • ok, Then you see the possible workarounds in the other tread. Did that solve your problem?

  • Changing the MAC address works. If you have a better solution, let me know.