Error programming Thingy 91X: slot_index_primary is required

I have rebuilt the sample app at_client using VS Code (Mac)
nRF Connect SDK v2.6.0 and Toolchain v2.6.0
Board target: thingy91_nrf9151
Snippets: nrf91-modem-trace-uart

I am using nRF Connect for Desktop -> Programmer v4.6.2 to program the device
File: at_client/build/zephyr/dfu_application.zip

When programming I get the following failure:
Message: Failed, Error parsing multi-image file entry: slot_index_primary is required.

Same result if I try to use command line.

Full log:
2025-07-20T21:01:38.782Z INFO Device connected with the serial number THINGY91X_941D1C15D72
2025-07-20T21:01:45.430Z INFO Getting serial port options from the persistent store for THINGY91X_941D1C15D72.pc-nrfconnect-programmer
2025-07-20T21:01:45.431Z INFO Device connected with the serial number THINGY91X_941D1C15D72
2025-07-20T21:01:45.431Z DEBUG Sending event "programmer: device connected"
2025-07-20T21:01:45.657Z INFO Getting serial port options from the persistent store for THINGY91X_941D1C15D72.pc-nrfconnect-programmer
2025-07-20T21:01:45.657Z DEBUG Sending event "programmer: device connected"
2025-07-20T21:01:45.664Z INFO Getting serial port options from the persistent store for THINGY91X_941D1C15D72.pc-nrfconnect-programmer
2025-07-20T21:01:45.664Z DEBUG Sending event "programmer: device connected"
2025-07-20T21:01:56.082Z INFO Selecting device with the serial number THINGY91X_941D1C15D72
2025-07-20T21:01:56.089Z DEBUG Sending event "programmer: running nrfutil device"
2025-07-20T21:01:56.210Z INFO Selected device with the serial number THINGY91X_941D1C15D72
2025-07-20T21:01:56.211Z DEBUG Sending event "programmer: device selected"
2025-07-20T21:02:01.650Z INFO Checking ZIP file: /Users/anders/Sources/thingy91x/at_client/build/zephyr/dfu_application.zip
2025-07-20T21:02:01.650Z INFO File was last modified at 7/18/2025, 12:36:15 PM
2025-07-20T21:02:07.003Z INFO Modem DFU starts to write...
2025-07-20T21:02:07.003Z INFO Writing /Users/anders/Sources/nrf52840dk/at_client/build/zephyr/dfu_application.zip to device THINGY91X_941D1C15D72
2025-07-20T21:02:07.006Z DEBUG Sending event "programmer: running nrfutil device"
2025-07-20T21:02:07.129Z ERROR Error: Failed with exit code 1.
One or more program tasks failed:
* THINGY91X_941D1C15D72: Error parsing multi-image file entry: slot_index_primary is required (FileOpenFailed)


Message: Failed, Error parsing multi-image file entry: slot_index_primary is required.
2025-07-20T21:02:07.129Z ERROR Modem DFU failed with error: Error: Failed with exit code 1.
One or more program tasks failed:
* THINGY91X_941D1C15D72: Error parsing multi-image file entry: slot_index_primary is required (FileOpenFailed)


Message: Failed, Error parsing multi-image file entry: slot_index_primary is required.

Parents Reply Children
  • I see nowhere to upload attachments. I do see the line "Attachments (0)" but no option to upload. Do you also need the file dfu_application.zip_manifest.json?

  • 7127.dfu_application.zip

    Following instructions on https://academy.nordicsemi.com/flash-instructions-for-the-thingy91/ for command line

    Using nRFUtil Programmer:

    Then selecting Write to write to Thingy flash. I get the log in original post.

  • Hi,

    I have replicated your issue. I will look into this further. I expect to get back to you during next week.

    Best regards,
    Dejan

  • Hi,

    It seems that you use incompatible combination of versions of newer "nrfutil device" and older Toolchain. Your "nrfutil device" expects a specific structure of manifest.json but different is used. You can either try to downgrade to an older "nrfutil device" version or you need to use newer Toolchain which has sysbuild enabled.

    Best rgards,
    Dejan


  • Updated SDK and toolchain:

    I now get the following error when building at_client (all other options default):

    * Executing task: nRF Connect: Build [pristine]: at_client/build/b0 (active)

    Building bootloader
    west build --build-dir /Users/anders/Sources/thingy91x/at_client/build/b0 /opt/nordic/ncs/v3.0.2/nrf/samples/bootloader --pristine --board thingy91x/nrf9151 -- -DFORCED_CONF_FILE=/Users/anders/Sources/thingy91x/at_client/build/b0/zephyr/.config.sysbuild -DCONF_FILE=/opt/nordic/ncs/v3.0.2/nrf/samples/bootloader/prj.conf

    -- west build: generating a build system
    Loading Zephyr module(s) (Zephyr base): sysbuild_default
    -- Found Python3: /opt/nordic/ncs/toolchains/ef4fc6722e/opt/[email protected]/bin/python3.12 (found suitable version "3.12.4", minimum required is "3.10") found components: Interpreter
    -- Cache files will be written to: /Users/anders/Library/Caches/zephyr
    -- Found west (found suitable version "1.2.0", minimum required is "0.14.0")
    -- Board: thingy91x, qualifiers: nrf9151
    Parsing /opt/nordic/ncs/v3.0.2/zephyr/share/sysbuild/Kconfig
    Loaded configuration '/Users/anders/Sources/thingy91x/at_client/build/b0/_sysbuild/empty.conf'
    Merged configuration '/Users/anders/Sources/thingy91x/at_client/build/b0/_sysbuild/empty.conf'
    Traceback (most recent call last):
    File "/opt/nordic/ncs/v3.0.2/zephyr/scripts/kconfig/kconfiglib.py", line 2118, in _open_config
    return self._open(filename, "r")
    ^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/opt/nordic/ncs/v3.0.2/zephyr/scripts/kconfig/kconfiglib.py", line 3959, in _open
    open(filename, mode, encoding=self._encoding)
    FileNotFoundError: [Errno 2] No such file or directory: '/Users/anders/Sources/thingy91x/at_client/build/b0/zephyr/.config.sysbuild'

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
    File "/opt/nordic/ncs/v3.0.2/zephyr/scripts/kconfig/kconfig.py", line 337, in <module>
    main()
    File "/opt/nordic/ncs/v3.0.2/zephyr/scripts/kconfig/kconfig.py", line 73, in main
    print(kconf.load_config(config, replace=False))
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/opt/nordic/ncs/v3.0.2/zephyr/scripts/kconfig/kconfiglib.py", line 1241, in load_config
    self._load_config(filename, replace)
    File "/opt/nordic/ncs/v3.0.2/zephyr/scripts/kconfig/kconfiglib.py", line 1250, in _load_config
    with self._open_config(filename) as f:
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/opt/nordic/ncs/v3.0.2/zephyr/scripts/kconfig/kconfiglib.py", line 2131, in _open_config
    raise _KconfigIOError(
    kconfiglib._KconfigIOError: Could not open '/Users/anders/Sources/thingy91x/at_client/build/b0/zephyr/.config.sysbuild' (ENOENT: No such file or directory). Check that the $srctree environment variable (set to '/opt/nordic/ncs/v3.0.2/zephyr') is set correctly.
    CMake Error at /opt/nordic/ncs/v3.0.2/zephyr/cmake/modules/kconfig.cmake:396 (message):
    command failed with return code: 1
    Call Stack (most recent call first):
    cmake/modules/sysbuild_kconfig.cmake:116 (include)
    cmake/modules/sysbuild_default.cmake:19 (include)
    /opt/nordic/ncs/v3.0.2/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:75 (include)
    /opt/nordic/ncs/v3.0.2/zephyr/share/zephyr-package/cmake/ZephyrConfig.cmake:92 (include_boilerplate)
    /opt/nordic/ncs/v3.0.2/zephyr/share/sysbuild-package/cmake/SysbuildConfig.cmake:8 (include)
    template/CMakeLists.txt:10 (find_package)


    -- Configuring incomplete, errors occurred!
    See also "/Users/anders/Sources/thingy91x/at_client/build/b0/CMakeFiles/CMakeOutput.log".
    FATAL ERROR: command exited with status 1: /opt/nordic/ncs/toolchains/ef4fc6722e/bin/cmake -DWEST_PYTHON=/opt/nordic/ncs/toolchains/ef4fc6722e/opt/[email protected]/bin/python3.12 -B/Users/anders/Sources/thingy91x/at_client/build/b0 -GNinja -DBOARD=thingy91x/nrf9151 -DFORCED_CONF_FILE=/Users/anders/Sources/thingy91x/at_client/build/b0/zephyr/.config.sysbuild -DCONF_FILE=/opt/nordic/ncs/v3.0.2/nrf/samples/bootloader/prj.conf -S/opt/nordic/ncs/v3.0.2/zephyr/share/sysbuild -DAPP_DIR:PATH=/opt/nordic/ncs/v3.0.2/nrf/samples/bootloader

    * The terminal process terminated with exit code: 1.
    * Terminal will be reused by tasks, press any key to close it.

Related