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

"Abort event. Reason: 0x3" DFU Mesh SDK 3.0.0

Hello, i´m trying make DFU with the Light switch server with the GATT and Proxy Enable, however in the process of update, i got this error in the device what receive the update.

"Abort event. Reason: 0x3", i added the code of DFU to the main on Light Switch server, and added the nrf_mesh_dfu.c file too.

Please  i need help.

Parents
  • Hi David, 

    Have you tried to test with our DFU example instead of the light switch server ? 

    How did you test DFU ? Which device you connect UART from PC to ? 

    The abort event with reason 0x03 = NRF_MESH_DFU_END_APP_ABORT meaning the DFU controller aborted the process. Do you have the log on the PC side ? 

  • Hello Hung Bui,

    Have you tried to test with our DFU example instead of the light switch server ? 

    Yes i did, and work fine.

    How did you test DFU ? Which device you connect UART from PC to ?

    I am using a Thingy and a PCA 10040, the pca 10040 have installed the DFU example with this bootloader: "mesh_bootloader_serial_gccarmemb_nrf52832_xxAA.hex", and the Thinghy have installed the Light switch server with the code of DFU example (i attached it for you can see how i did it). 

     light_switch_DFU.rar

    with this bootloader: "mesh_bootloader_gccarmemb_nrf52832_xxAA.hex", and the log on the PC side is:

    LOG on PC side DFU.txt (it is not complete because is too large)

    and the last part of the log on Thingy side is:

    0> <t:   15934285>, nrf_mesh_dfu.c,  324, Write complete (0x2000FE90)
     0> <t:   15934288>, nrf_mesh_dfu.c,  333, Flash idle.
     0> <t:   15955247>, nrf_mesh_dfu.c,  585, 	RADIO TX! SLOT 7, count 3, interval: exponential, handle: FFFC
     0> <t:   15955263>, nrf_mesh_dfu.c,  324, Write complete (0x2000FE90)
     0> <t:   15955267>, nrf_mesh_dfu.c,  333, Flash idle.
     0> <t:   15966881>, nrf_mesh_dfu.c,  585, 	RADIO TX! SLOT 1, count 3, interval: exponential, handle: FFFC
     0> <t:   15966898>, nrf_mesh_dfu.c,  324, Write complete (0x2000FE90)
     0> <t:   15966901>, nrf_mesh_dfu.c,  333, Flash idle.
     0> <t:   15989909>, nrf_mesh_dfu.c,  585, 	RADIO TX! SLOT 2, count 3, interval: exponential, handle: FFFC
     0> <t:   15989926>, nrf_mesh_dfu.c,  324, Write complete (0x2000FE90)
     0> <t:   15989929>, nrf_mesh_dfu.c,  333, Flash idle.
     0> <t:   16000342>, nrf_mesh_dfu.c,  585, 	RADIO TX! SLOT 3, count 3, interval: exponential, handle: FFFC
     0> <t:   16000359>, nrf_mesh_dfu.c,  324, Write complete (0x2000FE90)
     0> <t:   16000362>, nrf_mesh_dfu.c,  333, Flash idle.
     0> <t:   16017455>, nrf_mesh_dfu.c,  585, 	RADIO TX! SLOT 4, count 3, interval: exponential, handle: FFFC
     0> <t:   16017471>, nrf_mesh_dfu.c,  324, Write complete (0x2000FE90)
     0> <t:   16017475>, nrf_mesh_dfu.c,  333, Flash idle.
     0> <t:   16034443>, nrf_mesh_dfu.c,  585, 	RADIO TX! SLOT 5, count 3, interval: exponential, handle: FFFC
     0> <t:   16034460>, nrf_mesh_dfu.c,  324, Write complete (0x2000FE90)
     0> <t:   16034463>, nrf_mesh_dfu.c,  333, Flash idle.
     0> <t:   16051164>, nrf_mesh_dfu.c,  585, 	RADIO TX! SLOT 6, count 3, interval: exponential, handle: FFFC
     0> <t:   16051631>, nrf_mesh_dfu.c,  324, Write complete (0x2000FE90)
     0> <t:   16051634>, nrf_mesh_dfu.c,  333, Flash idle.
     0> <t:   16067334>, nrf_mesh_dfu.c,  585, 	RADIO TX! SLOT 7, count 3, interval: exponential, handle: FFFC
     0> <t:   16067350>, nrf_mesh_dfu.c,  324, Write complete (0x2000FE90)
     0> <t:   16067354>, nrf_mesh_dfu.c,  333, Flash idle.
     0> <t:   16084523>, nrf_mesh_dfu.c,  585, 	RADIO TX! SLOT 1, count 3, interval: exponential, handle: FFFC
     0> <t:   16084540>, nrf_mesh_dfu.c,  324, Write complete (0x2000FE90)
     0> <t:   16084543>, nrf_mesh_dfu.c,  333, Flash idle.
     0> <t:   16100698>, nrf_mesh_dfu.c,  585, 	RADIO TX! SLOT 2, count 3, interval: exponential, handle: FFFC
     0> <t:   16100714>, nrf_mesh_dfu.c,  324, Write complete (0x2000FE90)
     0> <t:   16100718>, nrf_mesh_dfu.c,  333, Flash idle.
     0> <t:   16117713>, nrf_mesh_dfu.c,  585, 	RADIO TX! SLOT 3, count 3, interval: exponential, handle: FFFC
     0> <t:   16117729>, nrf_mesh_dfu.c,  324, Write complete (0x2000FE90)
     0> <t:   16117733>, nrf_mesh_dfu.c,  333, Flash idle.
     0> <t:   16134983>, nrf_mesh_dfu.c,  585, 	RADIO TX! SLOT 4, count 3, interval: exponential, handle: FFFC
     0> <t:   16135000>, nrf_mesh_dfu.c,  324, Write complete (0x2000FE90)
     0> <t:   16135003>, nrf_mesh_dfu.c,  333, Flash idle.
     0> <t:   16155839>, nrf_mesh_dfu.c,  585, 	RADIO TX! SLOT 5, count 3, interval: exponential, handle: FFFC
     0> <t:   16155856>, nrf_mesh_dfu.c,  324, Write complete (0x2000FE90)
     0> <t:   16155859>, nrf_mesh_dfu.c,  333, Flash idle.
     0> <t:   16169127>, nrf_mesh_dfu.c,  585, 	RADIO TX! SLOT 6, count 3, interval: exponential, handle: FFFC
     0> <t:   16169143>, nrf_mesh_dfu.c,  324, Write complete (0x2000FE90)
     0> <t:   16169146>, nrf_mesh_dfu.c,  333, Flash idle.
     0> <t:   16184772>, nrf_mesh_dfu.c,  585, 	RADIO TX! SLOT 7, count 3, interval: exponential, handle: FFFC
     0> <t:   16184789>, nrf_mesh_dfu.c,  324, Write complete (0x2000FE90)
     0> <t:   16184792>, nrf_mesh_dfu.c,  333, Flash idle.
     0> <t:   16201719>, nrf_mesh_dfu.c,  585, 	RADIO TX! SLOT 1, count 3, interval: exponential, handle: FFFC
     0> <t:   16201735>, nrf_mesh_dfu.c,  324, Write complete (0x2000FE90)
     0> <t:   16201739>, nrf_mesh_dfu.c,  333, Flash idle.
     0> <t:   16222900>, nrf_mesh_dfu.c,  585, 	RADIO TX! SLOT 2, count 3, interval: exponential, handle: FFFC
     0> <t:   16222917>, nrf_mesh_dfu.c,  324, Write complete (0x2000FE90)
     0> <t:   16222920>, nrf_mesh_dfu.c,  333, Flash idle.
     0> <t:   16236152>, nrf_mesh_dfu.c,  585, 	RADIO TX! SLOT 3, count 3, interval: exponential, handle: FFFC
     0> <t:   16236168>, nrf_mesh_dfu.c,  324, Write complete (0x2000FE90)
     0> <t:   16236172>, nrf_mesh_dfu.c,  333, Flash idle.
     0> <t:   16251927>, nrf_mesh_dfu.c,  585, 	RADIO TX! SLOT 4, count 3, interval: exponential, handle: FFFC
     0> <t:   16251944>, nrf_mesh_dfu.c,  324, Write complete (0x2000FE90)
     0> <t:   16251948>, nrf_mesh_dfu.c,  333, Flash idle.
     0> <t:   16269074>, nrf_mesh_dfu.c,  585, 	RADIO TX! SLOT 5, count 3, interval: exponential, handle: FFFC
     0> <t:   16269091>, nrf_mesh_dfu.c,  324, Write complete (0x2000FE90)
     0> <t:   16269094>, nrf_mesh_dfu.c,  333, Flash idle.
     0> <t:   16286355>, nrf_mesh_dfu.c,  585, 	RADIO TX! SLOT 6, count 3, interval: exponential, handle: FFFC
     0> <t:   16286371>, nrf_mesh_dfu.c,  324, Write complete (0x2000FE90)
     0> <t:   16286375>, nrf_mesh_dfu.c,  333, Flash idle.
     0> <t:   16301802>, nrf_mesh_dfu.c,  585, 	RADIO TX! SLOT 7, count 3, interval: exponential, handle: FFFC
     0> <t:   16301819>, nrf_mesh_dfu.c,  324, Write complete (0x2000FE90)
     0> <t:   16301822>, nrf_mesh_dfu.c,  333, Flash idle.
     0> <t:   16318951>, nrf_mesh_dfu.c,  585, 	RADIO TX! SLOT 1, count 3, interval: exponential, handle: FFFC
     0> <t:   16318968>, nrf_mesh_dfu.c,  324, Write complete (0x2000FE90)
     0> <t:   16318971>, nrf_mesh_dfu.c,  333, Flash idle.
     0> <t:   16335718>, nrf_mesh_dfu.c,  585, 	RADIO TX! SLOT 2, count 3, interval: exponential, handle: FFFC
     0> <t:   16335734>, nrf_mesh_dfu.c,  324, Write complete (0x2000FE90)
     0> <t:   16335738>, nrf_mesh_dfu.c,  333, Flash idle.
     0> <t:   16364137>, nrf_mesh_dfu.c,  393, 	Abort event. packet loss Reason: 0x3
    

    The archive that i´m tried to send for the DFU is the same that i attached with only a change in one message log.

    some times it work, but the most times falls.

    so can you to do the same test whit the archive or to review my code and if you can, tell me where is the error ?

    Thanks. 

  • Hi David, 

    I'm sorry for the late response. 

    How often do you see the problem ? Do you see the problem when you update smaller firmware, such as the LED blink example we used in the DFU example ? 

    We are suspecting it was packet drop due to noisy environment or bad antenna. Could you try to test calling nrfutil.exe command with -i 1000 when starting DFU to increase the interval between serial packets. 

  • hello, sending the LED blink works,  

    How often do you see the problem ?

    the most times falls. 9 of each 10.

    Do you see the problem when you update smaller firmware, such as the LED blink example we used in the DFU example ?

    yes i do. but less often.

    ould you try to test calling nrfutil.exe command with -i 1000 when starting DFU to increase the interval between serial packets. 

    works better, however fall.

    i tried with -i 1000 and disabling the Proxy features when a DFU process begin. and works so better, however fail. sometimes.

    i stoped the proxy with:

    static void mesh_evt_handler(const nrf_mesh_evt_t* p_evt)
    {
        switch (p_evt->type)
        {
        .
        .
        .
            case NRF_MESH_EVT_DFU_START:
                DFUing=1;
                SEGGER_RTT_printf(0,"\n\n\n------------------------stop Proxy: %d-----------------\n\n\n",proxy_stop());
                proxy_disable();
                proxy_node_id_disable();
                hal_led_mask_set(BSP_LED_0_MASK | BSP_LED_2_MASK, true);
                break;
        .
        .
        .
        }
    }
    
    

    please help me!

  • It seems more to me like an issue with UART. Which hardware did you use for testing ? Could you do the same test on a nRF52832 DK ? Also try to test on another computer. If you can provide a schematic and closeup photo of your setup it would be nice. 


    Could you also try to test on the same setup but with UART DFU from nRF5 SDK (non mesh)? 

Reply Children
No Data
Related