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

misunderstandings about DFU Mesh

I work on your new Mesh SDK 3.1.0 and I have some questions for you.

First it is about DFU over Mesh. I think your documentation is very weak. I understand that they are two modes supported:

- side-by-side

- bootloader DFU

About side by side mode. I suppose that all nodes in the network as the same firmware or we can update nodes individually ? For example, if in my network I have nodes with profiles A and node with profile B how I can manage the DFU process to update only profile A ?

About bootloader DFU what is the process ? You have no explanation in your documentation. How switch a node in bootloader mode and perform an update ? I appreciate having more explanation.

Finally, your SDK Mesh is production ready or is too earlier and risky to begin dev mesh network with your SDK ?

Thank you,

Corentin

Parents
  • Hello Corentin,

    I am sorry you are not satisfied with our documentation. This is something we are constantly working on, but unfortunately, it takes time.

    I am not sure whether you have read through the Configuring DFU over Mesh guide. This is the side-by-side implementation. It doesn't say specific, but in step 3, there is a config parameter called --application-id.

    This you can use to group your nodes application/profile. If you send out a DFU image, all receiving nodes will check that the application key matches (if an application key is present), whether the application version is higher than the current application version, and whether the application ID matches the application ID of it's current application.

    Regarding side-by-side vs bootloader DFU:

    Side by side DFU is the one that is used in the DFU example. Here, the application is receiving the DFU data, and when it is done, it will parse the image, and update the application if everything looks fine.

    However, the bootloader in this example also supports bootloader DFU. That is, if you only program the bootloader and the softdevice, it will still be able to receive the packet. The difference would be that there is no application running at the same time. However, if an application is present, this application must be able to handle the DFU messages, like the dfu-example does. 

    I hope this can clear up a few things.

    Best regards,

    Edvin

Reply
  • Hello Corentin,

    I am sorry you are not satisfied with our documentation. This is something we are constantly working on, but unfortunately, it takes time.

    I am not sure whether you have read through the Configuring DFU over Mesh guide. This is the side-by-side implementation. It doesn't say specific, but in step 3, there is a config parameter called --application-id.

    This you can use to group your nodes application/profile. If you send out a DFU image, all receiving nodes will check that the application key matches (if an application key is present), whether the application version is higher than the current application version, and whether the application ID matches the application ID of it's current application.

    Regarding side-by-side vs bootloader DFU:

    Side by side DFU is the one that is used in the DFU example. Here, the application is receiving the DFU data, and when it is done, it will parse the image, and update the application if everything looks fine.

    However, the bootloader in this example also supports bootloader DFU. That is, if you only program the bootloader and the softdevice, it will still be able to receive the packet. The difference would be that there is no application running at the same time. However, if an application is present, this application must be able to handle the DFU messages, like the dfu-example does. 

    I hope this can clear up a few things.

    Best regards,

    Edvin

Children
Related