Device Manager App now shows app_update.bin as an Invalid Image file

Device Manager App now shows app_update.bin as an Invalid Image file. On a previous version of the app (pre-2.0.0) this worked. What changes do I need to make to my prj.conf to correct this issue and/or how would I figure out what is causing it to come up this way? I've always used 'Test and Confirm' and 'Basic' mode for dfu.

As a side note, attempting to use dfu_application.zip instead produces a State of 'Corrupt(9)'. This way of doing a dfu has never worked.

Here is the prj.conf I have:

#
# Copyright (c) 2020 Nordic Semiconductor
#
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
#
# CONFIG_LOG=y
CONFIG_CBPRINTF_FP_SUPPORT=n
CONFIG_NFCT_PINS_AS_GPIOS=y
CONFIG_NRFX_SPI2=y
CONFIG_SPI=y
CONFIG_SPI_NRFX=y
CONFIG_SPI_SLAVE=y
CONFIG_NRFX_SPIS2=y
CONFIG_BOOT_BANNER=n
CONFIG_PM=y
CONFIG_PM_DEVICE=y
CONFIG_PM_DEVICE_RUNTIME=y
CONFIG_PM_DEVICE_RUNTIME_EXCLUSIVE=n
CONFIG_PRINTK=n

CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=2048

CONFIG_BT=y
# CONFIG_BT_DEBUG_LOG=y
CONFIG_BT_SMP=y
CONFIG_BT_SIGNING=y
CONFIG_BT_PERIPHERAL=y
CONFIG_BT_DIS=y
CONFIG_BT_ATT_PREPARE_COUNT=5
CONFIG_BT_BAS=y
CONFIG_BT_DEVICE_APPEARANCE=833
CONFIG_BT_DIS_MANUF="Changed"
CONFIG_BT_EXT_ADV=y
CONFIG_BT_GATT_CLIENT=y

CONFIG_BT_KEYS_OVERWRITE_OLDEST=y
CONFIG_BT_SETTINGS=y
CONFIG_FLASH=y
CONFIG_FLASH_PAGE_LAYOUT=y
CONFIG_FLASH_MAP=y
CONFIG_NVS=y
CONFIG_SETTINGS=y

# To set bt_dev.name use all of these options:
CONFIG_BT_DEVICE_NAME="Changed"
CONFIG_BT_DEVICE_NAME_DYNAMIC=y
CONFIG_BT_DEVICE_NAME_MAX=65
CONFIG_BT_DEVICE_APPEARANCE_DYNAMIC=y
CONFIG_DEVICE_NAME_GATT_WRITABLE_AUTHEN=n
CONFIG_DEVICE_NAME_GATT_WRITABLE_ENCRYPT=n

CONFIG_BT_DIS_SERIAL_NUMBER=y
CONFIG_BT_DIS_SW_REV=y
CONFIG_BT_DIS_FW_REV=y
CONFIG_BT_DIS_HW_REV=y
CONFIG_BT_DIS_SERIAL_NUMBER_STR="123456789"
CONFIG_BT_DIS_SW_REV_STR="1.12"
CONFIG_BT_DIS_FW_REV_STR="0.1"
CONFIG_BT_DIS_HW_REV_STR="0.7"

CONFIG_BOOTLOADER_MCUBOOT=y
CONFIG_MCUBOOT_IMAGE_VERSION="2.4.2+0"
CONFIG_DFU_TARGET=y

# Enable MCUmgr and dependencies.
CONFIG_NET_BUF=y
CONFIG_ZCBOR=y
CONFIG_CRC=y
CONFIG_MCUMGR=y

# Some command handlers require a large stack.
CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=4096
CONFIG_MAIN_STACK_SIZE=2048
CONFIG_HEAP_MEM_POOL_SIZE=4096
# Required by the `taskstat` command.
CONFIG_THREAD_MONITOR=y

# Support for taskstat command
CONFIG_MCUMGR_GRP_OS_TASKSTAT=y

# Enable statistics and statistic names.
CONFIG_STATS=y
CONFIG_STATS_NAMES=y

# Enable most core commands.
CONFIG_STREAM_FLASH=y
CONFIG_STREAM_FLASH_ERASE=y
CONFIG_IMG_MANAGER=y
CONFIG_MCUMGR_GRP_IMG=y
CONFIG_MCUMGR_GRP_OS=y
CONFIG_MCUMGR_GRP_OS_ECHO=y
CONFIG_MCUMGR_GRP_STAT=y
CONFIG_MCUMGR_MGMT_NOTIFICATION_HOOKS=y
CONFIG_MCUMGR_SMP_COMMAND_STATUS_HOOKS=y
CONFIG_MCUMGR_GRP_IMG_UPLOAD_CHECK_HOOK=y
CONFIG_MCUMGR_GRP_IMG_STATUS_HOOKS=y
CONFIG_MCUMGR_GRP_OS_RESET_HOOK=y
CONFIG_IMG_ENABLE_IMAGE_CHECK=y
CONFIG_MCUMGR_GRP_OS_MCUMGR_PARAMS=y

# Disable features not needed
CONFIG_TIMESLICING=n
CONFIG_MINIMAL_LIBC_MALLOC=n
CONFIG_LOG=n
CONFIG_ASSERT=n

# Disable Bluetooth features not needed
CONFIG_BT_DEBUG_NONE=y
CONFIG_BT_ASSERT=n
CONFIG_BT_PHY_UPDATE=n
CONFIG_BT_GATT_CACHING=n
CONFIG_BT_GATT_SERVICE_CHANGED=n
CONFIG_BT_GAP_PERIPHERAL_PREF_PARAMS=n
CONFIG_BT_SETTINGS_CCC_LAZY_LOADING=y
CONFIG_BT_HCI_VS_EXT=n

# Disable Bluetooth controller features not needed
CONFIG_BT_CTLR_PRIVACY=n
CONFIG_BT_CTLR_PHY_2M=n

# Allow for large Bluetooth data packets.
#CONFIG_BT_L2CAP_TX_MTU=498
#CONFIG_BT_BUF_ACL_RX_SIZE=502
#CONFIG_BT_BUF_ACL_TX_SIZE=502
#CONFIG_BT_DATA_LEN_UPDATE=y
#CONFIG_BT_CTLR_DATA_LENGTH_MAX=27

# Enable the Bluetooth mcumgr transport (unauthenticated).
CONFIG_MCUMGR_TRANSPORT_BT=y
CONFIG_MCUMGR_TRANSPORT_BT_AUTHEN=n
CONFIG_MCUMGR_TRANSPORT_BT_CONN_PARAM_CONTROL=y
CONFIG_BT_GATT_DYNAMIC_DB=y
CONFIG_BT_GATT_SERVICE_CHANGED=y

CONFIG_BT_DFU_SMP=y

Parents
  • Hey, for what it's worth, I also started seeing this error message a few days ago only, I'm using Device Manager v2.0.1. I have not changed any settings on my project files and I can confirm that worked as we've done many updates OTA over the last weeks and months on difficult to access boards.

    What I did try was the "advanced" option and that seemed to work. It didn't tell me the file was invalid, instead it told me it's already stored in memory, which is true, as I didn't do any updates.

    I do use a static partition yml file and I have not changed it in the last few months.

    Cheers,

    Alberto

Reply
  • Hey, for what it's worth, I also started seeing this error message a few days ago only, I'm using Device Manager v2.0.1. I have not changed any settings on my project files and I can confirm that worked as we've done many updates OTA over the last weeks and months on difficult to access boards.

    What I did try was the "advanced" option and that seemed to work. It didn't tell me the file was invalid, instead it told me it's already stored in memory, which is true, as I didn't do any updates.

    I do use a static partition yml file and I have not changed it in the last few months.

    Cheers,

    Alberto

Children
No Data
Related