DFU update error

There are receivers and repeaters with nRF52832 mounted on the board.

When updating with DFU from iPad, a version check error occurs in the customer's environment.

The repeater can be updated normally in the customer's environment, but the receiver gets a version check error.

The DFU file is created by creating a batch file of commands on a Windows PC.

The contents of the batch file are as follows.

nrfutil pkg generate --hw-version 52 --application-version 1 --application Ping_Pong_ISP4520-JP_SEND.hex --sd-req 0x9D --key-file ./private.key DFU_RECV8_1.00_3in1.zip

The name of the hex file remains the same even if the source is changed, so the DFU file name in the batch file is edited and executed to create the DFU file.

The apps used for the update are nRFToolbox and nRF Connect, and both result in a version check error.

What do you think could be the cause?

  • I am attaching a ZIP file that shows that the F/W Version check failed on the next update after the DFU update.

    Is there any way to find out the cause?DFU_RECV8_1.10 2.zip

  • I can't explain why you have different DFU distribution packets. Here is the parsed content of the DFU init command from the DFU package you uploaded:

    $ nrfutil nrf5sdk-tools pkg display DFU_RECV8_1.10\ 2.zip 
    
    DFU Package: <DFU_RECV8_1.10 2.zip>:
    |
    |- Image count: 1
    |
    |- Image #0:
       |- Type: application
       |- Image file: Ping_Pong_ISP4520-JP_SEND.bin
       |- Init packet file: Ping_Pong_ISP4520-JP_SEND.dat
          |
          |- op_code: INIT
          |- signature_type: ECDSA_P256_SHA256
          |- signature (little-endian): b'04a26ade21b78bf5bd4ca82e642b734dd8e714c655ad46044ecc8bcd63567671d239399f08b3e232949649a9ed11251d010218974adb8bd2f5401a11af877f31'
          |
          |- fw_version: 0x000F423F (999999)
          |- hw_version 0x00000034 (52)
          |- sd_req: 0x9D
          |- type: APPLICATION
          |- sd_size: 0
          |- bl_size: 0
          |- app_size: 176612
          |
          |- hash_type: SHA256
          |- hash (little-endian): b'2bb084e3bf34b46da094e3e709f5724796320f49e0edbcdfeaaa0619b21870ec'
          |
          |- boot_validation_type: ['VALIDATE_GENERATED_CRC']
          |- boot_validation_signature (little-endian): [b'']
          |
          |- is_debug: False
    
    

    Here the application version is set to '999999'. 

  • Thank you for checking the ZIP file.

    Is there a problem with fw_version being 999999?

    When creating the DFU file for the next update, if I specify fw_version as 999999 or higher, will I be able to update it?

  • When I run nrfutil nrf5sdk-tools pkg display,
    the following error occurs.
    Usage: nrfutil [OPTIONS] COMMAND [ARGS]...
    Try 'nrfutil --help' for help.
    Error: No such command 'nrf5sdk-tools'.
    Please tell me what to do.

  • Is there a problem with fw_version being 999999?

    When creating the DFU file for the next update, if I specify fw_version as 999999 or higher, will I be able to update it?

    Yes, you should be able to update as long as the update has a higher version number.

    Please tell me what to do.

    I was using a newer version of nrfutil. For your version, just remove the 'nrf5sdk-tools' argument.

    nrfutil pkg display DFU_RECV8_1.10 2.zip

Related