diff --git a/doc/links.txt b/doc/links.txt index f86000c355..9af32e366d 100644 --- a/doc/links.txt +++ b/doc/links.txt @@ -15,6 +15,8 @@ .. _`nRF9160 AT Commands Reference Guide`: https://infocenter.nordicsemi.com/topic/ref_at_commands/REF/at_commands/intro.html +.. _`nRF91x1 AT Commands Reference Guide`: https://www.nordicsemi.com/-/media/Software-and-other-downloads/SiP/nRF91x1-SiP/v0.8-nRF91x1_CIoT_and_Positioning-AT-Commands-reference-guide.pdf + .. _`Selecting UICC slot %CSUS`: https://infocenter.nordicsemi.com/index.jsp?topic=%2Fref_at_commands%2FREF%2Fat_commands%2Faccess_uicc%2Fcsus.html .. _`Credential storage management %CMNG`: https://infocenter.nordicsemi.com/topic/ref_at_commands/REF/at_commands/mob_termination_ctrl_status/cmng.html @@ -38,9 +40,9 @@ .. _`Zigbee CIDs for nRF52840`: https://infocenter.nordicsemi.com/topic/comp_matrix_nrf52840/COMP/nrf52840/nrf52840_zigbee_cids.html .. _`Zigbee CIDs for nRF52833`: https://infocenter.nordicsemi.com/topic/comp_matrix_nrf52833/COMP/nrf52833/nrf52833_zigbee_cids.html -.. _`nRF9160 modem Packet Domain AT commands`: https://infocenter.nordicsemi.com/topic/ref_at_commands/REF/at_commands/packet_domain/packet_domain.html +.. _`Packet domain commands`: https://infocenter.nordicsemi.com/topic/ref_at_commands/REF/at_commands/packet_domain/packet_domain.html -.. _`%XMODEMTRACE AT command documentation`: https://infocenter.nordicsemi.com/topic/ref_at_commands/REF/at_commands/mob_termination_ctrl_status/xmodemtrace.html +.. _`Modem trace activation %XMODEMTRACE`: https://infocenter.nordicsemi.com/topic/ref_at_commands/REF/at_commands/mob_termination_ctrl_status/xmodemtrace.html .. _`nRF Connect Serial Terminal`: https://infocenter.nordicsemi.com/topic/ug_serial_terminal/UG/serial_terminal/intro.html @@ -50,8 +52,12 @@ .. _`nRF9160 modem firmware zip file`: https://www.nordicsemi.com/Products/Low-power-cellular-IoT/nRF9160/Download#0B34B59935AF4AFCB7AB93E9646C1F53 +.. _`nRF91x1 LTE firmware zip file`: https://www.nordicsemi.com/Products/nRF9161/Download#636701B052474E5A8EB903C56678D26E + .. _`nRF9160 modem TLS cipher suites`: https://www.nordicsemi.com/Products/Low-power-cellular-IoT/nRF9160/Download#infotabs +.. _`nRF91x1 modem TLS cipher suites`: https://www.nordicsemi.com/Products/nRF9161/Download?lang=en#infotabs + .. ### Source: wikipedia .. _`Global navigation satellite system (GNSS)`: https://en.wikipedia.org/wiki/Satellite_navigation diff --git a/nrf_modem/README.rst b/nrf_modem/README.rst index 177660bab8..25b1afc3db 100644 --- a/nrf_modem/README.rst +++ b/nrf_modem/README.rst @@ -3,7 +3,7 @@ Modem library ############# -The Modem library is the primary interface for operating the nRF9160 modem, establishing the LTE-M and NB-IoT connections, and receiving the position data (GPS). +The Modem library is the primary interface for operating the nRF91 Series modem, establishing the LTE-M and NB-IoT connections, and receiving the position data (GPS). The library aims to be compatible with the POSIX socket APIs to simplify writing and porting of existing networking applications. To get started with socket programming, you can check out some introductions and tutorials, such as `Beej's Guide to Network Programming`_. diff --git a/nrf_modem/doc/architecture.rst b/nrf_modem/doc/architecture.rst index 8196f19ab3..4d84dee4c4 100644 --- a/nrf_modem/doc/architecture.rst +++ b/nrf_modem/doc/architecture.rst @@ -7,7 +7,7 @@ Library architecture :local: :depth: 2 -The library implements a communication interface between the Application and Modem cores on the nRF9160 through the RPC protocol, using the Inter Processor Communication (IPC) peripheral and a shared region of RAM. +The library implements a communication interface between the application and modem cores on the nRF91 Series through the RPC protocol, using the Inter Processor Communication (IPC) peripheral and a shared region of RAM. The following figure shows a simplified Modem library architecture: diff --git a/nrf_modem/doc/at_interface.rst b/nrf_modem/doc/at_interface.rst index 21e437e205..392993f09f 100644 --- a/nrf_modem/doc/at_interface.rst +++ b/nrf_modem/doc/at_interface.rst @@ -13,7 +13,7 @@ AT commands *********** AT commands are essentially a set of modem instructions that are used to configure the modem, establish a network connection (or in general, execute operations), and retrieve modem and connection status information. -For the full set of supported AT commands, see the `nRF9160 AT Commands Reference Guide`_. +For the full set of supported AT commands, see the `nRF91x1 AT Commands Reference Guide`_ or `nRF9160 AT Commands Reference Guide`_ depending on the SiP you are using. Initialization ************** diff --git a/nrf_modem/doc/delta_dfu.rst b/nrf_modem/doc/delta_dfu.rst index 11735fb331..78842a5398 100644 --- a/nrf_modem/doc/delta_dfu.rst +++ b/nrf_modem/doc/delta_dfu.rst @@ -22,7 +22,7 @@ Delta update packages A delta update is a binary file, with a :file:`.bin` extension. The update file is named in such a way that both the source and destination firmware versions can be identified, for example, :file:`mfw_nrf9160_update_from_1.2.2_to_1.2.3`. -Modem delta update files are part of the official modem releases and can be found in the `nRF9160 modem firmware zip file`_. +Modem delta update files are part of the official modem releases and can be found in the `nRF9160 modem firmware zip file`_ or `nRF91x1 LTE firmware zip file`_ depending on the SiP you are using. .. note:: Delta update files might not be available for any two of the modem firmware versions but only for specific versions, as applicable. @@ -35,13 +35,13 @@ The size of the scratch area can be retrieved with the :c:func:`nrf_modem_delta_ A limitation of delta updates is that the size of the update must not exceed the area of flash memory that a given modem firmware version has dedicated for this operation. The size of this area varies for any given modem firmware version and it can be retrieved with the Modem library's :c:func:`nrf_modem_delta_dfu_area` function. In general, this function can be useful when the size of the largest delta update that can be received needs to be reported to an external service, for example an LwM2M server. -In practice, the application does not use this function in the normal update process, since all delta update files that are part of the `nRF9160 modem firmware zip file`_ are guaranteed to fit in the scratch area of the modem firmware version that they apply to. +In practice, the application does not use this function in the normal update process, since all delta update files that are part of the `nRF9160 modem firmware zip file`_ or `nRF91x1 LTE firmware zip file`_ are guaranteed to fit in the scratch area of the modem firmware version that they apply to. Reading the modem firmware UUID ******************************* A modem firmware UUID is a unique identifier for a modem firmware version build. -The modem firmware UUID for given firmware version is found in the :file:`README.txt` file of the `nRF9160 modem firmware zip file`_, and can also be retrieved by using the :c:func:`nrf_modem_delta_dfu_uuid` function. +The modem firmware UUID for given firmware version is found in the :file:`README.txt` file of the `nRF9160 modem firmware zip file`_ or `nRF91x1 LTE firmware zip file`_ depending on the SiP you are using, and can also be retrieved by using the :c:func:`nrf_modem_delta_dfu_uuid` function. Features ******** @@ -51,7 +51,7 @@ Following are the features of modem firmware delta updates. Security ======== -Modem firmware delta updates implement security features to ensure that only firmware updates from `nRF9160 modem firmware zip file`_ are ever programmed to the modem. +Modem firmware delta updates implement security features to ensure that only firmware updates from the `nRF9160 modem firmware zip file`_ or `nRF91x1 LTE firmware zip file`_ are ever programmed to the modem. Delta update files are encrypted and signed. The modem takes care of verifying the signature and decrypting the content as necessary. diff --git a/nrf_modem/doc/fault_handling.rst b/nrf_modem/doc/fault_handling.rst index 804042bc28..65a40589d2 100644 --- a/nrf_modem/doc/fault_handling.rst +++ b/nrf_modem/doc/fault_handling.rst @@ -7,8 +7,8 @@ Modem fault handling :local: :depth: 2 -The application core and the modem core are separate cores on the nRF9160 SiP. -When the modem core on the nRF9160 SiP crashes, it sends a fault signal to the application core. +The application core and the modem core are separate cores on the nRF91 Series SiPs. +When the modem core on an nRF91 Series SiP crashes, it sends a fault signal to the application core. Detecting a fault ***************** diff --git a/nrf_modem/doc/gnss_interface.rst b/nrf_modem/doc/gnss_interface.rst index fd44f85205..fb6248d8df 100644 --- a/nrf_modem/doc/gnss_interface.rst +++ b/nrf_modem/doc/gnss_interface.rst @@ -478,7 +478,7 @@ A-GNSS data *********** You can use GNSS assistance data to shorten TTFF and decrease GNSS power consumption. -See :ref:`lib_nrf_cloud_agps` and :ref:`lib_nrf_cloud_pgps` for information how to obtain assistance data from :ref:`lib_nrf_cloud` to be used with the nRF9160 SiP. +See :ref:`lib_nrf_cloud_agps` and :ref:`lib_nrf_cloud_pgps` for information how to obtain assistance data from :ref:`lib_nrf_cloud` to be used with the nRF91 Series SiPs. .. _gnss_int_assistance_need: diff --git a/nrf_modem/doc/images/nrf_modem_architecture.svg b/nrf_modem/doc/images/nrf_modem_architecture.svg index b7f4d9bb69..aca0949dd0 100644 --- a/nrf_modem/doc/images/nrf_modem_architecture.svg +++ b/nrf_modem/doc/images/nrf_modem_architecture.svg @@ -2,31 +2,30 @@ + xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="7.68526in" height="4.32633in" + viewBox="0 0 553.339 311.496" xml:space="preserve" color-interpolation-filters="sRGB" class="st18"> @@ -34,19 +33,19 @@ - - - - @@ -56,184 +55,176 @@ - - Rectangle.10 - - - - - - - + Nordic Blueslate - + - + Nordic Sky.65 - + - + Nordic Blue.94 Application / RTOS - - - Application / RTOS - + + + Application / RTOS + Nordic Blueslate.97 nrf_modem_at - - nrf_modem_at - + + nrf_modem_at + Nordic Blueslate.98 nrf_modem_gnss - - nrf_modem_gnss - + + nrf_modem_gnss + Nordic Blueslate.99 nrf_modem_delta_dfu - - nrf_modem_delta_dfu - + + nrf_modem_delta_dfu + Nordic Blueslate.100 nrf_modem - - nrf_modem - + + nrf_modem + Nordic Blueslate.101 nrf_modem_full_dfu - - nrf_modem_full_dfu - + + nrf_modem_full_dfu + Nordic Blueslate.115 nrf_socket - - nrf_socket - + + nrf_socket + Nordic Sky nrf_modem_os - - nrf_modem_os - + + nrf_modem_os + Task - + Dynamic connector - + - + Sheet.131 Task - - Task + + Task - + Nordic Sky.135 IP Stack - - IP Stack - + + IP Stack + Nordic Sky.136 GNSS Stack - - GNSS Stack - + + GNSS Stack + Nordic Sky.137 AT commands - - AT commands - + + AT commands + Dynamic connector.181 - + - + Dynamic connector.182 - + - + Dynamic connector.184 - + - + Dynamic connector.185 - + - + Nordic Sky.187 Full updates - - Full updates - + + Full updates + Nordic Sky.188 Delta updates - - Delta updates - + + Delta updates + Nordic Blueslate.189 nrf_modem_softsim - - nrf_modem_softsim - + + nrf_modem_softsim + Rectangle.193 - nRF9160 modem firmware + nRF91 Series modem firmware - - - nRF9160 modem firmware - + + + nRF91 Series modem firmware + Dynamic connector - + - + Nordic Blueslate.196 SoftSIM - - SoftSIM - + + SoftSIM + Dynamic connector.197 - + - + Dynamic connector.198 - + - + Rectangle.1000 Modem library - - Modem library + + Modem library diff --git a/nrf_modem/doc/limitations.rst b/nrf_modem/doc/limitations.rst index ac4368e1c4..4476e813e6 100644 --- a/nrf_modem/doc/limitations.rst +++ b/nrf_modem/doc/limitations.rst @@ -5,4 +5,4 @@ Limitations For a detailed description of limitations related to the modem firmware used, including supported cipher suites for TLS/DTLS, refer to the changelog of that specific version. -The changelog is distributed as part of the `nRF9160 modem firmware zip file`_. +The changelog can be found in the found in the `nRF9160 modem firmware zip file`_ or `nRF91x1 LTE firmware zip file`_ depending on the SiP you are using. diff --git a/nrf_modem/doc/modem_trace.rst b/nrf_modem/doc/modem_trace.rst index 0cdd5ddf66..f81c336385 100644 --- a/nrf_modem/doc/modem_trace.rst +++ b/nrf_modem/doc/modem_trace.rst @@ -13,7 +13,7 @@ Enabling modem traces To enable traces the application must initialize the Modem library with a non-zero trace region size. The trace output from the modem can be toggled at runtime using the AT command ``%XMODEMTRACE``, which can also be used to change the trace output level. -See the AT command documentation `%XMODEMTRACE AT command documentation`_ for further information. +For more information, see the `Modem trace activation %XMODEMTRACE`_ section in the nRF9160 AT Commands Reference Guide or the same section in the `nRF91x1 AT Commands Reference Guide`_ depending on the SiP you are using. In the |NCS|, the :ref:`nrf_modem_lib_readme` offers a dedicated function to simplify the task of enabling and disabling the trace output, and setting the trace level. diff --git a/nrf_modem/doc/sockets.rst b/nrf_modem/doc/sockets.rst index 1edfb47d46..c4eb8ef213 100644 --- a/nrf_modem/doc/sockets.rst +++ b/nrf_modem/doc/sockets.rst @@ -9,7 +9,7 @@ Networking sockets The Modem library offers an implementation of a subset of the POSIX networking sockets API. -This API allows you to reuse existing programming experience and port existing simple networking applications to the nRF9160. +This API allows you to reuse existing programming experience and port existing simple networking applications to nRF91 Series devices. The implementation is namespaced (``nrf_``) to avoid conflicts with functions that might be part of libc or other POSIX compatibility libraries. Following is a list of supported functions: @@ -155,7 +155,7 @@ NRF_SO_EXCEPTIONAL_DATA The feature requires network support. Before using this socket option, the PDN associated with the socket must be configured to allow exceptional events by using the ``AT%EXCEPTIONALDATA`` AT command. - For more information about the ``AT%EXCEPTIONALDATA`` AT command, see the `nRF91 AT Commands Reference Guide `_. + For more information about the ``AT%EXCEPTIONALDATA`` AT command, see the `nRF91x1 AT Commands Reference Guide`_. The socket option is supported from modem firmware v2.0.0. @@ -223,7 +223,7 @@ NRF_SO_SEC_CIPHERSUITE_LIST The cipher suites are identified by their IANA assigned values. By default, all supported cipher suites are allowed. For a complete list, see the :ref:`supported cipher_suites ` API documentation or refer to the release notes of the modem firmware. - The release notes are distributed as part of the `nRF9160 modem firmware zip file`_. + For more information, see the release notes in the `nRF9160 modem firmware zip file`_ or `nRF91x1 LTE firmware zip file`_ depending on the SiP you are using. NRF_SO_SEC_PEER_VERIFY Set the peer verification level. @@ -353,10 +353,10 @@ Packet data networks The Modem library supports selecting which Packet Data Network (PDN) to use on a network socket and for DNS queries. The configuration of Packet Data Protocol (PDP) contexts, and the activation of PDN connections are not handled by the Modem library. -To configure PDP contexts and activate PDN connections, the application must use the nRF9160 modem packet domain AT commands. +To configure PDP contexts and activate PDN connections, the application must use the packet domain AT commands. When performing network operations on any PDN, the application ensures that the PDN connection is available. -For more information about how to configure PDP contexts, activate PDN connections, and determine their state, see the `nRF9160 modem Packet Domain AT commands`_ documentation. +For more information about how to configure PDP contexts, activate PDN connections, and determine their state, see the `Packet domain commands`_ section in the nRF9160 AT Commands Reference Guide or the same section in the `nRF91x1 AT Commands Reference Guide`_ depending on the SiP you are using. Configuring a socket to use a PDN @@ -401,13 +401,13 @@ The socket error can be retrieved using the :c:macro:`NRF_SO_ERROR` socket optio When the ``NRF_ENETDOWN`` error is detected, the socket is no longer usable and must be closed by the application. The application is responsible for detecting when the PDN connection is activated again, before re-creating the socket and attempting the failed operation again. -The `nRF9160 modem Packet Domain AT commands`_ can be used to manage packet data networks. +The packet domain AT commands can be used to manage packet data networks. Alternatively, the :ref:`pdn_readme` library in |NCS| can be used to receive events on PDN connectivity and manage packet data networks. TLS/DTLS configuration ********************** -The IP stack in the nRF9160 modem firmware has TLS and DTLS support. +The IP stack in the nRF91 Series modem firmware has TLS and DTLS support. .. _security_tags: @@ -417,7 +417,7 @@ Security tags To use the cryptographic functions in the modem, the application must provision the security credentials to the modem. To be able to provision credentials, the modem must be in offline mode. The credentials are provisioned through AT commands. -See `Credential storage management %CMNG`_ for more information. +For more information, See `Credential storage management %CMNG`_ section in the nRF9160 AT Commands Reference Guide or the same section in the `nRF91x1 AT Commands Reference Guide`_ depending on the SiP you are using. If you are using the |NCS| to build your application, you can use the :ref:`nrf:modem_key_mgmt` library to manage credentials. If you prefer a graphical tool, use `Cellular Monitor`_ instead. To manage credentials with Cellular Monitor, your device must be running an |NCS| application. @@ -479,7 +479,7 @@ In this case, either security tag 4 or security tag 5 can be used for operations Supported cipher suites ======================= -See the `nRF9160 modem TLS cipher suites`_ summary page for a full list of TLS/DTLS cipher suites supported by the modem. +See the `nRF9160 modem TLS cipher suites`_ or `nRF91x1 modem TLS cipher suites`_ summary page, depending on the SiP you are using, for a full list of TLS/DTLS cipher suites supported by the modem. Each cipher suite is recognized by an official identification number, which is registered at `IANA`_. You can narrow down the set of cipher suites that is used for a specific TLS/DTLS connection with :c:func:`nrf_setsockopt`. diff --git a/nrf_modem/doc/softsim_interface.rst b/nrf_modem/doc/softsim_interface.rst index eca4fd6a93..54647cfe19 100644 --- a/nrf_modem/doc/softsim_interface.rst +++ b/nrf_modem/doc/softsim_interface.rst @@ -12,8 +12,8 @@ The SoftSIM interface in the Modem library is used to transfer SIM data between When the modem makes a SoftSIM request, the SoftSIM interface handles the request and forwards it to the application. The application then generates a response and responds to the modem through the SoftSIM interface. The modem can be configured at runtime to use a regular SIM or SoftSIM (iSIM), or both. -For more information on how to enable this feature in the modem, refer to the `AT Commands Reference Guide`_ documentation. -The `Selecting UICC slot %CSUS`_ section, in particular, explains the usage of the Nordic-proprietary ``%CSUS`` command for SIM selection. +For more information on how to enable this feature in the modem, refer to the `nRF91x1 AT Commands Reference Guide`_ or `nRF9160 AT Commands Reference Guide`_ depending on the SiP you are using. +The `Selecting UICC slot %CSUS`_ section in the nRF9160 AT Commands Reference Guide or the same section in the `nRF91x1 AT Commands Reference Guide`_ explains the usage of the Nordic-proprietary ``%CSUS`` command for SIM selection. Handling SoftSIM requests ************************* diff --git a/nrf_modem/doc/ug_nrf_modem_porting_os.rst b/nrf_modem/doc/ug_nrf_modem_porting_os.rst index 455ff64485..05a2b8ea59 100644 --- a/nrf_modem/doc/ug_nrf_modem_porting_os.rst +++ b/nrf_modem/doc/ug_nrf_modem_porting_os.rst @@ -34,6 +34,8 @@ Obtaining the Modem library The application can either include nrfxlib or only the Modem library. Header files are located in the :file:`nrf_modem/include/` folder. You can locate the library binary (for both hard-float and soft-float) in the :file:`nrf_modem/lib/` folder. +The binaries are delivered based on the SoC they support. +The :file:`nrf_modem/lib/nRF9160` folder contains the binaries for the nRF9160 SiP, and the :file:`nrf_modem/lib/nRF9120` folder contains the binaries for other nRF91 Series SiPs. IPC driver and interrupt ************************ @@ -53,7 +55,7 @@ As the Modem library has been compiled to operate on peripherals in NSPE, the fo If you are using the hard-float variant of the Modem library, the FPU must be activated in both Secure Processing Environment (SPE) and NSPE, and must be configured to allow the non-secure application to run FPU instructions. -The :file:`nrfx/mdk/system_nrf9160.c` file provides a template on how to configure the FPU in both cases. +The :file:`nrfx/mdk/system_nrf91.c` file provides a template on how to configure the FPU in both cases. The system file also provides several Errata workarounds specific to the chip variant used, which are needed for any SPE application. Memory