After gradually increasing up to ncs 3.1.0, the following issue occured:
After:
I observe:
[00:00:05.978,454] <inf> main: Initializing modem library
[00:00:06.132,019] <dbg> nrf_modem: nrf_modem_lib_init: Modem init callback: 0x62a3d
[00:00:06.132,049] <dbg> nrf_modem: nrf_modem_lib_init: Modem init callback: 0x6354d
[00:00:06.132,446] <err> lte_lc: Could not send AT command, error: 65536
[00:00:06.132,446] <err> lte_lc: Failed to set system mode and mode preference, err -14
Here is my prj.conf:
# # prj.conf # # Copyright (c) 2020 Nordic Semiconductor ASA # # SPDX-License-Identifier: LicenseRef-Nordic-5-Clause # ### wrk # Keep the exact same LTE events you handled in v2.7 CONFIG_LTE_LC_PSM_MODULE=y CONFIG_LTE_LC_EDRX_MODULE=y CONFIG_LTE_LC_TAU_PRE_WARNING_MODULE=y CONFIG_LTE_LC_NEIGHBOR_CELL_MEAS_MODULE=y CONFIG_LTE_LC_MODEM_SLEEP_MODULE=y ### LTE #CONFIG_LTE_NETWORK_MODE_LTE_M=y #CONFIG_LTE_NETWORK_MODE_LTE_M_NBIOT=n CONFIG_LTE_LINK_CONTROL=y #CONFIG_LTE_MODE_PREFERENCE_AUTO=y #CONFIG_LTE_PSM_REQ=n #CONFIG_LTE_EDRX_REQ=n #CONFIG_LTE_RAI_REQ=n #CONFIG_LTE_NETWORK_TIMEOUT=60 #CONFIG_LTE_LC_TAU_PRE_WARNING_NOTIFICATIONS=n CONFIG_AT_HOST_LIBRARY=n ### watchdog CONFIG_WATCHDOG=y CONFIG_WDT_LOG_LEVEL_INF=y # Or DBG for more verbose watchdog logs ### tune networking CONFIG_NET_TCP_RETRY_COUNT=1 CONFIG_MQTT_KEEPALIVE=30 ### modem CONFIG_AT_MONITOR=y CONFIG_NRF_MODEM_LIB=y # CONFIG_NRF_MODEM_LIB_ON_FAULT_RESET_MODEM=y CONFIG_NRF_MODEM_LIB_LOG_LEVEL_DBG=y ### (do not) reset on fatal error CONFIG_RESET_ON_FATAL_ERROR=y ### debug optimizations (-Og) CONFIG_DEBUG=y CONFIG_DEBUG_OPTIMIZATIONS=y CONFIG_DEBUG_THREAD_INFO=y CONFIG_NVS_LOG_LEVEL_DBG=y ## debug network timing # CONFIG_NET_LOG=y ## debug MQTT timing (add both below) # CONFIG_MQTT_LOG_LEVEL_DBG=y CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=3000 CONFIG_LOG_PROCESS_THREAD_STACK_SIZE=2048 ### coredump debug # CONFIG_DEBUG_COREDUMP=y # CONFIG_DEBUG_COREDUMP_BACKEND_LOGGING=y ### higher LOG buffer not to drop LOG messages CONFIG_LOG_BUFFER_SIZE=2300 #CONFIG_LOG_MODE_DEFERRED=y #CONFIG_LOG_PROCESS_THREAD=y ### debugging threads CONFIG_THREAD_ANALYZER=n CONFIG_THREAD_ANALYZER_AUTO=n ### trying to manage priorities # CONFIG_SYSTEM_WORKQUEUE_PRIORITY=10 ### Admin uart helpers #CONFIG_UART_2_NRF_HW_ASYNC=y #CONFIG_UART_2_NRF_HW_ASYNC_TIMER=1 CONFIG_UART_NRFX_UARTE_ENHANCED_RX=y ### uart CONFIG_UART_ASYNC_API=y # ! the following must be done not to loosing RX characters: assigning timer 2 to RX processing: CONFIG_UART_NRFX=y #CONFIG_UART_1_NRF_HW_ASYNC=y #CONFIG_UART_1_NRF_HW_ASYNC_TIMER=2 # dynamic uart configuration needed CONFIG_UART_USE_RUNTIME_CONFIGURE=y ### Networking CONFIG_NETWORKING=y CONFIG_NET_NATIVE=n CONFIG_NET_SOCKETS_OFFLOAD=y CONFIG_POSIX_API=y # CONFIG_NET_SOCKETS_POSIX_API=y CONFIG_NET_SOCKETS=y # CONFIG_NET_TCP_ACK_TIMEOUT=100 CONFIG_NEWLIB_LIBC=y CONFIG_NEWLIB_LIBC_MIN_REQUIRED_HEAP_SIZE=4096 CONFIG_NET_TCP=y CONFIG_NET_IPV4=y ### Floating point support CONFIG_CBPRINTF_FP_SUPPORT=y #### logging CONFIG_LOG_MODE_DEFERRED=y CONFIG_LOG_MODE_IMMEDIATE=n CONFIG_LOG_RUNTIME_FILTERING=y CONFIG_LOG=y CONFIG_USE_SEGGER_RTT=y CONFIG_LOG_BACKEND_RTT=y CONFIG_LOG_BACKEND_UART=y CONFIG_LOG_PROCESS_THREAD=y ### CPU load #CONFIG_CPU_LOAD= #CONFIG_CPU_LOAD_LOG_PERIODIC=y #CONFIG_CPU_LOAD_LOG_INTERVAL=1000 # ### SECURE TFM logging ### disabling logging of TF-M # CONFIG_TFM_LOG_LEVEL_SILENCE=y # try to increase MODEM library heap size: # CONFIG_NRF_MODEM_LIB_HEAP_SIZE=4096 ### forward TF-M secure logging to the same UART as application logging (comment the previous) # CONFIG_TFM_SECURE_UART=y # CONFIG_TFM_SECURE_UART_SHARE_INSTANCE=y # CONFIG_TFM_SECURE_UART0=y # CONFIG_TFM_PARTITION_LOG_LEVEL_DEBUG=y # CONFIG_TFM_SPM_LOG_LEVEL_DEBUG=y # Dump exception info. Must be combined with enabling log output. # CONFIG_TFM_EXCEPTION_INFO_DUMP=y # CONFIG_TFM_CRYPTO_KEY_DERIVATION_MODULE_ENABLED=y ### NVS CONFIG_FLASH=y CONFIG_FLASH_PAGE_LAYOUT=y CONFIG_NVS=y CONFIG_MPU_ALLOW_FLASH_WRITE=y CONFIG_FLASH_MAP=y ### CONFIG_REBOOT=y # Enable snprintf float CONFIG_NEWLIB_LIBC_FLOAT_PRINTF=y ### Possible solution for Fatal error: # Don't use the minimal TF-M configuration as that doesn't support logging CONFIG_TFM_PROFILE_TYPE_NOT_SET=y ### Memory CONFIG_MAIN_STACK_SIZE=3000 CONFIG_HEAP_MEM_POOL_SIZE=4096 CONFIG_ISR_STACK_SIZE=4096 ### MQTT CONFIG_MQTT_LIB=y CONFIG_MQTT_CLEAN_SESSION=y ### ADC CONFIG_ADC=y ### I2C, IMU CONFIG_I2C=y CONFIG_I2C_CALLBACK=y CONFIG_I2C_LOG_LEVEL_DBG=y ### others CONFIG_CLOCK_CONTROL=y
What puzzles me is that even reflashing older versions does not seem to reset the appropriate modem behavior as had been observed before. (How) can it happen?