aws_fota: Error when getting the payload: -122

Hi,

I am doing "application update" using AWS FOTA with presigned URL.

https://developer.nordicsemi.com/nRF_Connect_SDK/doc/2.0.1/nrf/samples/nrf9160/aws_fota/README.htmlI

I am getting following error during the fota download process.

[00:00:37.020,751] <dbg> aws_iot: broker_init: IPv4 Address found 52.40.13.127
[00:00:45.354,827] <dbg> aws_iot: connect_client: Using send socket timeout of 60 seconds
[00:00:45.354,858] <dbg> aws_iot: aws_iot_cloud_poll: AWS IoT broker connection request sent
[00:00:45.777,923] <dbg> aws_iot: mqtt_evt_handler: MQTT client connected!
[00:00:45.779,083] <dbg> aws_iot: aws_iot_send: Publishing to topic: $aws/things/830_test1/shadow/update
[00:00:45.781,280] <dbg> aws_iot: aws_iot_send: Publishing to topic: $aws/things/830_test1/shadow/get
[00:00:45.782,287] <dbg> aws_iot: device_shadow_document_request: Device shadow document requested
[00:00:45.980,651] <dbg> at_monitor: at_monitor_task: AT notif: +CEREG: 1,"909D","09547000",7,,,"00011110","10111110"

[00:00:45.980,682] <dbg> at_monitor: at_monitor_task: Dispatching to 0x3ba09
[00:00:46.061,065] <dbg> at_monitor: at_monitor_task: AT notif: %XTIME: ,"22805060813563",

[00:00:46.061,126] <dbg> at_monitor: at_monitor_task: Dispatching to 0x3fd05
[00:00:46.185,150] <dbg> aws_iot: mqtt_evt_handler: MQTT_EVT_SUBACK: id = 2112 result = 0
[00:00:46.456,298] <dbg> aws_iot: mqtt_evt_handler: MQTT_EVT_SUBACK: id = 2114 result = 0
[00:00:46.989,807] <dbg> aws_iot: mqtt_evt_handler: MQTT_EVT_PUBLISH: id = 5 len = 411 
[00:00:48.271,026] <dbg> aws_iot: mqtt_evt_handler: MQTT_EVT_PUBACK: id = 6042 result = 0
[00:00:48.271,301] <err> aws_fota: Error when getting the payload: -122
[00:00:48.271,301] <err> aws_iot: aws_fota_mqtt_evt_handler, error: -122
[00:00:48.271,331] <dbg> aws_iot: mqtt_evt_handler: MQTT_EVT_PUBLISH: id = 0 len = 1605 
[00:00:51.514,953] <inf> cpu_load: Load:6,546%
[00:00:53.515,045] <inf> cpu_load: Load:8,938%
[00:00:54.981,353] <err> aws_fota: Error when getting the payload: -122
[00:00:54.981,384] <err> aws_iot: aws_fota_mqtt_evt_handler, error: -122
[00:00:54.981,384] <dbg> aws_iot: mqtt_evt_handler: MQTT_EVT_PUBLISH: id = 4 len = 1588 
[00:00:55.515,136] <inf> cpu_load: Load:10,317%

My environment

1. nrf SDK 1.9.1

2. prj.conf

CONFIG_TRUSTED_EXECUTION_NONSECURE=y


# General config
CONFIG_REBOOT=y
# CONFIG_RTT_CONSOLE=y
# CONFIG_USE_SEGGER_RTT=y
CONFIG_RING_BUFFER=y

# LOGGNG
CONFIG_LOG=y
CONFIG_LOG_BUFFER_SIZE=2048
# CONFIG_LOG_PRINTK=y
# CONFIG_LOG_BACKEND_RTT=y
# CONFIG_LOG_BACKEND_UART=n
CONFIG_LOG2_MODE_DEFERRED=y
CONFIG_CBPRINTF_FP_SUPPORT=y
CONFIG_LOG_DEFAULT_LEVEL=4

# Console
CONFIG_PRINTK=y
# CONFIG_CONSOLE=y
CONFIG_UART_CONSOLE=n
CONFIG_SHELL=y
CONFIG_KERNEL_SHELL=y
CONFIG_DEVICE_SHELL=y
CONFIG_POSIX_CLOCK=y
CONFIG_DATE_SHELL=y
#CONFIG_SHELL_MINIMAL=y
CONFIG_SHELL_STACK_SIZE=1024
CONFIG_SHELL_BACKEND_SERIAL=n
CONFIG_SHELL_LOG_BACKEND=y
CONFIG_SHELL_RTT_LOG_LEVEL_DBG=y
CONFIG_SHELL_RTT_INIT_LOG_LEVEL_WRN=y

CONFIG_THREAD_MONITOR=y
CONFIG_INIT_STACKS=y
CONFIG_BOOT_BANNER=n
CONFIG_THREAD_NAME=y

#enable RTT shell
CONFIG_USE_SEGGER_RTT=y
CONFIG_SHELL_BACKEND_RTT=y
CONFIG_SEGGER_RTT_BUFFER_SIZE_DOWN=32

# UART
CONFIG_UART_ASYNC_API=y

# Modem library
CONFIG_NRF_MODEM_LIB=y
#CONFIG_POSIX_MAX_FDS=8
CONFIG_MODEM_INFO=y

CONFIG_MODEM_KEY_MGMT=y
CONFIG_DOWNLOAD_CLIENT=y
CONFIG_DOWNLOAD_CLIENT_STACK_SIZE=4096



CONFIG_NEWLIB_LIBC=y

# LTE link control
CONFIG_LTE_LINK_CONTROL=y
CONFIG_LTE_NETWORK_MODE_LTE_M=y
CONFIG_LTE_AUTO_INIT_AND_CONNECT=n

CONFIG_LTE_LOCK_BANDS=y
CONFIG_LTE_LOCK_BAND_MASK="0000000001000000000000000001"

# Network
CONFIG_NETWORKING=y
CONFIG_NET_NATIVE=n
CONFIG_NET_SOCKETS=y
CONFIG_NET_SOCKETS_OFFLOAD=y

# PDN library
CONFIG_PDN=y
CONFIG_PDN_SYS_INIT=y
CONFIG_PDN_DEFAULTS_OVERRIDE=y
CONFIG_PDN_DEFAULT_APN="iijmobile.biz"
CONFIG_PDN_DEFAULT_FAM_IPV4=y
CONFIG_PDN_DEFAULT_AUTH_CHAP=y
CONFIG_PDN_DEFAULT_USERNAME="mobile@iij"
CONFIG_PDN_DEFAULT_PASSWORD="iij"


# Stacks and heaps
CONFIG_HEAP_MEM_POOL_SIZE=16384

# for debug
CONFIG_DEBUG_OPTIMIZATIONS=y
CONFIG_DEBUG_THREAD_INFO=y

CONFIG_OPENOCD_SUPPORT=y
CONFIG_MAIN_STACK_SIZE=8192
CONFIG_PRIVILEGED_STACK_SIZE=1024
CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=4096


# Flash
CONFIG_SPI=y
CONFIG_FLASH=y

# I2C
CONFIG_I2C_NRFX=y
CONFIG_I2C=y

#IMU
CONFIG_SENSOR=y
CONFIG_ICM42605=y
CONFIG_ICM42605_TRIGGER_NONE=y



# json
CONFIG_JSON_LIBRARY=y

# float
CONFIG_NEWLIB_LIBC=y
CONFIG_NEWLIB_LIBC_FLOAT_PRINTF=y

# for Zmod library
CONFIG_FPU=y
CONFIG_FPU_SHARING=y
CONFIG_FP_HARDABI=y


CONFIG_CPU_LOAD=y
CONFIG_CPU_LOAD_LOG_INTERVAL=2000
CONFIG_CPU_LOAD_LOG_PERIODIC=y


CONFIG_DATE_TIME=y


# CJSON
CONFIG_CJSON_LIB=y


# AWS IoT library
CONFIG_AWS_IOT=y
CONFIG_AWS_IOT_CLIENT_ID_STATIC="830_test1"
CONFIG_AWS_IOT_BROKER_HOST_NAME="xxxxxxxxxxxxxxxx-ats.iot.us-west-2.amazonaws.com"
CONFIG_AWS_IOT_SEC_TAG=42
CONFIG_AWS_IOT_APP_SUBSCRIPTION_LIST_COUNT=2
CONFIG_AWS_IOT_AUTO_DEVICE_SHADOW_REQUEST=y
CONFIG_AWS_IOT_TOPIC_UPDATE_DELTA_SUBSCRIBE=y
CONFIG_AWS_IOT_LAST_WILL=y
CONFIG_AWS_IOT_TOPIC_GET_ACCEPTED_SUBSCRIBE=y
CONFIG_AWS_IOT_TOPIC_GET_REJECTED_SUBSCRIBE=y
CONFIG_PUBLICATION_INTERVAL_SECONDS=30
CONFIG_AWS_IOT_MQTT_PAYLOAD_BUFFER_LEN=2048
CONFIG_AWS_IOT_MQTT_RX_TX_BUFFER_LEN=2048

CONFIG_AWS_IOT_LOG_LEVEL_DBG=y

# MQTT - Maximum MQTT keepalive timeout specified by AWS IoT Core
CONFIG_MQTT_KEEPALIVE=1200

# Date Time library
CONFIG_DATE_TIME=y

# MCUBOOT
CONFIG_BOOTLOADER_MCUBOOT=y
CONFIG_MCUBOOT_IMG_MANAGER=y

# Image manager
CONFIG_IMG_MANAGER=y
CONFIG_FLASH=y
CONFIG_IMG_ERASE_PROGRESSIVELY=y

#AWS FOTA
CONFIG_AWS_FOTA=y
CONFIG_FOTA_DOWNLOAD=y
CONFIG_AWS_FOTA_DOWNLOAD_SECURITY_TAG=42
CONFIG_DFU_TARGET=y
#CONFIG_AWS_FOTA_PAYLOAD_SIZE=2048
#CONFIG_NRF_MODEM_LIB_SYS_INIT=y
#CONFIG_AWS_FOTA_FILE_PATH_MAX_LEN=2048
#CONFIG_DOWNLOAD_CLIENT_MAX_FILENAME_SIZE=2048
CONFIG_FOTA_SOCKET_RETRIES=10
#CONFIG_AWS_FOTA_LOG_LEVEL_DBG=y
#CONFIG_DOWNLOAD_CLIENT_LOG_LEVEL_DBG=y
#CONFIG_DOWNLOAD_CLIENT_LOG_HEADERS=y

CONFIG_APP_VERSION="v1.0.1"


CONFIG_WARNING_BUZZER=n

CONFIG_DEVELOP_MODE=n




I also tried to increase the payload size i didn't help me.

CONFIG_AWS_FOTA_PAYLOAD_SIZE=2048

Please help me in investigating the issue.


Regards


Praveen Deshmane

Parents
  • Hello Praveen, 

    Please help me in investigating the issue.

    I have cross-checked on your issue with our AWS IoT developers, and they are not completely sure what the problem might be here. 

    However, considering that the shadow is requested, they suspect that it might be too large.

    [00:00:45.781,280] <dbg> aws_iot: aws_iot_send: Publishing to topic: $aws/things/830_test1/shadow/get
    [00:00:45.782,287] <dbg> aws_iot: device_shadow_document_request: Device shadow document requested

    The error is printed in function get_job_execution(). You should have a look at the jobs message size. 

    Increasing CONFIG_AWS_IOT_MQTT_RX_TX_BUFFER_LEN might solve the issue. However, there should not be a need to read the shadow, since FOTA updates are scheduled via jobs. 

    Cheers, 

    Markus 

Reply
  • Hello Praveen, 

    Please help me in investigating the issue.

    I have cross-checked on your issue with our AWS IoT developers, and they are not completely sure what the problem might be here. 

    However, considering that the shadow is requested, they suspect that it might be too large.

    [00:00:45.781,280] <dbg> aws_iot: aws_iot_send: Publishing to topic: $aws/things/830_test1/shadow/get
    [00:00:45.782,287] <dbg> aws_iot: device_shadow_document_request: Device shadow document requested

    The error is printed in function get_job_execution(). You should have a look at the jobs message size. 

    Increasing CONFIG_AWS_IOT_MQTT_RX_TX_BUFFER_LEN might solve the issue. However, there should not be a need to read the shadow, since FOTA updates are scheduled via jobs. 

    Cheers, 

    Markus 

Children
No Data
Related