'Operation failed' DFU error in iOS on some rare boards

I have opened this ticket on Github a few months ago but it doesn't seem to be maintained anymore : https://github.com/NordicSemiconductor/IOS-DFU-Library/issues/504

Among thousands of customers on iOS, that did tens of thousands of DFU, 25 of our customers get error "Operation failed" when applying DFU, after steps deviceConnecting -> dfuProcessStarting -> enablingDfuMode -> Operation failed

We have had, and continue to have, this error a few times per month since 2021.

On one specific device, 3 dfferent iphones failed to update it.

Everytime the customer found an Android phone to perform the DFU, it worked.

Parents
  • Hello,

    Sorry for the long response time. I am not that familiar with old SDK as use our new nRF connect SDK. I need to ask this internally for getting better insight. I will get back to you soon.

    Kind Regards,

    Abhijith

  • Hi Quentin, 
    I'm taking over the ticket as I have some more experience with the bootloader firmware. 
    From what Aleksander discovered, it seems that the problem occurred when the device tried to send an indication back to the phone to tell that it's received the command to switch to bootloader mode and will disconnect and enter bootloader. 

    For some reason  the indication was not sent (sd_ble_gatts_hvx() command having problem). 

    To be able to debug this we would need to see if there is any error return when calling sd_ble_gatts_hvx(). It's the best if you can capture a sniffer trace when the issue occurs. A sniffer trace would also be very useful. 

    But my assumption here is that you have never managed to reproduce the issue at your desk ? 

    Is the any possibility to get hold of the product from your customer and test it ? My assumption is that when the problem happen it will not change the behavior until it's updated by another phone  ?



Reply
  • Hi Quentin, 
    I'm taking over the ticket as I have some more experience with the bootloader firmware. 
    From what Aleksander discovered, it seems that the problem occurred when the device tried to send an indication back to the phone to tell that it's received the command to switch to bootloader mode and will disconnect and enter bootloader. 

    For some reason  the indication was not sent (sd_ble_gatts_hvx() command having problem). 

    To be able to debug this we would need to see if there is any error return when calling sd_ble_gatts_hvx(). It's the best if you can capture a sniffer trace when the issue occurs. A sniffer trace would also be very useful. 

    But my assumption here is that you have never managed to reproduce the issue at your desk ? 

    Is the any possibility to get hold of the product from your customer and test it ? My assumption is that when the problem happen it will not change the behavior until it's updated by another phone  ?



Children
Related