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

secure bootloader doesn't proceed once it get "Write request too long" error.

Hi,

I'm checking whether SDK 13.0.0 secure bootloader dfu can proceed correctly with iOS DFU library if the process is interrupted because smartphone application is restarted, or ble connection is lost, and so on.

I have tried artificial interruption many times, and for most of the times it has succeeded. But sometimes it failed. When it fails, it gets "Write request too long" error and return NRF_DFU_RES_CODE_INVALID_PARAMETER. Even though I reset and restart CPU, it still gets same error.

And after it gets the error many times, it seems to process the data transportation. However, it transports the same object repeatedly.

Is this known bug? If so, how can I fix it? Is this FW bug or iOS library bug in the first place?

If not, I think I can resolve this issue by resetting the object offset, or delete the bank, on restart CPU. How can I reset the object offset?

I attached the log file. secure_bootloader_dfu_error_log.txt

Thank you.

  • Hi Haruki,

    You receive "Write request too long" when the data stored + data arrive with the packet exceed the size of the object declared with the create command.

    When you reset, I assume that the DFU master will continue to perform DFU from the point that it failed last time and that's why it get into the same issue again.

    Could you print out the req_len, firmware_image_offset, firmware_image_offset_last and data_object_size when the issue occurs ?

    How often do you get the issue ?

Related