ESP-IDF ZigBee OTA aborts after only a few blocks transferred
Posted: Mon Dec 01, 2025 2:26 am
I am using ESP_IDF V5.5 and a ESP32C6 as the target device and an ESP32H2 as the OTA server. (Not sure it matters but the coordinator is a SkyConnect V1.0 dongle connected to my Home Assistant.)
I have programmed the ESP32C6 directly from my computer (iMac M1 running the latest OS, and VS Code V1.106.3) with my required code and also included the OTA endpoint as per https://github.com/espressif/esp-zigbee ... a_client.c. I have used the image_builder_tool.py to create the 'ota_file.bin file from the generated .bin file
I have built the OTA server that includes the above 'ota_file.bin' file based on https://github.com/espressif/esp-zigbee ... a_server.c.
Both the client and server nodes successfully connect to the coordinator.
When the OTA server starts up, it establishes the OTA connection with the client which accept the update request and the transfers begin.
However when approximately 9298 bytes of the 525494 bytes have been transferred (the actual number varies slightly but is aways in that region) the transfers stop and the client indicates that the OTA process has been aborted.
The partitions in the client are:
so I believe that there is plenty of storage for the received image.
Any ideas as to why the transfers begin well but never get beyond about that point?
Also if there are other details needed thenplease let me know.
Susan
I have programmed the ESP32C6 directly from my computer (iMac M1 running the latest OS, and VS Code V1.106.3) with my required code and also included the OTA endpoint as per https://github.com/espressif/esp-zigbee ... a_client.c. I have used the image_builder_tool.py to create the 'ota_file.bin file from the generated .bin file
I have built the OTA server that includes the above 'ota_file.bin' file based on https://github.com/espressif/esp-zigbee ... a_server.c.
Both the client and server nodes successfully connect to the coordinator.
When the OTA server starts up, it establishes the OTA connection with the client which accept the update request and the transfers begin.
However when approximately 9298 bytes of the 525494 bytes have been transferred (the actual number varies slightly but is aways in that region) the transfers stop and the client indicates that the OTA process has been aborted.
The partitions in the client are:
Code: Select all
Name, Type, SubType, Offset, Size, Flags
# Note: if you have increased the bootloader size, make sure to update the offsets to avoid overlap
nvs, data, nvs, 0x9000, 0x5000,
otadata, data, ota, 0xe000, 0x2000,
phy_init, data, phy, 0x10000, 0x1000,
factory, app, factory, 0x20000, 0x180000,
ota_0, app, ota_0, , 1M,
ota_1, app, ota_1, , 1M,
zb_storage, data, fat, , 16K,
zb_fct, data, fat, , 1K,
Any ideas as to why the transfers begin well but never get beyond about that point?
Also if there are other details needed thenplease let me know.
Susan