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

DFU Options

Hello!  I am trying to prototype a DFU solution that works well for our application.  We want to build a network with both normal Mesh devices and with friend nodes (once that feature is released).  Each device on the network needs to be able to be updated.  Some of these devices (not low-powered nodes) will not be accessible (ex, hidden in a wall somewhere).  Is there a DFU solution we can use that doesn't require us to put the bootloader in DFU mode by pressing a button on the device?  From what I understand there is a MESH DFU and a BLE DFU.  Would the BLE DFU still work if we have a MESH network?

Parents
  • Hi Adrian,

    If you have a look here. You can find that we have two option, one is side-by-side dfu update and one is bootloader mode. 

    In side-by-side DFU, your application works normally when receiving new image and only switch to bootloader to replace the app.

    If you don't want to do background DFU, you can do blocking dfu (bootloader mode), the application will switch to bootloader and will not operate in normal mode until a new image is transferred. To switch from application to bootloader, you don't need to press and hold a button but call nrf_mesh_dfu_jump_to_bootloader() to jump. 

     We currently don't have a solution for BLE + Mesh DFU yet. But it's possible to implement one. Just need a logic to switch to the BLE bootloader when needed. 

  • Thank you for the reply!  If I use side-by-side DFU in MESH, is there a way to update from a proxy provisioner (a phone)?  Basically, we want to be able to update from a phone but need to use a MESH network.

  • I afraid we don't have a solution like that right now. 

    But I believe it's shouldn't be too hard to implement.

    What you need to do is instead of one node receiving the new image view UART, you change the transportation to BLE using either GATT proxy or normal BLE. Just one node need this modification as it can then spread the image out as we are doing now with the Mesh DFU solution. 

Reply
  • I afraid we don't have a solution like that right now. 

    But I believe it's shouldn't be too hard to implement.

    What you need to do is instead of one node receiving the new image view UART, you change the transportation to BLE using either GATT proxy or normal BLE. Just one node need this modification as it can then spread the image out as we are doing now with the Mesh DFU solution. 

Children
No Data
Related