Updating Serial DFU command requires bootloader verify python script to be run before it starts successfully

Hello,

I am working on NRF52840 DK board, trying to run Mesh DFU example code. 

The issue I am facing is that I have to run Bootloader Verify python script before the Serial DFU command every time.

D:\nRF5-SDK-for-Mesh-master\nrf5_SDK_for_Mesh_v5.0.0_src>nrfutil --verbose dfu serial -pkg dfu_test.zip -p COM5 -b 115200 -fc --mesh
Upgrading target on COM5 with DFU package D:\nRF5-SDK-for-Mesh-master\nrf5_SDK_for_Mesh_v5.0.0_src\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: 129816
Sending DFU start packet, afterwards we wait for the flash on target to be initialized before continuing.
1: PC -> target: 0502aabbccdd
2: PC -> target: 0502aabbccdd
3: PC -> target: 0502aabbccdd

Closing serial port...

Aborted!

D:\nRF5-SDK-for-Mesh-master\nrf5_SDK_for_Mesh_v5.0.0_src>
D:\nRF5-SDK-for-Mesh-master\nrf5_SDK_for_Mesh_v5.0.0_src>
D:\nRF5-SDK-for-Mesh-master\nrf5_SDK_for_Mesh_v5.0.0_src>
D:\nRF5-SDK-for-Mesh-master\nrf5_SDK_for_Mesh_v5.0.0_src>
D:\nRF5-SDK-for-Mesh-master\nrf5_SDK_for_Mesh_v5.0.0_src>nrfjprog --reset
Applying system reset.
Run.

D:\nRF5-SDK-for-Mesh-master\nrf5_SDK_for_Mesh_v5.0.0_src>nrfutil --verbose dfu serial -pkg dfu_test.zip -p COM5 -b 115200 -fc --mesh
Upgrading target on COM5 with DFU package D:\nRF5-SDK-for-Mesh-master\nrf5_SDK_for_Mesh_v5.0.0_src\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: 129816
Sending DFU start packet, afterwards we wait for the flash on target to be initialized before continuing.
1: PC -> target: 0502aabbccdd
2: PC -> target: 0502aabbccdd

Closing serial port...

Aborted!

D:\nRF5-SDK-for-Mesh-master\nrf5_SDK_for_Mesh_v5.0.0_src>python tools/dfu/bootloader_verify.py 683751236 COM21
Reading UICR..                  OK.
Reading Device page..           OK.
Resetting device..              OK (In application)
Checking serial connection..    OK.

Bootloader verification OK.

D:\nRF5-SDK-for-Mesh-master\nrf5_SDK_for_Mesh_v5.0.0_src>nrfjprog --reset
Applying system reset.
Run.

D:\nRF5-SDK-for-Mesh-master\nrf5_SDK_for_Mesh_v5.0.0_src>nrfutil --verbose dfu serial -pkg dfu_test.zip -p COM5 -b 115200 -fc --mesh
Upgrading target on COM5 with DFU package D:\nRF5-SDK-for-Mesh-master\nrf5_SDK_for_Mesh_v5.0.0_src\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: 129816
Sending DFU start packet, afterwards we wait for the flash on target to be initialized before continuing.
1: PC -> target: 0502aabbccdd
target -> PC: 0582aabbccdd
Got echo response
Sending DFU init packet
Sending ready packet
1: PC -> target: 1378fdff040f3ed67a6859000000010002000000
target -> PC: 16a6045900000001000200000059000000010001000000
target -> PC: 1378fdff04000000000059000000010002000000
target -> PC: 03847800

Parents
  • Hi,

    The device is reset as part of the bootloader verification. I suspect there is some issue with the device or bootloader that makes it hang, and the reset during bootloader verification makes it work again. Have you experienced any other issues with the device? Does it seem to work as intended, before / after the failed DFU attempt?

    Regards,
    Terje

Reply
  • Hi,

    The device is reset as part of the bootloader verification. I suspect there is some issue with the device or bootloader that makes it hang, and the reset during bootloader verification makes it work again. Have you experienced any other issues with the device? Does it seem to work as intended, before / after the failed DFU attempt?

    Regards,
    Terje

Children
  • Hello Terje,

    Working with: nrf5_SDK_for_Mesh_v5.0.0_src AND nRF5_SDK_17.0.2_d674dde using SES

    Boot-loader Verification and reset command required all the time before starting the DFU process In Win10. Today I tried the same process and found that In Ubuntu20 its works without Boot-loader verification some times.

    Yes, Required Boot-loader verification and Reset commands every time DFU fails in Win10.

    Let me know if below issue required new post.

    Now, Another issue after starting DFU is, it stops every time after uploading 33 segments of data. for more details please fine below logs and RTT logs.    

    33 Segments of Data: using armcc Boot-loader

    240/more Segments of Data: using gccarmemb Boot-loader

    Serial DFU Log :

    nrfutil --verbose dfu serial -pkg dfu_test.zip -p COM5 -b 115200 -fc --mesh
    
    Upgrading target on COM5 with DFU package D:\nRF5-SDK-for-Mesh-master\nrf5_SDK_for_Mesh_v5.0.0_src\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: 129816
    Sending DFU start packet, afterwards we wait for the flash on target to be initialized before continuing.
    1: PC -> target: 0502aabbccdd
    target -> PC: 0582aabbccdd
    Got echo response
    Sending DFU init packet
    Sending ready packet
    1: PC -> target: 1378fdff040f3ed67a6859000000010002000000
    target -> PC: 16a6045900000001000200000059000000010001000000
    target -> PC: 1378fdff04000000000059000000010002000000
    target -> PC: 03847800
    1: PC -> target: 1378fdff040f3ed67a6859000000010002000000
    target -> PC: 1378fdff040f3ed67a6859000000010002000000
    target -> PC: 03847800
    Sending start packet
    1: PC -> target: 1478fcff00003ed67a68ffffffffc67e000000000c
    target -> PC: 0da2010459000000010002000000
    target -> PC: 03847800
    Waiting for 4.4 seconds for flash bank erase to complete.
    Sending firmware file
      [------------------------------------]    1%  00:20:301: PC -> target: 1978fcff01003ed67a6800f003206d7302005573020057730200
    target -> PC: 03847800
    1: PC -> target: 1978fcff02003ed67a68597302005b7302005d73020000000000
    target -> PC: 03847800
    1: PC -> target: 1978fcff03003ed67a680000000000000000000000005f730200
    target -> PC: 03847800
    1: PC -> target: 1978fcff04003ed67a6861730200000000006373020065730200
    target -> PC: 03847800
    1: PC -> target: 1978fcff05003ed67a6867730200677302008d1b030067730200
    target -> PC: 03847800
    1: PC -> target: 1978fcff06003ed67a68677302006773020015dc030067730200
    target -> PC: 03847800
    1: PC -> target: 1978fcff07003ed67a686773020067730200c9b2030067730200
    target -> PC: 03847800
    1: PC -> target: 1978fcff08003ed67a6867730200677302006773020067730200
    target -> PC: 03847800
    1: PC -> target: 1978fcff09003ed67a6867730200fd400400edcc020067730200
    target -> PC: 03847800
    1: PC -> target: 1978fcff0a003ed67a686141040067730200addf030067730200
    target -> PC: 03847800
    1: PC -> target: 1978fcff0b003ed67a6867730200677302006773020067730200
    target -> PC: 03847800
    1: PC -> target: 1978fcff0c003ed67a6867730200677302000000000000000000
    target -> PC: 03847800
    1: PC -> target: 1978fcff0d003ed67a6867730200677302006773020067730200
    target -> PC: 03847800
    1: PC -> target: 1978fcff0e003ed67a6867730200677302006773020067730200
    target -> PC: 03847800
    1: PC -> target: 1978fcff0f003ed67a6867730200677302006773020000000000
    target -> PC: 03847800
    1: PC -> target: 1978fcff10003ed67a6800000000677302000000000067730200
    target -> PC: 03847800
    1: PC -> target: 1978fcff11003ed67a6800000000000000000000000000000000
    target -> PC: 03847800
    1: PC -> target: 1978fcff12003ed67a6800000000000000000000000000000000
    target -> PC: 03847800
    1: PC -> target: 1978fcff13003ed67a6800000000000000000000000000000000
    target -> PC: 03847800
    1: PC -> target: 1978fcff14003ed67a6800000000000000000000000000000000
    target -> PC: 03847800
    1: PC -> target: 1978fcff15003ed67a6800000000000000000000000000000000
    target -> PC: 03847800
    1: PC -> target: 1978fcff16003ed67a6800000000000000000000000000000000
    target -> PC: 03847800
    1: PC -> target: 1978fcff17003ed67a6800000000000000000000000000000000
    target -> PC: 03847800
    1: PC -> target: 1978fcff18003ed67a6800000000000000000000000000000000
    target -> PC: 03847800
    1: PC -> target: 1978fcff19003ed67a6800000000000000000000000000000000
    target -> PC: 03847800
    1: PC -> target: 1978fcff1a003ed67a6800000000000000000000000000000000
    target -> PC: 03847800
    1: PC -> target: 1978fcff1b003ed67a6800000000000000000000000000000000
    target -> PC: 03847800
    1: PC -> target: 1978fcff1c003ed67a6800000000000000000000000000000000
    target -> PC: 03847800
    1: PC -> target: 1978fcff1d003ed67a6800000000000000000000000000000000
    target -> PC: 03847800
    1: PC -> target: 1978fcff1e003ed67a6800000000000000000000000000000000
    target -> PC: 03847800
    1: PC -> target: 1978fcff1f003ed67a6800000000000000000000000000000000
    target -> PC: 03847800
    1: PC -> target: 1978fcff20003ed67a6800000000000000000000000000000000
    target -> PC: 03847800
    1: PC -> target: 1978fcff21003ed67a68344935480a1a02d0072291438d463349
    2: PC -> target: 1978fcff21003ed67a68344935480a1a02d0072291438d463349
    target -> PC: 038478
    3: PC -> target: 1978fcff21003ed67a68344935480a1a02d0072291438d463349
    4: PC -> target: 1978fcff21003ed67a68344935480a1a02d0072291438d463349
    5: PC -> target: 1978fcff21003ed67a68344935480a1a02d0072291438d463349
    6: PC -> target: 1978fcff21003ed67a68344935480a1a02d0072291438d463349
    7: PC -> target: 1978fcff21003ed67a68344935480a1a02d0072291438d463349
    8: PC -> target: 1978fcff21003ed67a68344935480a1a02d0072291438d463349
    9: PC -> target: 1978fcff21003ed67a68344935480a1a02d0072291438d463349
    10: PC -> target: 1978fcff21003ed67a68344935480a1a02d0072291438d463349
    
    
    Failed to upgrade target. Error is: Lost connection in the middle of the transfer
    
    Possible causes:
    - bootloader, SoftDevice or application on target does not match the requirements in the DFU package.
    - baud rate or flow control is not the same as in the target bootloader.
    - target is not in DFU mode. If using the SDK examples, press Button 4 and RESET and release both to enter DFU mode.
    - if the error is ERROR_BUSY at the beginning of the DFU process,increase the value of PAGE_ERASE_TIME_MAX by few milliseconds.
    Closing serial port...

    RTT Device Log :

    00> <t:          3>, main.c,  228, ----- Bluetooth Mesh DFU Example -----
    00> <t:       8756>, nrf_mesh_dfu.c,  753, Version info: BL(ver, id): 0x01 0x01 SD: 0x0100
    00> <t:       8759>, nrf_mesh_dfu.c,  755, Version info: APP company: 0x00000059 id: 0x0001 version: 0x00000001
    00> <t:       8772>, serial_handler_prov.c,  267, Generating encryption keypair...
    00> <t:      13545>, main.c,  234, Initialization complete!
    00> <t:      18213>, main.c,  255, Enabling serial interface...
    00> <t:      18216>, mesh_app_utils.c,   66, Device UUID (raw): 029B2B0326AE408B9DCD1D32796AB396
    00> <t:      18219>, mesh_app_utils.c,   67, Device UUID : 029B2B03-26AE-408B-9DCD-1D32796AB396
    00> <t:      18230>, nrf_mesh_dfu.c,  554,   RADIO TX! SLOT 0, count 15, interval: periodic, handle: FFFE
    00> <t:      18235>, nrf_mesh_dfu.c,  593,   SERIAL TX (type: 65534)
    00> <t:      18243>, main.c,  263, DFU example started!
    00> <t:      18314>, main.c,  116, mesh_evt_handler >> Entering into [85599]
    00> <t:      18318>, main.c,  116, mesh_evt_handler >> Entering into [199291]
    00> <t:      18324>, main.c,  116, mesh_evt_handler >> Entering into [0]
    00> <t:    1551950>, nrf_mesh_dfu.c,  418,   New firmware!
    00> <t:    1551953>, main.c,  116, mesh_evt_handler >> Entering into 
    00> [536888796]
    00> <t:    1551956>, main.c,   79, DFU type Application
    00> <t:    1551959>, main.c,  124, Requesting DFU transfer with bank at 0x0008C000
    00> <t:    1551962>, nrf_mesh_dfu.c,  554,   RADIO TX! SLOT 0, count 3, interval: periodic, handle: FFFD
    00> <t:    1551966>, nrf_mesh_dfu.c,  565, Killing a TX slot prematurely (repeats done: 5).
    00> <t:    1551970>, nrf_mesh_dfu.c,  593,   SERIAL TX (type: 65533)
    00> <t:    1619610>, nrf_mesh_dfu.c,  554,   RADIO TX! SLOT 0, count 3, interval: periodic, handle: FFFD
    00> <t:    1619614>, nrf_mesh_dfu.c,  593,   SERIAL TX (type: 65533)
    00> <t:    1686416>, nrf_mesh_dfu.c,  458,   DFU start
    00> <t:    1686418>, main.c,  116, mesh_evt_handler >> Entering into [536888796]
    00> <t:    1686423>, nrf_mesh_dfu.c,  554,   RADIO TX! SLOT 1, count 6, interval: exponential, handle: FFFC
    00> <t:    1774562>, nrf_mesh_dfu.c,  357, Erase complete (0x8C000)
    00> <t:    1774566>, nrf_mesh_dfu.c,  361, Flash idle.
    00> <t:    1923593>, nrf_mesh_dfu.c,  482,   DFU segment rx: 1/8114
    00> <t:    1923598>, nrf_mesh_dfu.c,  554,   RADIO TX! SLOT 2, count 3, interval: exponential, handle: FFFC
    00> <t:    1923611>, nrf_mesh_dfu.c,  352, Write complete (0x2003FE98)
    00> <t:    1923615>, nrf_mesh_dfu.c,  361, Flash idle.
    00> <t:    1940557>, nrf_mesh_dfu.c,  482,   DFU segment rx: 2/8114
    00> <t:    1940561>, nrf_mesh_dfu.c,  554,   RADIO TX! SLOT 3, count 3, interval: exponential, handle: FFFC
    00> <t:    1940575>, nrf_mesh_dfu.c,  352, Write complete (0x2003FE98)
    00> <t:    1940578>, nrf_mesh_dfu.c,  361, Flash idle.
    00> <t:    1957515>, nrf_mesh_dfu.c,  482,   DFU segment rx: 3/8114
    00> <t:    1957520>, nrf_mesh_dfu.c,  554,   RADIO TX! SLOT 4, count 3, interval: exponential, handle: FFFC
    00> <t:    1957533>, nrf_mesh_dfu.c,  352, Write complete (0x2003FE98)
    00> <t:    1957537>, nrf_mesh_dfu.c,  361, Flash idle.
    00> <t:    1975394>, nrf_mesh_dfu.c,  482,   DFU segment rx: 4/8114
    00> <t:    1975399>, nrf_mesh_dfu.c,  554,   RADIO TX! SLOT 5, count 3, interval: exponential, handle: FFFC
    00> <t:    1975412>, nrf_mesh_dfu.c,  352, Write complete (0x2003FE98)
    00> <t:    1975416>, nrf_mesh_dfu.c,  361, Flash idle.
    00> <t:    1992393>, nrf_mesh_dfu.c,  482,   DFU segment rx: 5/8114
    00> <t:    1992397>, nrf_mesh_dfu.c,  554,   RADIO TX! SLOT 6, count 3, interval: exponential, handle: FFFC
    00> <t:    1992411>, nrf_mesh_dfu.c,  352, Write complete (0x2003FE98)
    00> <t:    1992414>, nrf_mesh_dfu.c,  361, Flash idle.
    00> <t:    2009406>, nrf_mesh_dfu.c,  482,   DFU segment rx: 6/8114
    00> <t:    2009411>, nrf_mesh_dfu.c,  554,   RADIO TX! SLOT 7, count 3, interval: exponential, handle: FFFC
    00> <t:    2009425>, nrf_mesh_dfu.c,  352, Write complete (0x2003FE98)
    00> <t:    2009428>, nrf_mesh_dfu.c,  361, Flash idle.
    00> <t:    2026802>, nrf_mesh_dfu.c,  482,   DFU segment rx: 7/8114
    00> <t:    2026807>, nrf_mesh_dfu.c,  554,   RADIO TX! SLOT 1, count 3, interval: exponential, handle: FFFC
    00> <t:    2026820>, nrf_mesh_dfu.c,  352, Write complete (0x2003FE98)
    00> <t:    2026824>, nrf_mesh_dfu.c,  361, Flash idle.
    00> <t:    2044224>, nrf_mesh_dfu.c,  482,   DFU segment rx: 8/8114
    00> <t:    2044229>, nrf_mesh_dfu.c,  554,   RADIO TX! SLOT 2, count 3, interval: exponential, handle: FFFC
    00> <t:    2044242>, nrf_mesh_dfu.c,  352, Write complete (0x2003FE98)
    00> <t:    2044246>, nrf_mesh_dfu.c,  361, Flash idle.
    00> <t:    2061183>, nrf_mesh_dfu.c,  482,   DFU segment rx: 9/8114
    00> <t:    2061187>, nrf_mesh_dfu.c,  554,   RADIO TX! SLOT 3, count 3, interval: exponential, handle: FFFC
    00> <t:    2061201>, nrf_mesh_dfu.c,  352, Write complete (0x2003FE98)
    00> <t:    2061204>, nrf_mesh_dfu.c,  361, Flash idle.
    00> <t:    2078211>, nrf_mesh_dfu.c,  482,   DFU segment rx: 10/8114
    00> <t:    2078216>, nrf_mesh_dfu.c,  554,   RADIO TX! SLOT 4, count 3, interval: exponential, handle: FFFC
    00> <t:    2078229>, nrf_mesh_dfu.c,  352, Write complete (0x2003FE98)
    00> <t:    2078233>, nrf_mesh_dfu.c,  361, Flash idle.
    00> <t:    2095620>, nrf_mesh_dfu.c,  482,   DFU segment rx: 11/8114
    00> <t:    2095625>, nrf_mesh_dfu.c,  554,   RADIO TX! SLOT 5, count 3, interval: exponential, handle: FFFC
    00> <t:    2095638>, nrf_mesh_dfu.c,  352, Write complete (0x2003FE98)
    00> <t:    2095642>, nrf_mesh_dfu.c,  361, Flash idle.
    00> <t:    2113110>, nrf_mesh_dfu.c,  482,   DFU segment rx: 12/8114
    00> <t:    2113114>, nrf_mesh_dfu.c,  554,   RADIO TX! SLOT 6, count 3, interval: exponential, handle: FFFC
    00> <t:    2113127>, nrf_mesh_dfu.c,  352, Write complete (0x2003FE98)
    00> <t:    2113131>, nrf_mesh_dfu.c,  361, Flash idle.
    00> <t:    2130116>, nrf_mesh_dfu.c,  482,   DFU segment rx: 13/8114
    00> <t:    2130120>, nrf_mesh_dfu.c,  554,   RADIO TX! SLOT 7, count 3, interval: exponential, handle: FFFC
    00> <t:    2130134>, nrf_mesh_dfu.c,  352, Write complete (0x2003FE98)
    00> <t:    2130137>, nrf_mesh_dfu.c,  361, Flash idle.
    00> <t:    2147544>, nrf_mesh_dfu.c,  482,   DFU segment rx: 14/8114
    00> <t:    2147548>, nrf_mesh_dfu.c,  554,   RADIO TX! SLOT 1, count 3, interval: exponential, handle: FFFC
    00> <t:    2147562>, nrf_mesh_dfu.c,  352, Write complete (0x2003FE98)
    00> <t:    2147565>, nrf_mesh_dfu.c,  361, Flash idle.
    00> <t:    2164633>, nrf_mesh_dfu.c,  482,   DFU segment rx: 15/8114
    00> <t:    2164638>, nrf_mesh_dfu.c,  554,   RADIO TX! SLOT 2, count 3, interval: exponential, handle: FFFC
    00> <t:    2164651>, nrf_mesh_dfu.c,  352, Write complete (0x2003FE98)
    00> <t:    2164654>, nrf_mesh_dfu.c,  361, Flash idle.
    00> <t:    2181709>, nrf_mesh_dfu.c,  482,   DFU segment rx: 16/8114
    00> <t:    2181713>, nrf_mesh_dfu.c,  554,   RADIO TX! SLOT 3, count 3, interval: exponential, handle: FFFC
    00> <t:    2181726>, nrf_mesh_dfu.c,  352, Write complete (0x2003FE98)
    00> <t:    2181730>, nrf_mesh_dfu.c,  361, Flash idle.
    00> <t:    2199247>, nrf_mesh_dfu.c,  482,   DFU segment rx: 17/8114
    00> <t:    2199252>, nrf_mesh_dfu.c,  554,   RADIO TX! SLOT 4, count 3, interval: exponential, handle: FFFC
    00> <t:    2199265>, nrf_mesh_dfu.c,  352, Write complete (0x2003FE98)
    00> <t:    2199269>, nrf_mesh_dfu.c,  361, Flash idle.
    00> <t:    2216228>, nrf_mesh_dfu.c,  482,   DFU segment rx: 18/8114
    00> <t:    2216232>, nrf_mesh_dfu.c,  554,   RADIO TX! SLOT 5, count 3, interval: exponential, handle: FFFC
    00> <t:    2216246>, nrf_mesh_dfu.c,  352, Write complete (0x2003FE98)
    00> <t:    2216249>, nrf_mesh_dfu.c,  361, Flash idle.
    00> <t:    2233200>, nrf_mesh_dfu.c,  482,   DFU segment rx: 19/8114
    00> <t:    2233204>, nrf_mesh_dfu.c,  554,   RADIO TX! SLOT 6, count 3, interval: exponential, handle: FFFC
    00> <t:    2233217>, nrf_mesh_dfu.c,  352, Write complete (0x2003FE98)
    00> <t:    2233221>, nrf_mesh_dfu.c,  361, Flash idle.
    00> <t:    2250746>, nrf_mesh_dfu.c,  482,   DFU segment rx: 20/8114
    00> <t:    2250751>, nrf_mesh_dfu.c,  554,   RADIO TX! SLOT 7, count 3, interval: exponential, handle: FFFC
    00> <t:    2250764>, nrf_mesh_dfu.c,  352, Write complete (0x2003FE98)
    00> <t:    2250767>, nrf_mesh_dfu.c,  361, Flash idle.
    00> <t:    2267730>, nrf_mesh_dfu.c,  482,   DFU segment rx: 21/8114
    00> <t:    2267735>, nrf_mesh_dfu.c,  554,   RADIO TX! SLOT 1, count 3, interval: exponential, handle: FFFC
    00> <t:    2267748>, nrf_mesh_dfu.c,  352, Write complete (0x2003FE98)
    00> <t:    2267752>, nrf_mesh_dfu.c,  361, Flash idle.
    00> <t:    2285264>, nrf_mesh_dfu.c,  482,   DFU segment rx: 22/8114
    00> <t:    2285269>, nrf_mesh_dfu.c,  554,   RADIO TX! SLOT 2, count 3, interval: exponential, handle: FFFC
    00> <t:    2285283>, nrf_mesh_dfu.c,  352, Write complete (0x2003FE98)
    00> <t:    2285286>, nrf_mesh_dfu.c,  361, Flash idle.
    00> <t:    2302639>, nrf_mesh_dfu.c,  482,   DFU segment rx: 23/8114
    00> <t:    2302644>, nrf_mesh_dfu.c,  554,   RADIO TX! SLOT 3, count 3, interval: exponential, handle: FFFC
    00> <t:    2302657>, nrf_mesh_dfu.c,  352, Write complete (0x2003FE98)
    00> <t:    2302661>, nrf_mesh_dfu.c,  361, Flash idle.
    00> <t:    2320526>, nrf_mesh_dfu.c,  482,   DFU segment rx: 24/8114
    00> <t:    2320531>, nrf_mesh_dfu.c,  554,   RADIO TX! SLOT 4, count 3, interval: exponential, handle: FFFC
    00> <t:    2320544>, nrf_mesh_dfu.c,  352, Write complete (0x2003FE98)
    00> <t:    2320547>, nrf_mesh_dfu.c,  361, Flash idle.
    00> <t:    2337469>, nrf_mesh_dfu.c,  482,   DFU segment rx: 25/8114
    00> <t:    2337473>, nrf_mesh_dfu.c,  554,   RADIO TX! SLOT 5, count 3, interval: exponential, handle: FFFC
    00> <t:    2337487>, nrf_mesh_dfu.c,  352, Write complete (0x2003FE98)
    00> <t:    2337490>, nrf_mesh_dfu.c,  361, Flash idle.
    00> <t:    2354995>, nrf_mesh_dfu.c,  482,   DFU segment rx: 26/8114
    00> <t:    2354999>, nrf_mesh_dfu.c,  554,   RADIO TX! SLOT 6, count 3, interval: exponential, handle: FFFC
    00> <t:    2355013>, nrf_mesh_dfu.c,  352, Write complete (0x2003FE98)
    00> <t:    2355016>, nrf_mesh_dfu.c,  361, Flash idle.
    00> <t:    2372059>, nrf_mesh_dfu.c,  482,   DFU segment rx: 27/8114
    00> <t:    2372064>, nrf_mesh_dfu.c,  554,   RADIO TX! SLOT 7, count 3, interval: exponential, handle: FFFC
    00> <t:    2372077>, nrf_mesh_dfu.c,  352, Write complete (0x2003FE98)
    00> <t:    2372081>, nrf_mesh_dfu.c,  361, Flash idle.
    00> <t:    2388973>, nrf_mesh_dfu.c,  482,   DFU segment rx: 28/8114
    00> <t:    2388977>, nrf_mesh_dfu.c,  554,   RADIO TX! SLOT 1, count 3, interval: exponential, handle: FFFC
    00> <t:    2388991>, nrf_mesh_dfu.c,  352, Write complete (0x2003FE98)
    00> <t:    2388994>, nrf_mesh_dfu.c,  361, Flash idle.
    00> <t:    2406022>, nrf_mesh_dfu.c,  482,   DFU segment rx: 29/8114
    00> <t:    2406027>, nrf_mesh_dfu.c,  554,   RADIO TX! SLOT 2, count 3, interval: exponential, handle: FFFC
    00> <t:    2406041>, nrf_mesh_dfu.c,  352, Write complete (0x2003FE98)
    00> <t:    2406044>, nrf_mesh_dfu.c,  361, Flash idle.
    00> <t:    2423006>, nrf_mesh_dfu.c,  482,   DFU segment rx: 30/8114
    00> <t:    2423011>, nrf_mesh_dfu.c,  554,   RADIO TX! SLOT 3, count 3, interval: exponential, handle: FFFC
    00> <t:    2423024>, nrf_mesh_dfu.c,  352, Write complete (0x2003FE98)
    00> <t:    2423028>, nrf_mesh_dfu.c,  361, Flash idle.
    00> <t:    2440498>, nrf_mesh_dfu.c,  482,   DFU segment rx: 31/8114
    00> <t:    2440502>, nrf_mesh_dfu.c,  554,   RADIO TX! SLOT 4, count 3, interval: exponential, handle: FFFC
    00> <t:    2440516>, nrf_mesh_dfu.c,  352, Write complete (0x2003FE98)
    00> <t:    2440519>, nrf_mesh_dfu.c,  361, Flash idle.
    00> <t:    2457485>, nrf_mesh_dfu.c,  482,   DFU segment rx: 32/8114
    00> <t:    2457489>, nrf_mesh_dfu.c,  554,   RADIO TX! SLOT 5, count 3, interval: exponential, handle: FFFC
    00> <t:    2457502>, nrf_mesh_dfu.c,  352, Write complete (0x2003FE98)
    00> <t:    2457506>, nrf_mesh_dfu.c,  361, Flash idle.
    00> <t:    2475412>, nrf_mesh_dfu.c,  482,   DFU segment rx: 33/8114
    00> <t:    2475417>, nrf_mesh_dfu.c,  554,   RADIO TX! SLOT 6, count 3, interval: exponential, handle: FFFC
    00> <t:    2475430>, nrf_mesh_dfu.c,  352, Write complete (0x2003FE98)
    00> <t:    2475434>, nrf_mesh_dfu.c,  361, Flash idle.
    00> <t:    5359000>, nrf_mesh_dfu.c,  325, ABORT Timeout fired @675543701
    00> <t:    5359003>, nrf_mesh_dfu.c,  554,   RADIO TX! SLOT 0, count 15, interval: periodic, handle: FFFE
    00> <t:    5359008>, nrf_mesh_dfu.c,  593,   SERIAL TX (type: 65534)
    00> <t:    5359012>, main.c,  116, mesh_evt_handler >> Entering into [536888852]
    00> <t:    5359017>, nrf_mesh_dfu.c,  554,   RADIO TX! SLOT 0, count 15, interval: periodic, handle: FFFE
    00> <t:    5359021>, nrf_mesh_dfu.c,  565, Killing a TX slot prematurely (repeats done: 0).
    00> <t:    5359025>, nrf_mesh_dfu.c,  593,   SERIAL TX (type: 65534)

    For Above DFU process i have used the default DFU example from Mesh source and following command process:

    1:   nrfutil dfu genpkg --application examples/dfu/build/dfu_nrf52840_xxAA_s140_7.2.0_Release/dfu_nrf52840_xxAA_s140_7.2.0.hex --company-id 0x00000059 --application-id 1 --application-version 2 --sd-req 0x0100 --mesh dfu_test.zip

    2: python2 tools/dfu/device_page_generator.py -d nrf52840_xxAA -sd "s140_7.2.0"

    3: nrfjprog --eraseall

    4: nrfjprog --program bin/softdevice/s140_nrf52_7.2.0_softdevice.hex --chiperase

    5: nrfjprog --program bin/bootloader/gccarmemb/mesh_bootloader_serial_gccarmemb_nrf52840_xxAA.hex

    6: nrfjprog --program examples/dfu/build/dfu_nrf52840_xxAA_s140_7.2.0_Release/dfu_nrf52840_xxAA_s140_7.2.0.hex

    7: nrfjprog --program bin/device_page_nrf52840_xxAA_s140_7.2.0.hex

    8: nrfjprog --reset

    9: python2 tools/dfu/bootloader_verify.py 683751236 /dev/ttyACM0

    10: nrfjprog --reset

    11: nrfutil --verbose dfu serial -pkg dfu_test.zip -p /dev/ttyUSB0 -b 115200 -fc --mesh

  • Thanks,

    Solved DFU issue by changing Serial port from ttyUSB0 to ttyACM0 in Step 11.

Related