Serial LTE Modem FOTA download error

After triggering FOTA download, following are the logs from nrf9160:
without CONFIG_DOWNLOAD_CLIENT_HTTP_FRAG_SIZE_1024=y in prj.conf

00> [00:03:30.366,455] <inf> download_client: Downloaded 2048/316987 bytes (0%)
00> [00:03:30.367,065] <err> dfu_target: No supported image type found
00> [00:03:30.367,523] <err> fota_download: Unknown image type
00> [00:03:30.368,011] <inf> download_client: Fragment refused, download stopped.
00> [00:03:30.368,957] <dbg> slm_uart_handler: slm_uart_tx_write: TX
00>                                            0d 0a 23 58 46 4f 54 41  3a 20 30 2c 31 2c 32 0d |..#XFOTA : 0,1,2.
00>                                            0a                                               |.                

with CONFIG_DOWNLOAD_CLIENT_HTTP_FRAG_SIZE_1024=y in prj.conf

00> [00:02:30.750,152] <inf> download_client: Downloaded 1024/316987 bytes (0%)
00> [00:02:30.750,701] <err> dfu_target: No supported image type found
00> [00:02:30.751,190] <err> fota_download: Unknown image type
00> [00:02:30.751,708] <inf> download_client: Fragment refused, download stopped.

I have not enabled FULL FOTA. I am testing FOTA for application update. 
NCS SDK: 2.5.1

Rest of the prj.conf related to FOTA looks like this:

# FOTA
CONFIG_HTTP_PARSER_URL=y
CONFIG_FOTA_DOWNLOAD=y
CONFIG_FOTA_DOWNLOAD_PROGRESS_EVT=y
CONFIG_DFU_TARGET=y
CONFIG_DOWNLOAD_CLIENT=y
CONFIG_DOWNLOAD_CLIENT_STACK_SIZE=4096
CONFIG_DOWNLOAD_CLIENT_MAX_FILENAME_SIZE=2048
CONFIG_BOOTLOADER_MCUBOOT=y
CONFIG_IMG_MANAGER=y
CONFIG_DOWNLOAD_CLIENT_HTTP_FRAG_SIZE_1024=y

# FLASH
CONFIG_FLASH=n
CONFIG_FLASH_PAGE_LAYOUT=n
CONFIG_FLASH_MAP=n
CONFIG_STREAM_FLASH=n
CONFIG_MPU_ALLOW_FLASH_WRITE=n
CONFIG_IMG_ERASE_PROGRESSIVELY=n

  • just noticed the following warning in the build logs: 

    warning: IMG_MANAGER (defined at subsys/dfu/Kconfig:10) was assigned the value 'y' but got the value
    'n'. Check these unsatisfied dependencies: STREAM_FLASH (=n). See
    http://docs.zephyrproject.org/latest/kconfig.html#CONFIG_IMG_MANAGER and/or look up IMG_MANAGER in
    the menuconfig/guiconfig interface. The Application Development Primer, Setting Configuration
    Values, and Kconfig - Tips and Best Practices sections of the manual might be helpful too.


    But when I set CONFIG_STREAM_FLASH=y,  I get many other warnings. Looks like I have to enable all FLASH related configs. But that takes me back to the intial problem where enabling FLASH related configurations causes my application to hangup on startup when running on cutom board without external flash.

  • That would be a good place to start yes.

    I suggest that you have a look at the config file for one of our samples and see what that does to get all the dependencies:

    For example https://github.com/nrfconnect/sdk-nrf/blob/main/samples/cellular/nrf_cloud_rest_fota/prj.conf#L24

  • problem resolved after adding 

    CONFIG_DFU_TARGET_MCUBOOT=y

    had to enable other settings as well, final configuration looks like this:

    # FOTA
    CONFIG_HTTP_PARSER_URL=y
    CONFIG_FOTA_DOWNLOAD=y
    CONFIG_FOTA_DOWNLOAD_PROGRESS_EVT=y
    CONFIG_DFU_TARGET=y
    CONFIG_DOWNLOAD_CLIENT=y
    CONFIG_DOWNLOAD_CLIENT_STACK_SIZE=4096
    CONFIG_DOWNLOAD_CLIENT_MAX_FILENAME_SIZE=2048
    CONFIG_BOOTLOADER_MCUBOOT=y
    CONFIG_IMG_MANAGER=y
    CONFIG_DFU_TARGET_MCUBOOT=y
    
    # FLASH
    CONFIG_FLASH=y
    CONFIG_FLASH_PAGE_LAYOUT=y
    CONFIG_FLASH_MAP=y
    CONFIG_STREAM_FLASH=y
    CONFIG_MPU_ALLOW_FLASH_WRITE=y
    CONFIG_IMG_ERASE_PROGRESSIVELY=y
    
    # Settings
    CONFIG_SETTINGS=y
    CONFIG_SETTINGS_FCB=y
    CONFIG_FCB=y
Related