Hash not found (8) attempting to DFU ipc_radio image (nRF5340, NCS 2.9.2)

I’m working on an nRF5340 project (NCS 2.9.2) with simultaneous multi-image DFU using MCUboot, MCUmgr (SMP over BLE), and external flash (MX25R64, like the DK).

App-core DFU works correctly. Net-core DFU (ipc_radio) uploads successfully, is reported as bootable and pending, but after reboot it disappears from the image list and Device Manager reports “Hash not found (8)”.

I tracked this down to the net-core image not being signed / versioned correctly:

  • DFU ZIP contains peripheral_uart.signed.bin (app core) but only a raw ipc_radio.bin (net core).

  • After enabling CONFIG_BOOTLOADER_MCUBOOT=y for ipc_radio, the build fails during signing:

imgtool sign … --header-size 0 … Error: Invalid value for -H/--header-size: Minimum value is 32

I attempted to set CONFIG_ROM_START_OFFSET=0x200 (and searched for MCUBOOT_HEADER_SIZE / related options), but the value is still resolved as 0 in .config, likely due to sysbuild/partition manager overrides.

Partition Manager layout appears correct for nRF5340 simultaneous DFU:

  • app-core secondary in external flash

  • net-core secondary in external flash

  • net-core primary via ram/flash simulator

The core question is:
What is the correct way in NCS 2.9.x to produce a properly signed/versioned net-core DFU image (with non-zero MCUboot header) so that b0n/MCUboot will accept the hash and it persists after reboot?

Is this expected to be handled via:

  • child-image config,

  • sysbuild config,

  • partition padding for cpunet,

  • or explicit imgtool args for the net-core image?

I can’t easily capture UART boot logs, but I can share partition reports, .config snippets, and the exact imgtool command line if needed.

  • Aleksander,

    This makes complete sense. I was getting hints of Test and Confirm not being supported and should have looked into that sooner.

    We were previously getting away with Test and Confirm on a 5340 because we weren't supporting multi-image due to not having flash. After introducing updated hardware that includes flash, we assumed the mobile apps wouldn't need to change (aside from identifying the new hardware for features unrelated to FOTA).

    I verified that Confirm Only works for both the LBS FW on the nRF5340 DK and our custom FW on our custom HW. I'll take heed of the swap/reconnect time when implementing the mobile app support.

    Thanks,
    Jake

Related