Zigbee FOTA update won't apply

Hi,

I am currently developing a custom Zigbee end device with support for FOTA updates. My FOTA seems to work (all data gets transferred correctly) but the update won't apply. The device just restarts and still has the same MCU boot version. For testing FOTA, I am using the Zigbee Light Switch example. Please check my Wireshark capture and see if anything is wrong with the transfer (header, subelement header...). The secur key of the coordinator I am using is: "9d557f5dac6d327963c2d984083b9e7d". 
I am using NRF connect in VS Code with SDK version v2.5.2.

Thanks in advance!

Best Regards,

Pieter-Jan Buntinx

OTA_transfer_capture.pcapng

Parents
  • Hello,

    After reviewing the logs, I suspect the issue might be related to image signing. Have you followed all the steps mentioned on this page? Ensure that the firmware image being sent over OTA is correctly signed and validated before the update process.

    Kind regards,

    Abhijith

  • Maybe something dumb I am doing wrong but I cannot get it building when adding a key_file. 

    I have added: CONFIG_MCUBOOT_SIGNATURE_KEY_FILE=" C:/ncs/v2.5.2/bootloader/mcuboot/root-rsa-2048.pem"
    To my prj.conf file, I have also tried using the commands of the page you mentioned. I have also tried generating a key myself using this guide. But I always get the following error:

    C:/{BUILD_DIR}/build_DK/zephyr/misc/generated/extra_kconfig_options.conf:3: warning: malformed string literal in assignment to MCUBOOT_SIGNATURE_KEY_FILE (defined at modules/Kconfig.mcuboot:50). Assignment ignored.

    Below you can find the contents of the priv key I generated myself: 

    -----BEGIN PRIVATE KEY-----
    MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgrdvjY9/wxIV/hq3D
    XlJGlSttPs/BkyXwoQWgCVX104ahRANCAAQLC+VA9lpwSOaByahZZsGSbZqueIfI
    5TXLxJ20S1z2Am7MrhiPeN9iFMUp4Iut6zYVdyTs+WukencDHlUMXhXI
    -----END PRIVATE KEY-----

  • Hello,

    pjbuntinx said:
    I have added: CONFIG_MCUBOOT_SIGNATURE_KEY_FILE=" C:/ncs/v2.5.2/bootloader/mcuboot/root-rsa-2048.pem"

    Try using the CONFIG_BOOT_SIGNATURE_KEY_FILE configuration instead of the one you mentioned. Note that this should be included in the MCUboot configuration, not in the application configuration (prj.conf). Take a look at this GitHub repository; there are some samples for your reference, though please note that these are not official samples. See this section as well.

    Kind Regards,

    Abhijith

Reply Children
No Data
Related