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

nrf52 DFU package with SD+BL+APPS fails to reconnect on iOS nrfToolbox after updating SD+BL

We're seeing an issue where a dfu package containing SD+BL+Apps gets stuck on iOS nrfToolbox during DFU process after it updated the first part 1/2, which is BL+SD. The same dfu package works on the Android nrfToolbox DFU, it's able to reconnect just fine to update the 2nd part, apps.

last part of iOS log after part 1/2: Application: Upload completed in 158.17 seconds Debug: [Callback] Central Manager did disconnect peripheral Info: Disconnected by the remote device Verbose: Scanning for the DFU Bootloader... <-- stuck here

I've confirmed that the target device did reboot back to DFU and advertises just fine. Again, on Android this usecase works just fine with the same dfu package containing SD+BL+Apps.

Parents
  • Hi, I am having more or less the same issue. In my case, the APP is able to reconnect but it is stuck at:

    99% (1/2)
    100% (1/2)
    Info: Notification received from 8EC90001-F315-4F60-9FB8-838830DAEA50, value (0x):600301502f02005cc7604c
    Application: Response (Op Code = Calculate Checksum, Status = Success) received
    Info: Chunk CRC matches, exetuce!
    Application: Writing Execute last object command...
    Verbose: Writing to characteristic 8EC90001-F315-4F60-9FB8-838830DAEA50...
    Debug: peripheral.writeValue(0x04, forCharacteristic: 8EC90001-F315-4F60-9FB8-838830DAEA50, type: WithResponse)
    Info: Notification received from 8EC90001-F315-4F60-9FB8-838830DAEA50, value (0x):600401
    Application: Response (Op Code = Execute, Status = Success) received
    Verbose: Disconnecting...
    Debug: centralManager.cancelPeripheralConnection(peripheral)
    Verbose: Scanning for the DFU Bootloader...
    Info: Resetting peripheral
    Debug: [Callback] Central Manager did disconnect peripheral without error
    Info: DFU Bootloader found with name iBKSDFU52V3
    Verbose: Connecting to iBKSDFU52V3...
    Debug: centralManager.connectPeripheral(peripheral, options:nil)
    Debug: [Callback] Central Manager did connect peripheral
    Info: Connected to iBKSDFU52V3
    Verbose: Discovering services...
    Debug: periphera.discoverServices(nil)
    Info: Services discovered
    Verbose: Secure DFU Service found
    Verbose: Discovering characteristics in DFU Service...
    Debug: peripheral.discoverCharacteristics(nil, forService:DFUService)
    Info: DFU characteristics discovered
    Verbose: Enabling notifiactions for 00001531-1212-EFDE-1523-785FEABCD123...
    Debug: peripheral.setNotifyValue(true, forCharacteristic: 00001531-1212-EFDE-1523-785FEABCD123)
    Verbose: Notifications enabled for 8EC90001-F315-4F60-9FB8-838830DAEA50
    Application: DFU Control Point notifications enabled
    Application: Writing Read object information command...
    Verbose: Writing to characteristic 8EC90001-F315-4F60-9FB8-838830DAEA50...
    Debug: peripheral.writeValue(0x0601, forCharacteristic: 8EC90001-F315-4F60-9FB8-838830DAEA50, type: WithResponse)

    Any solution?

    Thank you.

Reply
  • Hi, I am having more or less the same issue. In my case, the APP is able to reconnect but it is stuck at:

    99% (1/2)
    100% (1/2)
    Info: Notification received from 8EC90001-F315-4F60-9FB8-838830DAEA50, value (0x):600301502f02005cc7604c
    Application: Response (Op Code = Calculate Checksum, Status = Success) received
    Info: Chunk CRC matches, exetuce!
    Application: Writing Execute last object command...
    Verbose: Writing to characteristic 8EC90001-F315-4F60-9FB8-838830DAEA50...
    Debug: peripheral.writeValue(0x04, forCharacteristic: 8EC90001-F315-4F60-9FB8-838830DAEA50, type: WithResponse)
    Info: Notification received from 8EC90001-F315-4F60-9FB8-838830DAEA50, value (0x):600401
    Application: Response (Op Code = Execute, Status = Success) received
    Verbose: Disconnecting...
    Debug: centralManager.cancelPeripheralConnection(peripheral)
    Verbose: Scanning for the DFU Bootloader...
    Info: Resetting peripheral
    Debug: [Callback] Central Manager did disconnect peripheral without error
    Info: DFU Bootloader found with name iBKSDFU52V3
    Verbose: Connecting to iBKSDFU52V3...
    Debug: centralManager.connectPeripheral(peripheral, options:nil)
    Debug: [Callback] Central Manager did connect peripheral
    Info: Connected to iBKSDFU52V3
    Verbose: Discovering services...
    Debug: periphera.discoverServices(nil)
    Info: Services discovered
    Verbose: Secure DFU Service found
    Verbose: Discovering characteristics in DFU Service...
    Debug: peripheral.discoverCharacteristics(nil, forService:DFUService)
    Info: DFU characteristics discovered
    Verbose: Enabling notifiactions for 00001531-1212-EFDE-1523-785FEABCD123...
    Debug: peripheral.setNotifyValue(true, forCharacteristic: 00001531-1212-EFDE-1523-785FEABCD123)
    Verbose: Notifications enabled for 8EC90001-F315-4F60-9FB8-838830DAEA50
    Application: DFU Control Point notifications enabled
    Application: Writing Read object information command...
    Verbose: Writing to characteristic 8EC90001-F315-4F60-9FB8-838830DAEA50...
    Debug: peripheral.writeValue(0x0601, forCharacteristic: 8EC90001-F315-4F60-9FB8-838830DAEA50, type: WithResponse)

    Any solution?

    Thank you.

Children
Related