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

Mesh DFU Problem using NRF52840

I'm using 3 nRF52840 DK borads (provisioner,light_switch_client, DFU). I set DFU (DFU example used) as target board and connected it to PC as serial interface. I have provisioned light_switch_client with provisioner board. I did step 3 to 6 as mentioned in infocenter.nordicsemi.com/index.jsp for only DFU board, after that i used to transfer firmware from this board to light_switch_client board, i get error as failed to establish connection. The DFU board connected in COM15. Can you please help me?

My sdk version is : nrf5_SDK_for_Mesh_v2.1.1_src

steps:
------

1. D:\Nordic\sdk\nrf5_SDK_for_Mesh_v2.1.1_src_1>nrfutilmesh keys --gen-key private_key.txt
Generated key at: private_key.txt

2. D:\Nordic\Sdk\nrf5_SDK_for_Mesh_v2.1.1_src_1>nrfutilmesh keys --show-vk hex private_key.txt
Verification key Qx: 5985dc051f803ec11990fe27139e65b18b935d7e2873a76f66a40f0b2108e45a
Verification key Qy: 088999730ce716d57b50503920da0ab3ee252cabd03dbb611cd0ae405b58a9d1

3. D:\Nordic\Sdk\nrf5_SDK_for_Mesh_v2.1.1_src_1>nrfutilmesh dfu genpkg --application bin/blinky/blinky_nrf52840_xxAA_s140_6.0.0.hex --company-id 0x00000059 --application-id 1 --application-version 2 --key-file private_key.txt --sd-req 0x00A9 --mesh dfu_test.zip
Key file was given, setting DFU version to 0.8
Zip created at dfu_test.zip

4. D:\Nordic\Sdk\nrf5_SDK_for_Mesh_v2.1.1_src_1\tools\dfu>python device_page_generator.py -d nrf52840_xxAA -sd "s140_6.0.0"
Wrote device page for nrf52840_xxAA with the s140_6.0.0 SoftDevice to bin/device_page_nrf52840_xxAA_s140_6.0.0.hex.

5. D:\Nordic\Sdk\nrf5_SDK_for_Mesh_v2.1.1_src_1>nrfjprog --eraseall
Erasing user available code and UICR flash areas.
Applying system reset.

6. D:\Nordic\Sdk\nrf5_SDK_for_Mesh_v2.1.1_src_1>nrfjprog --program bin/softdevice/s140_nrf52_6.0.0_softdevice.hex --chiperase
Parsing hex file.
Erasing user available code and UICR flash areas.
Applying system reset.
Checking that the area to write is not protected.
Programming device.

7. D:\Nordic\Sdk\nrf5_SDK_for_Mesh_v2.1.1_src_1>nrfjprog --program bin/bootloader/armcc/mesh_bootloader_serial_armcc_nrf52840_xxAA.hex
Parsing hex file.
Reading flash area to program to guarantee it is erased.
Checking that the area to write is not protected.
Programming device.

8. D:\Nordic\Sdk\nrf5_SDK_for_Mesh_v2.1.1_src_1>nrfjprog --program examples\dfu\build\dfu_nrf52840_xxAA_s140_6.0.0_Debug\dfu_nrf52840_xxAA_s140_6.0.0.hex
Parsing hex file.
Reading flash area to program to guarantee it is erased.
Checking that the area to write is not protected.
Programming device.

9. D:\Nordic\Sdk\nrf5_SDK_for_Mesh_v2.1.1_src_1>nrfjprog --program tools/dfu/bin/device_page_nrf52840_xxAA_s140_6.0.0.hex
Parsing hex file.
Reading flash area to program to guarantee it is erased.
Checking that the area to write is not protected.
Programming device.

10. D:\Nordic\Sdk\nrf5_SDK_for_Mesh_v2.1.1_src_1>nrfutilmesh --verbose dfu serial -pkg dfu_test.zip -p COM15 -b 9600 -fc --mesh
Upgrading target on COM15 with DFU package D:\Nordic\Sdk\nrf5_SDK_for_Mesh_v2.1.1_src_1\dfu_test.zip. Flow control is enabled.
Flushing com-port...
Opened com-port
Starting DFU upgrade of type 4, SoftDevice size: 0, bootloader size: 0, application size: 1656
Sending DFU start packet, afterwards we wait for the flash on target to be initialized before continuing.
PC -> target: 0502aabbccdd
PC -> target: 0502aabbccdd
PC -> target: 0502aabbccdd
PC -> target: 0502aabbccdd
PC -> target: 0502aabbccdd


Failed to upgrade target. Error is: Failed to establish connection

I have changed flash_placement.xml memory segment as mentioned in devzone.nordicsemi.com/.../134485. But still it is not working for me

Please help me i'm new to do DFU in mesh

Related