sdk v2.4.2
nRF9160 modem v1.3.5
DK v0.9.0
Hi,
I'm using the example lwm2m_client following the directions here: lwm2m_client/sample_description
I was able to connect to the Leshan and Coiote server without any problem.
Here is the LOG of the connection to leshan:
uart:~$ *** Booting Zephyr OS build v3.3.99-ncs1-1 ***
[00:00:00.002,899] <err> spi_nor: Device id 00 00 00 does not match config c2 28 17
*** Booting Zephyr OS build v3.3.99-ncs1-1 ***
[00:00:00.003,875] <dbg> net_lwm2m_engine: lwm2m_engine_init: LWM2M engine socket receive thread started
[00:00:00.003,967] <dbg> net_lwm2m_obj_security: security_create: Create LWM2M security instance: 0
[00:00:00.004,058] <dbg> net_lwm2m_obj_server: server_create: Create LWM2M server instance: 0
[00:00:00.004,180] <dbg> net_lwm2m_obj_device: device_create: Create LWM2M device instance: 0
[00:00:00.004,241] <dbg> net_lwm2m_obj_conn_mon: connmon_create: Create LWM2M connectivity monitoring instance: 0
[00:00:00.004,302] <dbg> net_lwm2m_obj_firmware: firmware_create: Create LWM2M firmware instance: 0
[00:00:00.004,699] <inf> app_lwm2m_client: Run LWM2M client
[00:00:00.239,593] <inf> app_lwm2m_client: Initializing modem.
[00:00:00.248,352] <inf> app_lwm2m_client: endpoint: urn:imei:352656100372633
[00:00:00.248,840] <dbg> net_lwm2m_registry: lwm2m_engine_set: path:0/0/2, buf:0x20020587, len:1
[00:00:00.248,870] <dbg> net_lwm2m_registry: lwm2m_engine_set: path:0/0/3, buf:0x2001a9d7, len:25
[00:00:00.248,962] <dbg> net_lwm2m_registry: lwm2m_engine_set: path:0/0/10, buf:0x200205de, len:2
[00:00:00.249,023] <dbg> net_lwm2m_registry: lwm2m_engine_set: path:1/0/0, buf:0x200205de, len:2
[00:00:00.249,084] <dbg> net_lwm2m_registry: lwm2m_engine_set: path:0/0/2, buf:0x200205c7, len:1
[00:00:00.249,114] <dbg> net_lwm2m_registry: lwm2m_engine_set: path:0/0/3, buf:0x2001a9d7, len:25
[00:00:00.249,206] <dbg> net_lwm2m_registry: lwm2m_engine_set: path:0/0/5, buf:0x20020600, len:16
[00:00:00.292,083] <inf> lwm2m_lte_notification: Registering ncell notification handler
[00:00:00.292,175] <inf> lwm2m_firmware: Image is confirmed OK
[00:00:00.298,889] <inf> app_lwm2m_client: PSM mode requested
[00:00:00.298,919] <inf> app_lwm2m_client: Connecting to network.
[00:00:00.298,950] <inf> app_lwm2m_client: This may take several minutes.
[00:00:02.598,541] <dbg> app_lwm2m_client: lwm2m_lte_reg_handler_notify: LTE NW status: 2
[00:00:02.598,602] <dbg> net_lwm2m_registry: lwm2m_engine_set: path:4/0/0, buf:0x20024d37, len:1
[00:00:04.692,596] <dbg> app_lwm2m_client: lwm2m_lte_reg_handler_notify: LTE NW status: 5
[00:00:04.693,542] <inf> app_lwm2m_client: Connected to LTE network
[00:00:04.693,572] <inf> app_lwm2m_client: Client connect to server
[00:00:04.693,634] <inf> net_lwm2m_rd_client: Start LWM2M Client: urn:imei:352656100372633
[00:00:04.693,664] <inf> app_lwm2m_client: LwM2M is connecting to server
[00:00:04.739,166] <dbg> net_lwm2m_registry: lwm2m_engine_set: path:4/0/4, buf:0x2001036a, len:14
[00:00:04.739,227] <dbg> net_lwm2m_registry: lwm2m_engine_set: path:4/0/7, buf:0x2001060a, len:16
[00:00:04.739,288] <dbg> net_lwm2m_registry: lwm2m_engine_set: path:3/0/3, buf:0x20010842, len:17
[00:00:04.739,318] <dbg> net_lwm2m_registry: lwm2m_engine_set: path:4/0/8, buf:0x20024ddc, len:4
[00:00:04.739,379] <dbg> net_lwm2m_registry: lwm2m_engine_set: path:4/0/9, buf:0x20024dde, len:2
[00:00:04.739,440] <dbg> net_lwm2m_registry: lwm2m_engine_set: path:4/0/10, buf:0x20024dde, len:2
[00:00:04.877,929] <dbg> net_lwm2m_registry: lwm2m_engine_set: path:4/0/2, buf:0x20024e27, len:1
[00:00:05.505,249] <dbg> net_lwm2m_registry: lwm2m_engine_get: path:0/0/1/0, level 3, buf:0x2001e677, buflen:1
[00:00:05.505,279] <dbg> net_lwm2m_registry: lwm2m_engine_get: path:0/0/10/0, level 3, buf:0x2001e6a6, buflen:2
[00:00:05.505,310] <dbg> net_lwm2m_registry: lwm2m_engine_get: path:1/0/1/0, level 3, buf:0x2001e660, buflen:4
[00:00:05.505,401] <inf> net_lwm2m_rd_client: RD Client started with endpoint 'urn:imei:352656100372633' with client lifetime 43200
[00:00:05.505,462] <dbg> net_lwm2m_message_handling: lwm2m_parse_peerinfo: Parse url: coaps://leshan.eclipseprojects.io:5684
[00:00:05.650,360] <dbg> net_lwm2m_registry: lwm2m_engine_get: path:0/0/2/0, level 3, buf:0x2001e5f3, buflen:1
[00:00:05.732,757] <dbg> net_lwm2m_registry: lwm2m_engine_get: path:0/0/2/0, level 3, buf:0x2001e5bb, buflen:1
[00:00:05.732,818] <inf> lwm2m_security: Need to write credentials, requesting LTE and GNSS offline...
[00:00:05.809,906] <dbg> app_lwm2m_client: lwm2m_lte_reg_handler_notify: LTE NW status: 0
[00:00:05.810,058] <inf> app_lwm2m_client: LwM2M is connecting to server
[00:00:07.553,192] <inf> lwm2m_security: Requesting LTE and GNSS online
[00:00:08.510,467] <dbg> app_lwm2m_client: lwm2m_lte_reg_handler_notify: LTE NW status: 2
[00:00:08.510,528] <dbg> net_lwm2m_registry: lwm2m_engine_set: path:4/0/0, buf:0x20024d37, len:1
[00:00:10.210,571] <inf> lwm2m_security: Modem connection restored
[00:00:10.211,059] <dbg> app_lwm2m_client: lwm2m_lte_reg_handler_notify: LTE NW status: 5
[00:00:10.211,425] <inf> app_lwm2m_client: LwM2M is connecting to server
[00:00:10.473,815] <dbg> net_lwm2m_registry: lwm2m_engine_set: path:4/0/4, buf:0x2001036a, len:13
[00:00:10.473,876] <dbg> net_lwm2m_registry: lwm2m_engine_set: path:4/0/7, buf:0x2001060a, len:16
[00:00:10.473,937] <dbg> net_lwm2m_registry: lwm2m_engine_set: path:3/0/3, buf:0x20010842, len:17
[00:00:10.473,968] <dbg> net_lwm2m_registry: lwm2m_engine_set: path:4/0/8, buf:0x20024ddc, len:4
[00:00:10.474,029] <dbg> net_lwm2m_registry: lwm2m_engine_set: path:4/0/9, buf:0x20024dde, len:2
[00:00:10.474,060] <dbg> net_lwm2m_registry: lwm2m_engine_set: path:4/0/10, buf:0x20024dde, len:2
[00:00:10.699,768] <inf> net_lwm2m_engine: Connected, sock id 0
[00:00:10.700,439] <dbg> net_lwm2m_registry: lwm2m_engine_get: path:1/0/1/0, level 3, buf:0x2001e610, buflen:4
[00:00:10.700,836] <dbg> net_lwm2m_rd_client: sm_send_registration: registration sent [23.97.187.154]
[00:00:10.868,774] <dbg> net_lwm2m_rd_client: do_registration_reply_cb: Registration callback (code:2.1)
[00:00:10.868,835] <dbg> app_lwm2m_client: rd_client_event: Registration complete
[00:00:10.868,896] <inf> net_lwm2m_rd_client: Registration Done (EP='uiToh6tySZ')
[00:00:10.869,079] <dbg> net_lwm2m_message_handling: lwm2m_udp_receive: reply 0x20010dd0 handled and removed
[00:00:10.869,232] <inf> app_lwm2m_client: LwM2M is connected to server
[00:00:10.869,262] <dbg> net_lwm2m_registry: lwm2m_engine_get: path:1/0/1/0, level 3, buf:0x20020644, buflen:4
[00:00:10.869,323] <inf> app_lwm2m_client: Obtained date-time from modem
[00:00:10.869,384] <dbg> net_lwm2m_registry: lwm2m_engine_set: path:3/0/13, buf:0x2001ecec, len:4
[00:00:40.713,684] <dbg> app_lwm2m_client: rd_client_event: Queue mode RX window closed
uart:~$
After changing the .conf file to support bootstrap, I can't get it to bootstrap in either Leshan or Coiote...
I just added the contents of overlay-xxxxx-bootstrap.conf (line 92-96)
This is the .conf file:
# General config
CONFIG_NEWLIB_LIBC=y
CONFIG_ASSERT=y
CONFIG_REBOOT=y
# Network
CONFIG_NETWORKING=y
CONFIG_NET_NATIVE=n
CONFIG_NET_IPV6=n
CONFIG_NET_IPV4=y
CONFIG_NET_SOCKETS=y
CONFIG_NET_SOCKETS_OFFLOAD=y
# Sensors
CONFIG_I2C=y
CONFIG_SPI=y
CONFIG_SENSOR=y
# LwM2M and IPSO
CONFIG_LWM2M=y
CONFIG_LWM2M_COAP_BLOCK_SIZE=512
CONFIG_LWM2M_COAP_MAX_MSG_SIZE=1280
CONFIG_LWM2M_ENGINE_MAX_OBSERVER=15
CONFIG_LWM2M_ENGINE_MAX_MESSAGES=15
CONFIG_LWM2M_ENGINE_MAX_PENDING=15
CONFIG_LWM2M_ENGINE_MAX_REPLIES=15
CONFIG_LWM2M_DNS_SUPPORT=y
CONFIG_LWM2M_RW_JSON_SUPPORT=n
CONFIG_LWM2M_SERVER_DEFAULT_PMIN=1
CONFIG_LWM2M_SERVER_DEFAULT_PMAX=300
CONFIG_LWM2M_CLIENT_UTILS=y
CONFIG_LWM2M_CLIENT_UTILS_LOCATION_OBJ_SUPPORT=n
CONFIG_LWM2M_IPSO_SUPPORT=y
# DTLS settings
CONFIG_LWM2M_DTLS_SUPPORT=y
# nRF9160 helper libraries
CONFIG_MODEM_KEY_MGMT=y
# Default app to debug logging
CONFIG_LOG=y
CONFIG_APP_LOG_LEVEL_DBG=y
# Support HEX style PSK values (double the size + NULL char)
CONFIG_LWM2M_SECURITY_KEY_SIZE=33
# extend CoAP retry timing to 4 seconds for LTE/LTE-M
CONFIG_COAP_INIT_ACK_TIMEOUT_MS=4000
# Enable CoAP extended option length
CONFIG_COAP_EXTENDED_OPTIONS_LEN=y
CONFIG_COAP_EXTENDED_OPTIONS_LEN_VALUE=40
# Enable settings storage
CONFIG_SETTINGS=y
CONFIG_FCB=y
CONFIG_SETTINGS_FCB=y
CONFIG_FLASH_MAP=y
CONFIG_STREAM_FLASH=y
# LTE link control
CONFIG_LTE_LINK_CONTROL=y
CONFIG_LTE_NETWORK_MODE_LTE_M_GPS=y
# Modem library
CONFIG_NRF_MODEM_LIB=y
# Modem info
CONFIG_MODEM_INFO=y
CONFIG_MODEM_INFO_ADD_DATE_TIME=n
# Enable shell
CONFIG_LWM2M_SHELL=y
# Heap and stacks
CONFIG_HEAP_MEM_POOL_SIZE=16384
CONFIG_MAIN_STACK_SIZE=4096
CONFIG_LWM2M_ENGINE_STACK_SIZE=3072
CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=2048
# Allow FOTA downloads using download-client
CONFIG_DOWNLOAD_CLIENT=y
CONFIG_DOWNLOAD_CLIENT_STACK_SIZE=4096
CONFIG_DOWNLOAD_CLIENT_HTTP_FRAG_SIZE_1024=y
CONFIG_FOTA_DOWNLOAD=y
# Application version
CONFIG_MCUBOOT_IMAGE_VERSION="1.0.0"
# Set LwM2M Server IP address here
CONFIG_LWM2M_LOG_LEVEL_DBG=y
CONFIG_LWM2M_RD_CLIENT_SUPPORT_BOOTSTRAP=y
CONFIG_LWM2M_CLIENT_UTILS_SERVER="coaps://leshan.eclipseprojects.io:5784"
# CONFIG_LWM2M_CLIENT_UTILS_SERVER="coaps://eu.iot.avsystem.cloud:5694"
# CONFIG_LWM2M_SECURITY_INSTANCE_COUNT=3
# Application Event Manager
CONFIG_APP_EVENT_MANAGER=y
# Date-Time library
CONFIG_DATE_TIME=y
CONFIG_DATE_TIME_UPDATE_INTERVAL_SECONDS=86400
# Enable LwM2M Queue Mode
CONFIG_LWM2M_QUEUE_MODE_ENABLED=y
# Enable TLS session caching to prevent doing a full TLS handshake for every send.
CONFIG_LWM2M_TLS_SESSION_CACHING=y
# Socket close is skipped at RX off idle state which optimize power consumption
# Socket close call will enable RCC connection for send Alert message to server
# Alert is now send right before opening a new connection.
CONFIG_LWM2M_RD_CLIENT_SUSPEND_SOCKET_AT_IDLE=y
# Sets the duration that the lwm2m engine will be polling for data after transmission before
# the socket is closed.
# Adjust so that we can detach from network in 30 seconds
CONFIG_LWM2M_QUEUE_MODE_UPTIME=30
# Set lifetime of 12 hours
CONFIG_LWM2M_ENGINE_DEFAULT_LIFETIME=43200
# Do registration update after 5400 seconds (90 minutes)
CONFIG_LWM2M_SECONDS_TO_UPDATE_EARLY=37800
# Configure PSM mode
# Request periodic TAU of 3600 seconds (60 minutes)
CONFIG_LTE_PSM_REQ_RPTAU="00000110"
# Set Requested Active Time (RAT) to 30 seconds. Preferably a little bit longer than the
# configured LWM2M_QUEUE_MODE_UPTIME. Due to NAT/firewall UDP connections are usually
# closed within 30-60 seconds so there is in general no point in setting a longer
# Queue mode uptime / LTE PSM active time.
CONFIG_LTE_PSM_REQ_RAT="00001111"
# Request eDRX mode
CONFIG_LTE_EDRX_REQ=y
# Request eDRX cycle length of 10.24 seconds for LTE-M
CONFIG_LTE_EDRX_REQ_VALUE_LTE_M="0001"
# Request eDRX cycle length of 20.48 seconds for NB-IoT
CONFIG_LTE_EDRX_REQ_VALUE_NBIOT="0010"
# Request Paging time window of 1.28 seconds for LTE-M
CONFIG_LTE_PTW_VALUE_LTE_M="0000"
# Request Paging time window of 2.56 seconds for NB-IoT
CONFIG_LTE_PTW_VALUE_NBIOT="0000"
# Get notification before Tracking Area Update (TAU). Notification triggers registration
# update and TAU will be sent with the update which decreases power consumption.
CONFIG_LTE_LC_TAU_PRE_WARNING_NOTIFICATIONS=y
and the LOG of the connection to Leshan's bootstrap:
*** Booting Zephyr OS build v3.3.99-ncs1-1 ***
[00:00:00.003,082] <err> spi_nor: Device id 00 00 00 does not match config c2 28 17
*** Booting Zephyr OS build v3.3.99-ncs1-1 ***
[00:00:00.004,119] <dbg> net_lwm2m_engine: lwm2m_engine_init: LWM2M engine socket receive thread started
[00:00:00.004,241] <dbg> net_lwm2m_obj_security: security_create: Create LWM2M security instance: 0
[00:00:00.004,364] <dbg> net_lwm2m_obj_device: device_create: Create LWM2M device instance: 0
[00:00:00.004,425] <dbg> net_lwm2m_obj_conn_mon: connmon_create: Create LWM2M connectivity monitoring instance: 0
[00:00:00.004,486] <dbg> net_lwm2m_obj_firmware: firmware_create: Create LWM2M firmware instance: 0
[00:00:00.004,913] <inf> app_lwm2m_client: Run LWM2M client
[00:00:00.240,081] <inf> app_lwm2m_client: Initializing modem.
[00:00:00.248,687] <inf> app_lwm2m_client: endpoint: urn:imei:352656100372633
[00:00:00.249,389] <dbg> net_lwm2m_registry: lwm2m_engine_set: path:0/0/2, buf:0x20020adf, len:1
[00:00:00.249,420] <dbg> net_lwm2m_registry: lwm2m_engine_set: path:0/0/3, buf:0x2001ad7b, len:25
[00:00:00.249,542] <dbg> net_lwm2m_registry: lwm2m_engine_set: path:0/0/1, buf:0x20020b37, len:1
[00:00:00.249,603] <dbg> net_lwm2m_registry: lwm2m_engine_set: path:0/0/2, buf:0x20020b37, len:1
[00:00:00.249,633] <dbg> net_lwm2m_registry: lwm2m_engine_set: path:0/0/3, buf:0x2001ad7b, len:25
[00:00:00.249,725] <dbg> net_lwm2m_registry: lwm2m_engine_set: path:0/0/5, buf:0x20020b70, len:16
[00:00:00.292,297] <inf> lwm2m_lte_notification: Registering ncell notification handler
[00:00:00.292,388] <inf> lwm2m_firmware: Image is confirmed OK
[00:00:00.298,919] <inf> app_lwm2m_client: PSM mode requested
[00:00:00.298,980] <inf> app_lwm2m_client: Connecting to network.
[00:00:00.298,980] <inf> app_lwm2m_client: This may take several minutes.
[00:00:03.013,702] <dbg> app_lwm2m_client: lwm2m_lte_reg_handler_notify: LTE NW status: 2
[00:00:03.013,763] <dbg> net_lwm2m_registry: lwm2m_engine_set: path:4/0/0, buf:0x200252a7, len:1
[00:00:05.346,740] <dbg> app_lwm2m_client: lwm2m_lte_reg_handler_notify: LTE NW status: 5
[00:00:05.347,686] <inf> app_lwm2m_client: Connected to LTE network
[00:00:05.347,717] <inf> app_lwm2m_client: Client connect to server
[00:00:05.347,778] <inf> net_lwm2m_rd_client: Start LWM2M Client: urn:imei:352656100372633
[00:00:05.347,839] <inf> app_lwm2m_client: LwM2M is connecting to server
[00:00:05.385,589] <dbg> net_lwm2m_registry: lwm2m_engine_set: path:4/0/4, buf:0x20010382, len:14
[00:00:05.385,650] <dbg> net_lwm2m_registry: lwm2m_engine_set: path:4/0/7, buf:0x20010622, len:16
[00:00:05.385,711] <dbg> net_lwm2m_registry: lwm2m_engine_set: path:3/0/3, buf:0x2001085a, len:17
[00:00:05.385,742] <dbg> net_lwm2m_registry: lwm2m_engine_set: path:4/0/8, buf:0x2002534c, len:4
[00:00:05.385,803] <dbg> net_lwm2m_registry: lwm2m_engine_set: path:4/0/9, buf:0x2002534e, len:2
[00:00:05.385,864] <dbg> net_lwm2m_registry: lwm2m_engine_set: path:4/0/10, buf:0x2002534e, len:2
[00:00:05.491,149] <dbg> net_lwm2m_registry: lwm2m_engine_set: path:4/0/2, buf:0x20025397, len:1
[00:00:06.005,554] <dbg> net_lwm2m_registry: lwm2m_engine_get: path:0/0/1/0, level 3, buf:0x2001ebb7, buflen:1
[00:00:06.005,615] <inf> net_lwm2m_rd_client: Bootstrap started with endpoint 'urn:imei:352656100372633' with client lifetime 0
[00:00:06.005,676] <dbg> net_lwm2m_message_handling: lwm2m_parse_peerinfo: Parse url: coaps://leshan.eclipseprojects.io:5784
[00:00:06.223,327] <dbg> net_lwm2m_registry: lwm2m_engine_get: path:0/0/2/0, level 3, buf:0x2001eb6b, buflen:1
[00:00:06.305,786] <dbg> net_lwm2m_registry: lwm2m_engine_get: path:0/0/2/0, level 3, buf:0x2001eb33, buflen:1
[00:01:05.822,814] <dbg> net_lwm2m_registry: lwm2m_engine_set: path:4/0/2, buf:0x20025397, len:1
[00:02:10.365,570] <err> net_lwm2m_engine: Cannot connect UDP (-116)
[00:02:10.366,546] <err> net_lwm2m_rd_client: Cannot init LWM2M engine (-116)
[00:02:11.366,821] <dbg> net_lwm2m_registry: lwm2m_engine_get: path:0/0/1/0, level 3, buf:0x2001ebb7, buflen:1
[00:02:11.366,882] <inf> net_lwm2m_rd_client: Bootstrap started with endpoint 'urn:imei:352656100372633' with client lifetime 0
[00:02:11.367,004] <dbg> net_lwm2m_message_handling: lwm2m_parse_peerinfo: Parse url: coaps://leshan.eclipseprojects.io:5784
[00:02:11.375,946] <dbg> net_lwm2m_registry: lwm2m_engine_get: path:0/0/2/0, level 3, buf:0x2001eb6b, buflen:1
[00:02:11.447,875] <dbg> net_lwm2m_registry: lwm2m_engine_get: path:0/0/2/0, level 3, buf:0x2001eb33, buflen:1
[00:02:27.707,122] <dbg> net_lwm2m_registry: lwm2m_engine_set: path:4/0/2, buf:0x20025397, len:1
[00:03:39.424,926] <dbg> net_lwm2m_registry: lwm2m_engine_set: path:4/0/2, buf:0x20025397, len:1
[00:04:15.792,480] <err> net_lwm2m_engine: Cannot connect UDP (-116)
[00:04:15.793,457] <err> net_lwm2m_rd_client: Cannot init LWM2M engine (-116)
[00:04:17.293,884] <dbg> net_lwm2m_registry: lwm2m_engine_get: path:0/0/1/0, level 3, buf:0x2001ebb7, buflen:1
[00:04:17.293,945] <inf> net_lwm2m_rd_client: Bootstrap started with endpoint 'urn:imei:352656100372633' with client lifetime 0
[00:04:17.294,036] <dbg> net_lwm2m_message_handling: lwm2m_parse_peerinfo: Parse url: coaps://leshan.eclipseprojects.io:5784
[00:04:17.302,978] <dbg> net_lwm2m_registry: lwm2m_engine_get: path:0/0/2/0, level 3, buf:0x2001eb6b, buflen:1
[00:04:17.374,938] <dbg> net_lwm2m_registry: lwm2m_engine_get: path:0/0/2/0, level 3, buf:0x2001eb33, buflen:1
[00:04:39.740,936] <dbg> net_lwm2m_registry: lwm2m_engine_set: path:4/0/2, buf:0x20025397, len:1
uart:~$
on both connections gives the error:
[00:04:15.792,480] <err> net_lwm2m_engine: Cannot connect UDP (-116)
[00:04:15.793,457] <err> net_lwm2m_rd_client: Cannot init LWM2M engine (-116)
What am I doing wrong? Do you have any idea?
Thank you for your help!
Regards,
Ricardo




