OTA DFU functiality via both BLE and ZigBee

Hi there,

I am working on a door lock project using nRF 52840 DKs and nRF5 SDK for Thread and Zigbee v4.2.0. we are having both ZigBee and BLE protocols in it. I started with BLE ZigBee dynamic template, First I added BLE features and than implemented ZigBee clusters. So for BLE Firmware was being updated from mobile phone via nRF connect app. Now I implemented ZigBee OTA upgrade cluster in my firmware, the program is successfully building and working as it was earlier but I can't perform DFU OTA via Zigbee as when I implements the exact same steps given in example, The server recieves the new Image but on client nothing happens.

while looking more into the example I came across this

 

so now in my firmware this NRF_DFU_TRANSPORT_BLE is 1 because of BLE DFU case, Can this be the reasons things aren't working?

Is it possible to have OTA DFU functionality by both BLE and ZigBee in one program?

I have also attached sniffer log may be that will help you identify problem

 

Your guidance will be highly appreciated.

Best Regards
Syed Ali Sajjad Abidi

  • Hi,

    Ali Sajjad said:
    Sorry I don't have any logs available I tried to capture ZigBee network through sniffer which logs I have attached in this ticket above.

    The images from the sniffer logs does not help much. If you can upload the capture file instead, that would maybe reveal more details about what is happening. If you could manage to enable logging in the application (either over UART or RTT), that would probably help more.

    Ali Sajjad said:
    I want to ask if the problem is with the size can we perform single bank update instead of dual bank update?

    No, like I said "you might not be able to store two separate versions of your application (which is required by Zigbee DFU, as the transfer happens in the application". Single bank updates requires you to erase the current application before receiving the new application. Since you only have Zigbee connectivity in the application, it would not be possible to receive a new image after you erase the current application.

    Ali Sajjad said:
    Also did the ZigBee DFU started when you tried to perform it because in my case when image is ready on the development kit which is acting as DFU server nothing happens on the client side it stays as it is.

    Did you use the phone application to transfer the image over BLE to the DFU Server? Could you try with nrfutil instead of using the OTA Upgrade Server example? See step 7 in Testing.

    Best regards,
    Jørgen

Related