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

Error doing the DFU on Mesh

Hi, 

sorry for write here again but i'm not able to do the dfu update.

I'm still trying to understand why is not working, anyways i'm using the guide present on the infocenter (version 2.0.1).

That's what i'm actually doing:

1-2) Generate the keys with the command "nrfutil keys --gen-key private_key.txt", see the keys and change the bootloader_config as you can see in the following images

3) Generate the packet, here i'm using the versione s132_6.0.0 because all the other program are on the versione 6 as well, using the command "nrfutil dfu genpkg --application bin/blinky/blinky_nrf52832_xxAA_s132_6.0.0.hex  --company-id 0x00000059  --application-id 1  --application-version 2  --key-file private_key.txt  --sd-req 0x009D  --mesh dfu_test.zip"

4) Generate the hex page. Using the command "python device_page_generator.py -d nrf52832_xxAA -sd "s132_6.0.0"" (version 6.0.0 as well)

5) Erase all chip, in this case i've 2 developement board

6) Flash the softdevice on all device, i'm using this command "nrfjprog --program bin/softdevice/s132_nrf52_6.0.0_softdevice.hex --chiperase" but i've tryed as well with "nrfjprog --program bin/softdevice/s132_nrf52_6.0.0_softdevice.hex" and the result is the same.

7)Flash the bootloader, here i've the 1st doubt, i'm using segger so i need to choose the gccarmemb right? Anyways i'm actually using it and the command is "nrfjprog --program bin/bootloader/gccarmemb/mesh_bootloader_serial_gccarmemb_nrf52832_xxAA.hex"

8)Flash the application, in this case i'm using segger so i'm just doing the "Download dfu_nrf52..." without any error given. The application that i'm using is the only one on the example dfu folder.

9) Flash the page. Even there i get no error.


Now i should be able to do the dfu but when i try i get the following error (i'm using the command "nrfutil --verbose dfu serial -pkg dfu_test.zip -p <COM port> -b 115200 -fc --mesh")

I get the same error with both of the com ports, i really don't understand what i'm doing wrong. If someone can help will be much appreciated.

Thanks for the help and the support

  • Hi,

    Thanks for the answer. I'm sorry but i can see the script that you attached.

    Anyways i follwed your instruction for the bootloader verification. If i do all the procedure as described this is what i get

    The error still persist and is the same

    Edit: For a time reason i would like to know if for do the DFU I need to add some extra components over the Nordic itself, so i can make the board while trying to fix this issue

    thanks for the support

  • I am sorry. I forgot the attachment.

     

    REM nrfutil-mesh keys --gen-key private_key.txt
    nrfutil-mesh keys --show-vk hex private_key.txt
    
    nrfutil-mesh dfu genpkg --application ..\bin\blinky\blinky_nrf52832_xxAA_s132_6.0.0.hex --company-id 0x00000059 --application-id 1 --application-version 2 --key-file private_key.txt --sd-req 0x00A8 --mesh dfu_test.zip
    
    cd ..\tools\dfu
    python device_page_generator.py -d nrf52832_xxAA -sd "s132_6.0.0"
    cd ..\..\Dfu_test
    
    nrfjprog -e --snr 123456789
    nrfjprog --program ..\bin\softdevice\s132_nrf52_6.0.0_softdevice.hex --verify --snr 123456789
    nrfjprog --program ..\bin\bootloader\gccarmemb\mesh_bootloader_serial_gccarmemb_nrf52832_xxAA.hex --verify --snr 123456789
    nrfjprog --program ..\examples\dfu\build\dfu_nrf52832_xxAA_s132_6.0.0_Debug\dfu_nrf52832_xxAA_s132_6.0.0.hex --verify --snr 123456789
    nrfjprog --program ..\tools\dfu\bin\device_page_nrf52832_xxAA_s132_6.0.0.hex --verify --snr 123456789
    
    nrfjprog -e --snr 987654321
    nrfjprog --program ..\bin\softdevice\s132_nrf52_6.0.0_softdevice.hex --verify --snr 987654321
    nrfjprog --program ..\bin\bootloader\gccarmemb\mesh_bootloader_serial_gccarmemb_nrf52832_xxAA.hex --verify --snr 987654321
    nrfjprog --program ..\examples\dfu\build\dfu_nrf52832_xxAA_s132_6.0.0_Debug\dfu_nrf52832_xxAA_s132_6.0.0.hex --verify --snr 987654321
    nrfjprog --program ..\tools\dfu\bin\device_page_nrf52832_xxAA_s132_6.0.0.hex --verify --snr 987654321
    
    nrfjprog --reset --snr 123456789
    nrfjprog --reset --snr 987654321
    
    nrfutil-mesh dfu serial -pkg dfu_test.zip -p COM7 -b 115200 -fc --mesh

     

    You don't need any extra components. If you create your own pcb you can decide whether you want to have the physical LF_XTAL or not. The SDK examples use the external LF_XTAL, but you can do some changes in SW to use the internal RC oscillator instead of the LFXTAL.

     

    Check whether the script works. If not, make

  • Thanks a lot.

    Now is perfectly working.

    Thanks for the support.

Related