Skip to content

Commit

Permalink
doc: samples: lwm2m_carrier: Add overlay and doc for SoftBank and LG U+
Browse files Browse the repository at this point in the history
Add overlay and improve the Kconfigs and documentation to calrify the
extra configurations needed to successfully use SoftBank and/or LG U+.

Signed-off-by: Håvard Vermeer <havard.vermeer@nordicsemi.no>
  • Loading branch information
nordic-hani committed Nov 7, 2024
1 parent 40120ba commit 0efd366
Show file tree
Hide file tree
Showing 7 changed files with 122 additions and 4 deletions.
9 changes: 8 additions & 1 deletion applications/serial_lte_modem/doc/slm_description.rst
Original file line number Diff line number Diff line change
Expand Up @@ -309,7 +309,14 @@ The following configuration files are provided:
If you need to use native TLS with Thingy:91, you must disable features to free up flash memory.

* :file:`overlay-carrier.conf` - Configuration file that adds |NCS| :ref:`liblwm2m_carrier_readme` support.
See :ref:`slm_carrier_library_support` for more information on how to connect to an operator's device management platform.
See :ref:`slm_carrier_library_support` for more information on how to connect to an operator's device management platform.

* :file:`overlay-carrier-softbank.conf` Configuration file that adds SoftBank configurations for the carrier libray.
Used in conjunction with :file:`overlay-carrier.conf`.
For more information see the :ref:`lwm2m_carrier_dependent` section of the :ref:`liblwm2m_carrier_readme` documentation.
* :file:`overlay-carrier-lgu.conf` Configuration file that adds LG U+ configurations for the carrier libray.
Used in conjunction with :file:`overlay-carrier.conf`.
For more information see the :ref:`lwm2m_carrier_dependent` section of the :ref:`liblwm2m_carrier_readme` documentation.

* :file:`overlay-full_fota.conf` - Configuration file that adds full modem FOTA support.
See :ref:`SLM_AT_FOTA` for more information on how to use full modem FOTA functionality.
Expand Down
15 changes: 15 additions & 0 deletions applications/serial_lte_modem/overlay-carrier-lgu.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#
# Copyright (c) 2024 Nordic Semiconductor
#
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
#

# LG U+
CONFIG_LWM2M_CARRIER_LG_UPLUS=y

# Application FOTA
CONFIG_DFU_TARGET_MCUBOOT=y
CONFIG_IMG_MANAGER=y
CONFIG_STREAM_FLASH=y
CONFIG_STREAM_FLASH_ERASE=y
CONFIG_FLASH_MAP=y
23 changes: 23 additions & 0 deletions applications/serial_lte_modem/overlay-carrier-softbank.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#
# Copyright (c) 2024 Nordic Semiconductor
#
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
#

# SoftBank
CONFIG_LWM2M_CARRIER_SOFTBANK=y
CONFIG_LWM2M_CARRIER_SOFTBANK_DIVIDED_FOTA=y

# Override default PDP context
CONFIG_PDN_DEFAULTS_OVERRIDE=y
CONFIG_PDN_DEFAULT_FAM_NONIP=y

# Set NB-IoT system mode
CONFIG_LTE_NETWORK_MODE_NBIOT=y

# Application FOTA
CONFIG_DFU_TARGET_MCUBOOT=y
CONFIG_IMG_MANAGER=y
CONFIG_STREAM_FLASH=y
CONFIG_STREAM_FLASH_ERASE=y
CONFIG_FLASH_MAP=y
35 changes: 33 additions & 2 deletions doc/nrf/libraries/bin/lwm2m_carrier/requirements.rst
Original file line number Diff line number Diff line change
Expand Up @@ -35,12 +35,12 @@ Following are some of the requirements and limitations of the application while

* The LwM2M carrier library uses the TLS socket for FOTA.

* The application can still use one DTLS session and one TLS session (or two DTLS sessions).
* If the application is using the TLS socket, it must immediately close it when the :c:macro:`LWM2M_CARRIER_EVENT_FOTA_START` event is received.
* The socket is released by the library again upon the next reboot, or in the event of a FOTA error.
* If the application always needs a TLS socket, it can use `Mbed TLS`_.

* When in the Verizon network, the LwM2M carrier library uses both the DTLS sessions made available through the modem.
Therefore, the application cannot run any DTLS or TLS sessions.


* In other networks, the application can still use one DTLS session and one TLS session (or two DTLS sessions).
* For more information, see the :c:macro:`LWM2M_CARRIER_EVENT_FOTA_START` event in :ref:`lwm2m_events`.
Expand All @@ -58,6 +58,37 @@ Following are some of the requirements and limitations of the application while
* The LwM2M carrier library uses the following NVS record key range: ``0xCA00`` to ``0xCAFF``.
This range must not be used by the application.

.. _lwm2m_carrier_dependent:

Carrier Dependent
*****************

In order for your device to comply with the carrier's specifications, the following additional requirements apply to your application to use the carrier's LwM2M device management:

.. tabs::

.. group-tab:: Verizon

* When in the Verizon network, the LwM2M carrier library uses both the DTLS sessions made available through the modem.
Therefore, the application must expect to fail (or retry) if it attempts to establish a DTLS or TLS session.
The application should never use a DTLS session indefinetly. Since this will block the LwM2M carrier library.

.. group-tab:: SoftBank

* The application must support application FOTA.
* The device must connect using a non-ip APN.

The :ref:`lwm2m_carrier` sample folder features an extra config file to satisfy these :kconfig:option:`CONFIG_LWM2M_CARRIER_SOFTBANK` dependencies.

* The device must operate in the NB-IoT system mode.
If the ref:lte_lc_readme: library is used, the Kconfig :kconfig:option:`CONFIG_LTE_NETWORK_MODE_NBIOT` can be used.

.. group-tab:: LG U+

* The application must support application FOTA.
The :ref:`lwm2m_carrier` sample folder features an extra config file to satisfy these :kconfig:option:`CONFIG_LWM2M_CARRIER_LG_UPLUS` dependencies.
* The appplication must set the LG U+ specific configurations listed in :c:struct:`lwm2m_carrier_lg_uplus_config_t`.
If you are unsure about wich values to supply during certification, reach out to your carrier or your local Nordic Sales representative.

.. _lwm2m_lib_size:

Expand Down
15 changes: 15 additions & 0 deletions samples/cellular/lwm2m_carrier/overlay-lgu.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#
# Copyright (c) 2024 Nordic Semiconductor
#
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
#

# LG U+
CONFIG_LWM2M_CARRIER_LG_UPLUS=y

# Application FOTA
CONFIG_DFU_TARGET_MCUBOOT=y
CONFIG_IMG_MANAGER=y
CONFIG_STREAM_FLASH=y
CONFIG_STREAM_FLASH_ERASE=y
CONFIG_FLASH_MAP=y
23 changes: 23 additions & 0 deletions samples/cellular/lwm2m_carrier/overlay-softbank.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#
# Copyright (c) 2024 Nordic Semiconductor
#
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
#

# SoftBank
CONFIG_LWM2M_CARRIER_SOFTBANK=y
CONFIG_LWM2M_CARRIER_SOFTBANK_DIVIDED_FOTA=y

# Override default PDP context
CONFIG_PDN_DEFAULTS_OVERRIDE=y
CONFIG_PDN_DEFAULT_FAM_NONIP=y

# Set NB-IoT system mode
CONFIG_LTE_NETWORK_MODE_NBIOT=y

# Application FOTA
CONFIG_DFU_TARGET_MCUBOOT=y
CONFIG_IMG_MANAGER=y
CONFIG_STREAM_FLASH=y
CONFIG_STREAM_FLASH_ERASE=y
CONFIG_FLASH_MAP=y
6 changes: 5 additions & 1 deletion samples/cellular/lwm2m_carrier/sample_description.rst
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,10 @@ The following files are available:

* :file:`prj.conf` - Standard default configuration file.
* :file:`overlay-shell.conf` - Enables the :ref:`lwm2m_carrier_shell` and :ref:`lib_at_shell`.
* :file:`overlay-lgu.conf` Configuration file that adds LG U+ configurations for the carrier libray.
For more information see the :ref:`lwm2m_carrier_dependent` section of the :ref:`liblwm2m_carrier_readme` documentation.
* :file:`overlay-lgu.conf` - Enables configurations for LG U+.
For more information see the :ref:`lwm2m_carrier_dependent` section of the :ref:`liblwm2m_carrier_readme` documentation.

The sample can either be configured by editing the :file:`prj.conf` file and the relevant overlay files, or through menuconfig or guiconfig.

Expand All @@ -120,7 +124,7 @@ Building and running
Building with overlay
=====================

To build with a Kconfig overlay, set :makevar:`EXTRA_CONF_FILE` to the :file:`overlay-shell.conf` file using the respective :ref:`CMake option <cmake_options>`, as shown in the following example:
To build with a Kconfig overlay, set :makevar:`EXTRA_CONF_FILE` to the desired overlay file, using the respective :ref:`CMake option <cmake_options>`, as shown in the following example:

.. parsed-literal::
:class: highlight
Expand Down

0 comments on commit 0efd366

Please sign in to comment.