This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

mqtt_connect error 45 when using secure transport

I have gotten mqtt_simple working with iot.eclipse.org:1883. I am now trying to adapt it to use TLS. From other questions I have made the following changes:

diff --git a/samples/nrf9160/mqtt_simple/src/main.c b/samples/nrf9160/mqtt_simple/src/main.c
index 779ee15..32afae5 100644
--- a/samples/nrf9160/mqtt_simple/src/main.c
+++ b/samples/nrf9160/mqtt_simple/src/main.c
@@ -288,7 +288,14 @@ static void client_init(struct mqtt_client *client)
     client->tx_buf_size = sizeof(tx_buffer);
 
     /* MQTT transport configuration */
-    client->transport.type = MQTT_TRANSPORT_NON_SECURE;
+    client->transport.type = MQTT_TRANSPORT_SECURE;
+    struct mqtt_sec_config *tls_config = &client->transport.tls.config;
+    tls_config->peer_verify = 0;
+    tls_config->cipher_list = 0;
+    tls_config->cipher_count = 0;
+    tls_config->sec_tag_list = 0;
+    tls_config->sec_tag_count = 0;
+    tls_config->hostname = CONFIG_MQTT_BROKER_HOSTNAME;
 }
 
 /**@brief Initialize the file descriptor structure used by poll.

and set CONFIG_MQTT_LIB_TLS. When I try I get error -45 from mqtt_connect. I get the same if I set peer_verify = 2.

Software versions:

nrf c1939d963fe2c18013ffb8de0bd8f6fc1d91724d
modem 0.6.8-30
  • Some things I forgot to mention: I tried iot.eclipse.org:8883 and test.mosquitto.org:8883 with mqtt_simple. asset_tracker reports that nrf_cloud_connect fails with error -111, which other questions suggest might be the same sort of problem.

  • I don't have a solution for you, but I took my working MQTT/SSL application and tried a few variations.

    I also get -45 (EOPNOTSUPP) if I set peer_verify to 2.  I do not get that error if I set it to 0 or 1, even with a hostname passed into the TLS configuration.  I am also on NRF commit c1939d963fe2c18013ffb8de0bd8f6fc1d91724d.

  • Interesting. Could you show the .config you’re using?

  • A lot of the tweaks in this were made for other unrelated reasons, but maybe it will be helpful to compare.  Also, the MQTT_BROKER_USERNAME and MQTT_BROKER_PASSWORD config options were my additions to the application, so don't expect those to work for you.

    # Generated by Kconfiglib (https://github.com/ulfalizer/Kconfiglib)
    
    #
    # jbrzozoski app
    #
    CONFIG_MQTT_CLIENT_ID="nrf91dk1"
    CONFIG_MQTT_BROKER_HOSTNAME="1.2.3.4"
    CONFIG_MQTT_BROKER_USERNAME="username"
    CONFIG_MQTT_BROKER_PASSWORD="password"
    CONFIG_MQTT_BROKER_PORT=8883
    CONFIG_MQTT_MESSAGE_BUFFER_SIZE=128
    CONFIG_MQTT_PAYLOAD_BUFFER_SIZE=128
    
    #
    # Zephyr Kernel
    #
    
    #
    # MCUboot
    #
    CONFIG_BOOT_SIGNATURE_KEY_FILE="root-rsa-2048.pem"
    
    #
    # Nordic nrfxlib
    #
    CONFIG_BSD_LIB=y
    # CONFIG_NRFXLIB_NFC is not set
    
    #
    # Crypto libraries for nRF5x SOCs.
    #
    CONFIG_NRFXLIB_CRYPTO=y
    CONFIG_NRF_OBERON=y
    # CONFIG_NRF_CC310_BL is not set
    # CONFIG_TINYCBOR is not set
    
    #
    # Nordic nRF Connect
    #
    # CONFIG_SECURE_BOOT is not set
    
    #
    # Bluetooth Low Energy
    #
    # CONFIG_NRF_ESB is not set
    
    #
    # Networking
    #
    
    #
    # Application protocols
    #
    # CONFIG_NRF_COAP_LIB is not set
    # CONFIG_MQTT_SOCKET_LIB is not set
    CONFIG_MQTT_KEEPALIVE=120
    CONFIG_MQTT_LIB_TLS=y
    # CONFIG_NRF_CLOUD is not set
    # CONFIG_NRF_DOWNLOAD_CLIENT is not set
    
    #
    # NFC
    #
    # CONFIG_NFC_NDEF is not set
    # CONFIG_PROFILER is not set
    
    #
    # SPM
    #
    CONFIG_SPM=y
    # CONFIG_SPM_BUILD_STRATEGY_USE_HEX_FILE is not set
    # CONFIG_SPM_BUILD_STRATEGY_SKIP_BUILD is not set
    CONFIG_SPM_BUILD_STRATEGY_FROM_SOURCE=y
    # CONFIG_IS_SPM is not set
    # CONFIG_FW_METADATA is not set
    
    #
    # Libraries
    #
    
    #
    # BSD Library for nrf91
    #
    CONFIG_BSD_LIBRARY=y
    
    #
    # Nordic BSD Socket library configuration
    #
    # CONFIG_BSD_LIBRARY_TRACE_ENABLED is not set
    
    #
    # AT Host Library for nrf91
    #
    # CONFIG_AT_HOST_LIBRARY is not set
    CONFIG_DK_LIBRARY=y
    CONFIG_DK_LIBRARY_BUTTON_SCAN_INTERVAL=10
    CONFIG_DK_LIBRARY_INVERT_BUTTONS=y
    # CONFIG_DK_LIBRARY_INVERT_LEDS is not set
    # CONFIG_AT_CMD_PARSER is not set
    # CONFIG_MODEM_INFO is not set
    # CONFIG_PDN_MANAGEMENT is not set
    
    #
    # Device Drivers
    #
    # CONFIG_ADP536X is not set
    # CONFIG_GPS_SIM is not set
    # CONFIG_LTE_LINK_CONTROL is not set
    # CONFIG_ETH_RTT is not set
    # CONFIG_SENSOR is not set
    # CONFIG_ST25R3911B_LIB is not set
    
    #
    # External libraries
    #
    # CONFIG_CJSON_LIB is not set
    # CONFIG_UNITY is not set
    CONFIG_BOARD="nrf9160_pca10090"
    CONFIG_ADC_0=y
    CONFIG_FLASH_LOAD_SIZE=0x40000
    CONFIG_FLASH_LOAD_OFFSET=0x40000
    CONFIG_SOC="nRF9160_SICA"
    CONFIG_SOC_SERIES="nrf91"
    CONFIG_NUM_IRQS=65
    CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=32768
    # CONFIG_WATCHDOG is not set
    # CONFIG_UART_NS16550 is not set
    CONFIG_ISR_STACK_SIZE=2048
    CONFIG_SYS_POWER_MANAGEMENT=y
    CONFIG_ARCH_HAS_CUSTOM_BUSY_WAIT=y
    CONFIG_BUILD_OUTPUT_HEX=y
    CONFIG_GPIO=y
    CONFIG_SYS_CLOCK_TICKS_PER_SEC=100
    CONFIG_TEXT_SECTION_OFFSET=0
    CONFIG_FLASH_SIZE=1024
    CONFIG_FLASH_BASE_ADDRESS=0x0
    CONFIG_SRAM_SIZE=128
    CONFIG_SRAM_BASE_ADDRESS=0x20020000
    # CONFIG_SPI is not set
    # CONFIG_NET_L2_IEEE802154 is not set
    CONFIG_SOC_GECKO_EMU=y
    CONFIG_BOARD_NRF9160_PCA10090NS=y
    
    #
    # Board Options
    #
    # CONFIG_SOC_SERIES_BEETLE is not set
    # CONFIG_SOC_SERIES_MPS2 is not set
    # CONFIG_SOC_SERIES_MUSCA is not set
    # CONFIG_SOC_SERIES_SAMD20 is not set
    # CONFIG_SOC_SERIES_SAMD21 is not set
    # CONFIG_SOC_SERIES_SAM3X is not set
    # CONFIG_SOC_SERIES_SAM4S is not set
    # CONFIG_SOC_SERIES_SAME70 is not set
    # CONFIG_SOC_SERIES_PSOC62 is not set
    # CONFIG_SOC_SERIES_MEC1701X is not set
    # CONFIG_SOC_SERIES_NRF51X is not set
    # CONFIG_SOC_SERIES_NRF52X is not set
    CONFIG_SOC_SERIES_NRF91X=y
    # CONFIG_SOC_SERIES_IMX_6X_M4 is not set
    # CONFIG_SOC_SERIES_IMX7_M4 is not set
    # CONFIG_SOC_SERIES_IMX_RT is not set
    # CONFIG_SOC_SERIES_KINETIS_K6X is not set
    # CONFIG_SOC_SERIES_KINETIS_KL2X is not set
    # CONFIG_SOC_SERIES_KINETIS_KWX is not set
    # CONFIG_SOC_SERIES_LPC54XXX is not set
    # CONFIG_SOC_SERIES_EFM32HG is not set
    # CONFIG_SOC_SERIES_EFM32PG12B is not set
    # CONFIG_SOC_SERIES_EFM32WG is not set
    # CONFIG_SOC_SERIES_EFR32FG1P is not set
    # CONFIG_SOC_SERIES_EFR32MG12P is not set
    # CONFIG_SOC_SERIES_STM32F0X is not set
    # CONFIG_SOC_SERIES_STM32F1X is not set
    # CONFIG_SOC_SERIES_STM32F2X is not set
    # CONFIG_SOC_SERIES_STM32F3X is not set
    # CONFIG_SOC_SERIES_STM32F4X is not set
    # CONFIG_SOC_SERIES_STM32F7X is not set
    # CONFIG_SOC_SERIES_STM32L0X is not set
    # CONFIG_SOC_SERIES_STM32L4X is not set
    # CONFIG_SOC_TI_LM3S6965 is not set
    # CONFIG_SOC_SERIES_CC2650 is not set
    # CONFIG_SOC_SERIES_CC32XX is not set
    # CONFIG_SOC_SERIES_MSP432P4XX is not set
    
    #
    # Hardware Configuration
    #
    CONFIG_CPU_HAS_ARM_MPU=y
    CONFIG_CPU_HAS_NRF_IDAU=y
    CONFIG_SOC_FAMILY="nordic_nrf"
    CONFIG_SOC_FAMILY_NRF=y
    CONFIG_HAS_HW_NRF_CC310=y
    CONFIG_HAS_HW_NRF_CLOCK=y
    CONFIG_HAS_HW_NRF_DPPIC=y
    CONFIG_HAS_HW_NRF_EGU0=y
    CONFIG_HAS_HW_NRF_EGU1=y
    CONFIG_HAS_HW_NRF_EGU2=y
    CONFIG_HAS_HW_NRF_EGU3=y
    CONFIG_HAS_HW_NRF_EGU4=y
    CONFIG_HAS_HW_NRF_EGU5=y
    CONFIG_HAS_HW_NRF_GPIO0=y
    CONFIG_HAS_HW_NRF_GPIOTE=y
    CONFIG_HAS_HW_NRF_I2S=y
    CONFIG_HAS_HW_NRF_PDM=y
    CONFIG_HAS_HW_NRF_POWER=y
    CONFIG_HAS_HW_NRF_PWM0=y
    CONFIG_HAS_HW_NRF_PWM1=y
    CONFIG_HAS_HW_NRF_PWM2=y
    CONFIG_HAS_HW_NRF_PWM3=y
    CONFIG_HAS_HW_NRF_RTC0=y
    CONFIG_HAS_HW_NRF_RTC1=y
    CONFIG_HAS_HW_NRF_SAADC=y
    CONFIG_HAS_HW_NRF_SPIM0=y
    CONFIG_HAS_HW_NRF_SPIM1=y
    CONFIG_HAS_HW_NRF_SPIM2=y
    CONFIG_HAS_HW_NRF_SPIM3=y
    CONFIG_HAS_HW_NRF_SPIS0=y
    CONFIG_HAS_HW_NRF_SPIS1=y
    CONFIG_HAS_HW_NRF_SPIS2=y
    CONFIG_HAS_HW_NRF_SPIS3=y
    CONFIG_HAS_HW_NRF_SPU=y
    CONFIG_HAS_HW_NRF_TIMER0=y
    CONFIG_HAS_HW_NRF_TIMER1=y
    CONFIG_HAS_HW_NRF_TIMER2=y
    CONFIG_HAS_HW_NRF_TWIM0=y
    CONFIG_HAS_HW_NRF_TWIM1=y
    CONFIG_HAS_HW_NRF_TWIM2=y
    CONFIG_HAS_HW_NRF_TWIM3=y
    CONFIG_HAS_HW_NRF_TWIS0=y
    CONFIG_HAS_HW_NRF_TWIS1=y
    CONFIG_HAS_HW_NRF_TWIS2=y
    CONFIG_HAS_HW_NRF_TWIS3=y
    CONFIG_HAS_HW_NRF_UARTE0=y
    CONFIG_HAS_HW_NRF_UARTE1=y
    CONFIG_HAS_HW_NRF_UARTE2=y
    CONFIG_HAS_HW_NRF_UARTE3=y
    CONFIG_HAS_HW_NRF_WDT=y
    CONFIG_GPIO_AS_PINRESET=y
    CONFIG_NRF_ENABLE_ICACHE=y
    CONFIG_SOC_NRF9160=y
    CONFIG_SOC_NRF9160_SICA=y
    CONFIG_SOC_COMPATIBLE_NRF=y
    
    #
    # ARM Options
    #
    CONFIG_CPU_CORTEX=y
    CONFIG_CPU_CORTEX_M=y
    # CONFIG_BUILTIN_STACK_GUARD is not set
    CONFIG_ARM_NONSECURE_FIRMWARE=y
    
    #
    # Architecture Floating Point Options
    #
    CONFIG_FP_HARDABI=y
    # CONFIG_FP_SOFTABI is not set
    CONFIG_CPU_CORTEX_M33=y
    CONFIG_ISA_THUMB2=y
    CONFIG_CPU_CORTEX_M_HAS_BASEPRI=y
    CONFIG_CPU_CORTEX_M_HAS_VTOR=y
    CONFIG_CPU_CORTEX_M_HAS_SPLIM=y
    CONFIG_CPU_CORTEX_M_HAS_PROGRAMMABLE_FAULT_PRIOS=y
    CONFIG_CPU_CORTEX_M_HAS_CMSE=y
    CONFIG_ARMV7_M_ARMV8_M_MAINLINE=y
    CONFIG_ARMV8_M_MAINLINE=y
    CONFIG_ARMV8_M_SE=y
    CONFIG_ARMV7_M_ARMV8_M_FP=y
    CONFIG_ARMV8_M_DSP=y
    
    #
    # ARM Cortex-M options
    #
    CONFIG_LDREX_STREX_AVAILABLE=y
    CONFIG_DATA_ENDIANNESS_LITTLE=y
    CONFIG_STACK_ALIGN_DOUBLE_WORD=y
    # CONFIG_RUNTIME_NMI is not set
    CONFIG_FAULT_DUMP=2
    CONFIG_XIP=y
    
    #
    # ARM Cortex-M0/M0+/M3/M4/M7/M23/M33 options
    #
    CONFIG_GEN_ISR_TABLES=y
    # CONFIG_ZERO_LATENCY_IRQS is not set
    # CONFIG_PLATFORM_SPECIFIC_INIT is not set
    CONFIG_ARM_MPU=y
    CONFIG_ARM_MPU_REGION_MIN_ALIGN_AND_SIZE=32
    # CONFIG_MPU_STACK_GUARD is not set
    # CONFIG_MPU_ALLOW_FLASH_WRITE is not set
    CONFIG_ARM_TRUSTZONE_M=y
    CONFIG_ARCH="arm"
    # CONFIG_ARC is not set
    CONFIG_ARM=y
    # CONFIG_X86 is not set
    # CONFIG_X86_64 is not set
    # CONFIG_NIOS2 is not set
    # CONFIG_RISCV32 is not set
    # CONFIG_XTENSA is not set
    # CONFIG_ARCH_POSIX is not set
    
    #
    # General Architecture Options
    #
    # CONFIG_TRUSTED_EXECUTION_SECURE is not set
    CONFIG_TRUSTED_EXECUTION_NONSECURE=y
    # CONFIG_HW_STACK_PROTECTION is not set
    # CONFIG_USERSPACE is not set
    CONFIG_PRIVILEGED_STACK_SIZE=1024
    CONFIG_PRIVILEGED_STACK_TEXT_AREA=256
    CONFIG_KOBJECT_TEXT_AREA=256
    # CONFIG_STACK_GROWS_UP is not set
    # CONFIG_SIMPLE_FATAL_ERROR_HANDLER is not set
    
    #
    # Interrupt Configuration
    #
    # CONFIG_DYNAMIC_INTERRUPTS is not set
    CONFIG_GEN_IRQ_VECTOR_TABLE=y
    CONFIG_GEN_SW_ISR_TABLE=y
    CONFIG_GEN_IRQ_START_VECTOR=0
    # CONFIG_IRQ_OFFLOAD is not set
    CONFIG_ARCH_HAS_TRUSTED_EXECUTION=y
    CONFIG_ARCH_HAS_STACK_PROTECTION=y
    CONFIG_ARCH_HAS_USERSPACE=y
    CONFIG_ARCH_HAS_EXECUTABLE_PAGE_BIT=y
    CONFIG_ARCH_HAS_RAMFUNC_SUPPORT=y
    CONFIG_ARCH_HAS_THREAD_ABORT=y
    CONFIG_HAS_SYS_POWER_STATE_DEEP_SLEEP_1=y
    CONFIG_CPU_HAS_TEE=y
    CONFIG_CPU_HAS_FPU=y
    CONFIG_CPU_HAS_MPU=y
    CONFIG_MEMORY_PROTECTION=y
    CONFIG_MPU_REQUIRES_NON_OVERLAPPING_REGIONS=y
    CONFIG_FLOAT=y
    # CONFIG_FP_SHARING is not set
    
    #
    # General Kernel Options
    #
    CONFIG_MULTITHREADING=y
    CONFIG_NUM_COOP_PRIORITIES=16
    CONFIG_NUM_PREEMPT_PRIORITIES=15
    CONFIG_MAIN_THREAD_PRIORITY=7
    CONFIG_COOP_ENABLED=y
    CONFIG_PREEMPT_ENABLED=y
    CONFIG_PRIORITY_CEILING=0
    CONFIG_NUM_METAIRQ_PRIORITIES=0
    # CONFIG_SCHED_DEADLINE is not set
    # CONFIG_SCHED_CPU_MASK is not set
    CONFIG_MAIN_STACK_SIZE=4096
    CONFIG_IDLE_STACK_SIZE=320
    CONFIG_THREAD_STACK_INFO=y
    # CONFIG_THREAD_CUSTOM_DATA is not set
    CONFIG_ERRNO=y
    CONFIG_SCHED_DUMB=y
    # CONFIG_SCHED_SCALABLE is not set
    # CONFIG_SCHED_MULTIQ is not set
    # CONFIG_WAITQ_SCALABLE is not set
    CONFIG_WAITQ_DUMB=y
    
    #
    # Kernel Debugging and Metrics
    #
    # CONFIG_INIT_STACKS is not set
    # CONFIG_KERNEL_DEBUG is not set
    CONFIG_BOOT_BANNER=y
    CONFIG_BOOT_DELAY=0
    # CONFIG_EXECUTION_BENCHMARKING is not set
    # CONFIG_THREAD_MONITOR is not set
    # CONFIG_THREAD_NAME is not set
    
    #
    # Work Queue Options
    #
    CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=1024
    CONFIG_SYSTEM_WORKQUEUE_PRIORITY=-1
    CONFIG_OFFLOAD_WORKQUEUE_STACK_SIZE=1024
    CONFIG_OFFLOAD_WORKQUEUE_PRIORITY=-1
    
    #
    # Atomic Operations
    #
    CONFIG_ATOMIC_OPERATIONS_BUILTIN=y
    
    #
    # Timer API Options
    #
    CONFIG_TIMESLICING=y
    CONFIG_TIMESLICE_SIZE=0
    CONFIG_TIMESLICE_PRIORITY=0
    CONFIG_POLL=y
    
    #
    # Other Kernel Object Options
    #
    CONFIG_NUM_MBOX_ASYNC_MSGS=10
    CONFIG_NUM_PIPE_ASYNC_MSGS=10
    CONFIG_HEAP_MEM_POOL_SIZE=16384
    CONFIG_HEAP_MEM_POOL_MIN_SIZE=64
    CONFIG_ARCH_HAS_CUSTOM_SWAP_TO_MAIN=y
    CONFIG_SWAP_NONATOMIC=y
    CONFIG_SYS_CLOCK_EXISTS=y
    
    #
    # Initialization Priorities
    #
    CONFIG_KERNEL_INIT_PRIORITY_OBJECTS=30
    CONFIG_KERNEL_INIT_PRIORITY_DEFAULT=40
    CONFIG_KERNEL_INIT_PRIORITY_DEVICE=50
    CONFIG_APPLICATION_INIT_PRIORITY=90
    
    #
    # Security Options
    #
    # CONFIG_STACK_CANARIES is not set
    CONFIG_STACK_POINTER_RANDOM=0
    
    #
    # SMP Options
    #
    CONFIG_MP_NUM_CPUS=1
    # CONFIG_SCHED_IPI_SUPPORTED is not set
    CONFIG_TICKLESS_IDLE=y
    CONFIG_TICKLESS_IDLE_THRESH=3
    CONFIG_TICKLESS_KERNEL=y
    # CONFIG_SYS_POWER_DEEP_SLEEP_STATES is not set
    # CONFIG_SYS_PM_STATE_LOCK is not set
    # CONFIG_SYS_PM_DEBUG is not set
    CONFIG_SYS_PM_POLICY_RESIDENCY=y
    # CONFIG_SYS_PM_POLICY_DUMMY is not set
    # CONFIG_SYS_PM_POLICY_APP is not set
    CONFIG_SYS_PM_MIN_RESIDENCY_DEEP_SLEEP_1=60000
    # CONFIG_DEVICE_POWER_MANAGEMENT is not set
    CONFIG_HAS_DTS=y
    CONFIG_HAS_DTS_ADC=y
    CONFIG_HAS_DTS_GPIO=y
    
    #
    # Device Drivers
    #
    # CONFIG_IEEE802154 is not set
    CONFIG_UART_CONSOLE_ON_DEV_NAME="UART_0"
    CONFIG_CONSOLE=y
    CONFIG_CONSOLE_INPUT_MAX_LINE_LEN=128
    CONFIG_CONSOLE_HAS_DRIVER=y
    # CONFIG_CONSOLE_HANDLER is not set
    CONFIG_UART_CONSOLE=y
    CONFIG_UART_CONSOLE_INIT_PRIORITY=60
    # CONFIG_UART_CONSOLE_DEBUG_SERVER_HOOKS is not set
    # CONFIG_UART_CONSOLE_MCUMGR is not set
    # CONFIG_USB_UART_CONSOLE is not set
    # CONFIG_RAM_CONSOLE is not set
    # CONFIG_IPM_CONSOLE_SENDER is not set
    # CONFIG_IPM_CONSOLE_RECEIVER is not set
    # CONFIG_UART_PIPE is not set
    # CONFIG_UART_MCUMGR is not set
    # CONFIG_SLIP is not set
    # CONFIG_NET_LOOPBACK is not set
    CONFIG_SERIAL=y
    
    #
    # Capabilities
    #
    CONFIG_SERIAL_HAS_DRIVER=y
    CONFIG_SERIAL_SUPPORT_INTERRUPT=y
    # CONFIG_UART_ASYNC_API is not set
    CONFIG_UART_INTERRUPT_DRIVEN=y
    # CONFIG_UART_LINE_CTRL is not set
    # CONFIG_UART_DRV_CMD is not set
    
    #
    # Serial Drivers
    #
    # CONFIG_UART_NSIM is not set
    CONFIG_UART_NRFX=y
    CONFIG_UART_0_NRF_UARTE=y
    CONFIG_UART_0_INTERRUPT_DRIVEN=y
    # CONFIG_UART_0_NRF_PARITY_BIT is not set
    # CONFIG_UART_0_NRF_FLOW_CONTROL is not set
    CONFIG_UART_0_NRF_TX_BUFFER_SIZE=32
    # CONFIG_UART_1_NRF_UARTE is not set
    # CONFIG_UART_2_NRF_UARTE is not set
    # CONFIG_UART_3_NRF_UARTE is not set
    CONFIG_NRF_UARTE_PERIPHERAL=y
    # CONFIG_UART_ALTERA_JTAG is not set
    
    #
    # Interrupt Controllers
    #
    # CONFIG_MULTI_LEVEL_INTERRUPTS is not set
    
    #
    # Timer Drivers
    #
    CONFIG_NRF_RTC_TIMER=y
    # CONFIG_SYSTEM_CLOCK_DISABLE is not set
    # CONFIG_TIMER_READS_ITS_FREQUENCY_AT_RUNTIME is not set
    CONFIG_SYSTEM_CLOCK_INIT_PRIORITY=0
    CONFIG_TICKLESS_CAPABLE=y
    CONFIG_ENTROPY_GENERATOR=y
    # CONFIG_ENTROPY_NRF5_RNG is not set
    CONFIG_ENTROPY_NAME="ENTROPY_0"
    # CONFIG_GPIO_SHELL is not set
    # CONFIG_GPIO_DW is not set
    # CONFIG_GPIO_SCH is not set
    CONFIG_GPIO_NRFX=y
    CONFIG_GPIO_NRF_INIT_PRIORITY=40
    CONFIG_GPIO_NRF_P0=y
    # CONFIG_GPIO_INTEL_APL is not set
    # CONFIG_SHARED_IRQ is not set
    # CONFIG_I2C is not set
    # CONFIG_I2S is not set
    # CONFIG_PWM is not set
    # CONFIG_PINMUX is not set
    CONFIG_ADC=y
    CONFIG_ADC_CONFIGURABLE_INPUTS=y
    CONFIG_ADC_ASYNC=y
    CONFIG_ADC_INIT_PRIORITY=80
    # CONFIG_ADC_1 is not set
    CONFIG_ADC_NRFX_SAADC=y
    # CONFIG_RTC is not set
    CONFIG_CLOCK_CONTROL=y
    CONFIG_CLOCK_CONTROL_NRF=y
    # CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC is not set
    CONFIG_CLOCK_CONTROL_NRF_K32SRC_XTAL=y
    # CONFIG_CLOCK_CONTROL_NRF_K32SRC_BLOCKING is not set
    # CONFIG_CLOCK_CONTROL_NRF_K32SRC_500PPM is not set
    # CONFIG_CLOCK_CONTROL_NRF_K32SRC_250PPM is not set
    # CONFIG_CLOCK_CONTROL_NRF_K32SRC_150PPM is not set
    # CONFIG_CLOCK_CONTROL_NRF_K32SRC_100PPM is not set
    # CONFIG_CLOCK_CONTROL_NRF_K32SRC_75PPM is not set
    # CONFIG_CLOCK_CONTROL_NRF_K32SRC_50PPM is not set
    # CONFIG_CLOCK_CONTROL_NRF_K32SRC_30PPM is not set
    CONFIG_CLOCK_CONTROL_NRF_K32SRC_20PPM=y
    # CONFIG_CLOCK_CONTROL_QUARK_SE is not set
    # CONFIG_PTP_CLOCK is not set
    # CONFIG_IPM is not set
    # CONFIG_AIO_COMPARATOR is not set
    # CONFIG_FLASH is not set
    # CONFIG_COUNTER is not set
    # CONFIG_DMA is not set
    # CONFIG_USB is not set
    # CONFIG_CRYPTO is not set
    # CONFIG_DISPLAY is not set
    # CONFIG_LED_STRIP is not set
    # CONFIG_WIFI is not set
    # CONFIG_LED is not set
    # CONFIG_CAN is not set
    # CONFIG_MODEM is not set
    # CONFIG_AUDIO is not set
    # CONFIG_NEURAL_NET_ACCEL is not set
    # CONFIG_HWINFO is not set
    
    #
    # C Library
    #
    # CONFIG_NEWLIB_LIBC is not set
    CONFIG_STDOUT_CONSOLE=y
    CONFIG_MINIMAL_LIBC_MALLOC_ARENA_SIZE=0
    
    #
    # Additional libraries
    #
    
    #
    # Graphical user interface
    #
    # CONFIG_LVGL is not set
    
    #
    # OS Support Library
    #
    # CONFIG_JSON_LIBRARY is not set
    # CONFIG_RING_BUFFER is not set
    # CONFIG_BASE64 is not set
    CONFIG_POSIX_MAX_FDS=16
    CONFIG_POSIX_API=y
    # CONFIG_PTHREAD_IPC is not set
    CONFIG_MAX_TIMER_COUNT=5
    # CONFIG_POSIX_MQUEUE is not set
    
    #
    # Bluetooth
    #
    # CONFIG_BT is not set
    
    #
    # Console
    #
    # CONFIG_CONSOLE_SUBSYS is not set
    
    #
    # C++ Options
    #
    # CONFIG_CPLUSPLUS is not set
    # CONFIG_STD_CPP98 is not set
    CONFIG_STD_CPP11=y
    # CONFIG_STD_CPP14 is not set
    # CONFIG_STD_CPP17 is not set
    # CONFIG_STD_CPP2A is not set
    
    #
    # System Monitoring Options
    #
    # CONFIG_PERFORMANCE_METRICS is not set
    # CONFIG_STATS is not set
    
    #
    # Debugging Options
    #
    # CONFIG_DEBUG is not set
    # CONFIG_TRACING is not set
    # CONFIG_STACK_USAGE is not set
    # CONFIG_STACK_SENTINEL is not set
    CONFIG_PRINTK=y
    CONFIG_EARLY_CONSOLE=y
    # CONFIG_ASSERT is not set
    # CONFIG_FORCE_NO_ASSERT is not set
    # CONFIG_OBJECT_TRACING is not set
    # CONFIG_OVERRIDE_FRAME_POINTER_DEFAULT is not set
    # CONFIG_DEBUG_INFO is not set
    # CONFIG_OPENOCD_SUPPORT is not set
    # CONFIG_TRACING_CPU_STATS is not set
    # CONFIG_TRACING_CTF is not set
    CONFIG_HAS_SEGGER_RTT=y
    # CONFIG_USE_SEGGER_RTT is not set
    
    #
    # Disk
    #
    # CONFIG_DISK_ACCESS is not set
    
    #
    # File Systems
    #
    # CONFIG_FILE_SYSTEM is not set
    # CONFIG_NVS is not set
    # CONFIG_LOG is not set
    
    #
    # Management
    #
    # CONFIG_MCUMGR_SMP_BT is not set
    # CONFIG_MCUMGR_SMP_SHELL is not set
    # CONFIG_MCUMGR_SMP_UART is not set
    
    #
    # Networking
    #
    CONFIG_NET_BUF=y
    CONFIG_NET_BUF_USER_DATA_SIZE=4
    # CONFIG_NET_BUF_LOG is not set
    # CONFIG_NET_BUF_POOL_USAGE is not set
    CONFIG_NETWORKING=y
    # CONFIG_NET_HOSTNAME_ENABLE is not set
    
    #
    # Link layer options
    #
    # CONFIG_NET_L2_DUMMY is not set
    # CONFIG_NET_L2_BT_SHELL is not set
    # CONFIG_NET_L2_ETHERNET is not set
    # CONFIG_NET_L2_WIFI_MGMT is not set
    # CONFIG_NET_L2_WIFI_SHELL is not set
    # CONFIG_NET_L2_CANBUS is not set
    
    #
    # IP stack
    #
    CONFIG_NET_RAW_MODE=y
    CONFIG_NET_PKT_RX_COUNT=4
    CONFIG_NET_PKT_TX_COUNT=4
    CONFIG_NET_BUF_RX_COUNT=16
    CONFIG_NET_BUF_TX_COUNT=16
    CONFIG_NET_BUF_FIXED_DATA_SIZE=y
    # CONFIG_NET_BUF_VARIABLE_DATA_SIZE is not set
    CONFIG_NET_BUF_DATA_SIZE=128
    CONFIG_NET_DEFAULT_IF_FIRST=y
    # CONFIG_NET_PKT_TIMESTAMP is not set
    # CONFIG_NET_PROMISCUOUS_MODE is not set
    
    #
    # Stack usage
    #
    CONFIG_NET_TX_STACK_SIZE=1200
    CONFIG_NET_RX_STACK_SIZE=1500
    # CONFIG_NET_MGMT is not set
    # CONFIG_NET_STATISTICS is not set
    # CONFIG_NET_OFFLOAD is not set
    # CONFIG_NET_LOG is not set
    CONFIG_NET_PKT_LOG_LEVEL=0
    # CONFIG_NET_DEBUG_NET_PKT_ALLOC is not set
    CONFIG_NET_DEBUG_NET_PKT_EXTERNALS=0
    # CONFIG_NET_DEBUG_NET_PKT_NON_FRAGILE_ACCESS is not set
    
    #
    # Network Protocols
    #
    # CONFIG_COAP is not set
    # CONFIG_DNS_RESOLVER is not set
    CONFIG_MQTT_LIB=y
    CONFIG_MQTT_LOG_LEVEL=0
    # CONFIG_MQTT_LIB_SOCKS is not set
    # CONFIG_HTTP_PARSER is not set
    # CONFIG_HTTP_PARSER_URL is not set
    # CONFIG_LWM2M is not set
    # CONFIG_SOCKS is not set
    # CONFIG_SNTP is not set
    
    #
    # Network Libraries
    #
    CONFIG_NET_CONFIG_AUTO_INIT=y
    CONFIG_NET_CONFIG_INIT_PRIO=95
    CONFIG_NET_CONFIG_INIT_TIMEOUT=30
    # CONFIG_NET_CONFIG_NEED_IPV6 is not set
    # CONFIG_NET_CONFIG_NEED_IPV4 is not set
    CONFIG_NET_CONFIG_LOG_LEVEL=0
    # CONFIG_NET_CONFIG_SETTINGS is not set
    CONFIG_NET_SOCKETS=y
    CONFIG_NET_SOCKETS_POSIX_NAMES=y
    CONFIG_NET_SOCKETS_POLL_MAX=3
    # CONFIG_NET_SOCKETS_SOCKOPT_TLS is not set
    CONFIG_NET_SOCKETS_OFFLOAD=y
    # CONFIG_NET_SOCKETS_CAN is not set
    CONFIG_NET_SOCKETS_LOG_LEVEL=0
    # CONFIG_TLS_CREDENTIALS is not set
    
    #
    # Shell Options
    #
    # CONFIG_SHELL is not set
    
    #
    # DFU options
    #
    # CONFIG_IMG_MANAGER is not set
    CONFIG_TEST_RANDOM_GENERATOR=y
    CONFIG_TIMER_RANDOM_GENERATOR=y
    
    #
    # Storage
    #
    
    #
    # Testing
    #
    # CONFIG_ZTEST is not set
    # CONFIG_TEST is not set
    # CONFIG_TEST_SHELL is not set
    CONFIG_TEST_EXTRA_STACKSIZE=0
    # CONFIG_CHARACTER_FRAMEBUFFER is not set
    # CONFIG_JWT is not set
    
    #
    # External Sources
    #
    
    #
    # HALs
    #
    CONFIG_HAS_CMSIS=y
    # CONFIG_LIBMETAL is not set
    # CONFIG_HAS_MEC_HAL is not set
    CONFIG_HAS_NRFX=y
    
    #
    # Cryptography
    #
    # CONFIG_TINYCRYPT is not set
    # CONFIG_MBEDTLS is not set
    # CONFIG_FNMATCH is not set
    # CONFIG_OPENAMP is not set
    CONFIG_OPENAMP_SRC_PATH="open-amp"
    
    #
    # Management
    #
    # CONFIG_MCUMGR is not set
    
    #
    # Build and Link Features
    #
    
    #
    # Linker Options
    #
    CONFIG_KERNEL=y
    # CONFIG_LINKER_ORPHAN_SECTION_PLACE is not set
    CONFIG_LINKER_ORPHAN_SECTION_WARN=y
    # CONFIG_LINKER_ORPHAN_SECTION_ERROR is not set
    # CONFIG_CODE_DATA_RELOCATION is not set
    CONFIG_HAS_FLASH_LOAD_OFFSET=y
    # CONFIG_USE_CODE_PARTITION is not set
    # CONFIG_HAVE_CUSTOM_LINKER_SCRIPT is not set
    # CONFIG_CUSTOM_RODATA_LD is not set
    # CONFIG_CUSTOM_RWDATA_LD is not set
    # CONFIG_CUSTOM_SECTIONS_LD is not set
    # CONFIG_LINK_WHOLE_ARCHIVE is not set
    CONFIG_KERNEL_ENTRY="__start"
    CONFIG_CHECK_LINK_MAP=y
    
    #
    # Compiler Options
    #
    # CONFIG_NATIVE_APPLICATION is not set
    CONFIG_SIZE_OPTIMIZATIONS=y
    # CONFIG_SPEED_OPTIMIZATIONS is not set
    # CONFIG_DEBUG_OPTIMIZATIONS is not set
    # CONFIG_NO_OPTIMIZATIONS is not set
    CONFIG_COMPILER_OPT=""
    
    #
    # Build Options
    #
    CONFIG_KERNEL_BIN_NAME="zephyr"
    CONFIG_OUTPUT_STAT=y
    CONFIG_OUTPUT_DISASSEMBLY=y
    CONFIG_OUTPUT_PRINT_MEMORY_USAGE=y
    CONFIG_BUILD_OUTPUT_BIN=y
    # CONFIG_BUILD_OUTPUT_EXE is not set
    # CONFIG_BUILD_OUTPUT_S19 is not set
    # CONFIG_BUILD_NO_GAP_FILL is not set
    # CONFIG_BUILD_OUTPUT_STRIPPED is not set
    # CONFIG_APPLICATION_DEFINED_SYSCALL is not set
    
    #
    # Boot Options
    #
    # CONFIG_IS_BOOTLOADER is not set
    # CONFIG_BOOTLOADER_MCUBOOT is not set
    # CONFIG_REBOOT is not set
    # CONFIG_MISRA_SANE is not set
    

    Also, using the ADC will cause exceptions unless you implement a fix like described here.

  • Thanks. I’m guessing ADC, SPM, and DK are the unrelated things? Other than those it doesn’t look like you’ve set anything that I haven’t.

Related