This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

west build (intermitently) fails when OTA enabled (CONFIG_ZIGBEE_FOTA) and imgtool.py misbehaving... why?

Have a NCS/ZBoss-based Zigbee app running and I want to enable FOTA, and it was failing with missing app_update.bin file.

Thinking it might be something with my own code, I enabled FOTA for the light_switch sample and built it, that's when things got strange. 

The end of the process is (sometimes??):

[393/409] Linking C executable zephyr/zephyr.elf
Memory region         Used Size  Region Size  %age Used
           FLASH:      308064 B     474624 B     64.91%
            SRAM:       68116 B       440 KB     15.12%
        IDT_LIST:          0 GB         2 KB      0.00%
[403/409] Generating ../../zephyr/net_core_app_test_update.hex
Zigbee update created at 127F-FFFF-01020003-light_switch.zigbee
[406/409] Generating ../../zephyr/app_test_update.hex
Zigbee update created at 127F-FFFF-01020003-light_switch.zigbee
[409/409] Generating zephyr/merged_domains.hex

Looks good.  But when I ran it again:

[Errno 2] No such file or directory: '/path/to/dev/nrf/build/zephyr/app_update.bin'

Odd... So, running west build in a loop (with -p always) and piping output to log files, I find that 11 runs out of 30 produce the update image, and the rest fail.  Same command, pristine builds, different results.  It's almost every second run for a while, but not really.

Successes:

$ grep 'Zigbee update created' lightsw* | sort -n | uniq
lightsw01.txt:Zigbee update created at 127F-FFFF-01020003-light_switch.zigbee
lightsw08.txt:Zigbee update created at 127F-FFFF-01020003-light_switch.zigbee
lightsw12.txt:Zigbee update created at 127F-FFFF-01020003-light_switch.zigbee
lightsw14.txt:Zigbee update created at 127F-FFFF-01020003-light_switch.zigbee
lightsw16.txt:Zigbee update created at 127F-FFFF-01020003-light_switch.zigbee
lightsw18.txt:Zigbee update created at 127F-FFFF-01020003-light_switch.zigbee
lightsw22.txt:Zigbee update created at 127F-FFFF-01020003-light_switch.zigbee
lightsw24.txt:Zigbee update createdat 127F-FFFF-01020003-light_switch.zigbee
lightsw25.txt:Zigbee update created at 127F-FFFF-01020003-light_switch.zigbee
lightsw26.txt:Zigbee update created at 127F-FFFF-01020003-light_switch.zigbee
lightsw27.txt:Zigbee update created at 127F-FFFF-01020003-light_switch.zigbee

Failures:

$ grep 'Errno 2' lightsw* | sort -n 
lightsw02.txt:[Errno 2] No such file or directory: '/storage/pat/dev/nrf/build/zephyr/app_update.bin'
lightsw03.txt:[Errno 2] No such file or directory: '/storage/pat/dev/nrf/build/zephyr/app_update.bin'
lightsw04.txt:[Errno 2] No such file or directory: '/storage/pat/dev/nrf/build/zephyr/app_update.bin'
lightsw05.txt:[Errno 2] No such file or directory: '/storage/pat/dev/nrf/build/zephyr/app_update.bin'
lightsw06.txt:[Errno 2] No such file or directory: '/storage/pat/dev/nrf/build/zephyr/app_update.bin'
lightsw09.txt:[Errno 2] No such file or directory: '/storage/pat/dev/nrf/build/zephyr/app_update.bin'
lightsw10.txt:[Errno 2] No such file or directory: '/storage/pat/dev/nrf/build/zephyr/app_update.bin'
lightsw11.txt:[Errno 2] No such file or directory: '/storage/pat/dev/nrf/build/zephyr/app_update.bin'
lightsw13.txt:[Errno 2] No such file or directory: '/storage/pat/dev/nrf/build/zephyr/app_update.bin'
lightsw15.txt:[Errno 2] No such file or directory: '/storage/pat/dev/nrf/build/zephyr/app_update.bin'
lightsw17.txt:[Errno 2] No such file or directory: '/storage/pat/dev/nrf/build/zephyr/app_update.bin'
lightsw19.txt:[Errno 2] No such file or directory: '/storage/pat/dev/nrf/build/zephyr/app_update.bin'
lightsw20.txt:[Errno 2] No such file or directory: '/storage/pat/dev/nrf/build/zephyr/app_update.bin'
lightsw21.txt:[Errno 2] No such file or directory: '/storage/pat/dev/nrf/build/zephyr/app_update.bin'
lightsw23.txt:[Errno 2] No such file or directory: '/storage/pat/dev/nrf/build/zephyr/app_update.bin'
lightsw28.txt:[Errno 2] No such file or directory: '/storage/pat/dev/nrf/build/zephyr/app_update.bin'
lightsw29.txt:[Errno 2] No such file or directory: '/storage/pat/dev/nrf/build/zephyr/app_update.bin'

and it never succeeds with my own code.

The questions are basically what is causing this, or how can I get the system to at least tell me what's wrong when it's ending with:

[257/263] Generating linker.cmd
[258/263] Generating isr_tables.c, isrList.bin
[259/263] Generating dev_handles.c
[260/263] Building C object zephyr/CMakeFiles/zephyr_final.dir/misc/empty_file.c.obj
[261/263] Building C object zephyr/CMakeFiles/zephyr_final.dir/isr_tables.c.obj
[262/263] Building C object zephyr/CMakeFiles/zephyr_final.dir/dev_handles.c.obj
[263/263] Linking C executable zephyr/zephyr.elf
Memory region         Used Size  Region Size  %age Used
           FLASH:       36276 B        48 KB     73.80%
            SRAM:       22712 B       440 KB      5.04%
        IDT_LIST:          0 GB         2 KB      0.00%
[394/409] Linking C executable zephyr/zephyr.elf
Memory region         Used Size  Region Size  %age Used
           FLASH:      308064 B     474624 B     64.91%
            SRAM:       68116 B       440 KB     15.12%
        IDT_LIST:          0 GB         2 KB      0.00%
[396/409] Generating ../../zephyr/net_core_app_test_update.hex
FAILED: zephyr/net_core_app_test_update.hex /storage/pat/dev/nrf/build/zephyr/net_core_app_test_update.hex
cd /storage/pat/dev/nrf/build/modules/mcuboot && /usr/bin/python3.9 /storage/pat/dev/nrf/bootloader/mcuboot/scripts/imgtool.py sign --key /storage/pat/dev/nrf/bootloader/mcuboot/root-rsa-2048.pem --header-size 0x200 --align 4 --version 1.2.3 --pad-header --slot-size 0x74000 --pad /storage/pat/dev/nrf/build/multiprotocol_rpmsg/zephyr/signed_by_b0_app.hex /storage/pat/dev/nrf/build/zephyr/net_core_app_test_update.hex && /usr/bin/python3.9 /storage/pat/dev/nrf/nrf/scripts/bootloader/zb_add_ota_header.py --application /storage/pat/dev/nrf/build/zephyr/app_update.bin --application-version-string 1.2.3 --zigbee-manufacturer-id 0x127F --zigbee-image-type 0xFFFF --zigbee-comment light_switch --zigbee-ota-min-hw-version --zigbee-ota-max-hw-version --out-directory /storage/pat/dev/nrf/build/zephyr
[Errno 2] No such file or directory: '/storage/pat/dev/nrf/build/zephyr/app_update.bin'
[398/409] Generating zephyr/mcuboot_primary_app.hex
ninja: build stopped: subcommand failed.
FATAL ERROR: command exited with status 1: /home/pat/.local/bin/cmake --build /storage/pat/dev/nrf/build

Parents
  • Hi Pat,

    From your other ticket about FOTA (#284547) I assume you are using nRF5340 DK, and as I see there you have found the documentation that states that Zigbee FOTA is currently only supported on nRF52840. Therefore I will consider this ticket solved, and I will answer you in your other ticket regarding your questions there.

    Best regards,

    Marte

  • That is some pretty weird behaviour if that's what it's about--but yes, was trying for the nRF5340.  Hoping we can get FOTA working there to be able to make some real products around that chip. 
    Anyhow... closing this.

Reply Children
No Data
Related