DFU over BLE in windows and android success, but fail in iOS

SDK: nRF5 SDK v17.0.2

use example SDK17\examples\ble_peripheral\ble_app_uart to add DFU over BLE

SoftDevice: ANT_s332_nrf52_7.0.1.hex

MCU: nRF 52832

windows application DFU ok
nRF Connect for Desktop Bluetooth Low Energy Standalone v4.0.0 

android APP DFU ok

https://play.google.com/store/apps/details?id=no.nordicsemi.android.dfu&pcampaignid=pcampaignidMKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1

iOS APP DFU fail

apps.apple.com/.../id1624454660


iOS 15.6.1
iPhone 13

Parents
  • Hello,

    Please check if you are calling ble_dfu_buttonless_async_svci_init(); at the beginning of main() like in the ble_app_buttonless_dfu example. This is needed to support "Setting of a new advertisement name", which is a feature the iOS DFU library relies on.

    Also consider enabling the NRF_SDH_BLE_SERVICE_CHANGED option in sdk_config.h. This will prevent iOS from caching your attribute table across connections (assuming you have not added bonding support to the example). Attribute caching can be problematic if the attribute table becomes changed after a DFU.

    Best regards,

    Vidar

Reply
  • Hello,

    Please check if you are calling ble_dfu_buttonless_async_svci_init(); at the beginning of main() like in the ble_app_buttonless_dfu example. This is needed to support "Setting of a new advertisement name", which is a feature the iOS DFU library relies on.

    Also consider enabling the NRF_SDH_BLE_SERVICE_CHANGED option in sdk_config.h. This will prevent iOS from caching your attribute table across connections (assuming you have not added bonding support to the example). Attribute caching can be problematic if the attribute table becomes changed after a DFU.

    Best regards,

    Vidar

Children
No Data
Related