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

ERROR: No CMD handler!

Hi,

I added DFU functionality to my Mesh-client application as shown in your DFU-example.

At startup I get this log message:

nrf_mesh_dfu.c,  904, ERROR: No CMD handler!

coming from here:

uint32_t nrf_mesh_dfu_cmd_send(bl_cmd_t* p_cmd)
{
    if (m_cmd_handler == NULL)
    {
        __LOG(LOG_SRC_DFU, LOG_LEVEL_ERROR, "ERROR: No CMD handler!\n");
        return NRF_ERROR_NOT_SUPPORTED;
    }
...
}

Can someone please tell me, what I'm doing wrong here?

(using Mesh SDK 3.1.0 and SDK 15.2)

Regards

Gerry

  • Gerry said:
    Without programming the bootloader it outputs NRFFW[0]: FFFFFFFF

     Yes. the address that it reads is written by the bootloader. The point of this is to check that the bootloader actually is present before starting to use it. 

    I really (!) recommend you to move to Mesh SDK3.1.0 before you do too much. There are a lot of bugfixes since the first version.

    Can you please start with the SDK3.1.0, and also, please the reply from my colleague, Hung, in this post.

    Also, programming the chip using an IDE (such as Segger Embedded Studio) and having a bootloader that does CRC checking on the application has shown to be a bit tricky. I do not believe that your issue is related to this, but I recommend that you program the DK using nrfjprog when dealing with bootloaders. You can still monitor the log using J-Link RTT Viewer.

    BR,

    Edvin

  • Thanks Edvin, this solved the problem.

    Our project already is migrated to SDK 3.1.0

    Following Hungs post and make the change to flashplacement.xml finally fixed the issue.

    regards

    Gerry

Related