-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
manifest: nrf_modem v2.6.0 #14173
manifest: nrf_modem v2.6.0 #14173
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -19,6 +19,46 @@ The following changes are mandatory to make your application work in the same wa | |
The setting controls whether the SLM connects automatically to the network on startup. | ||
You can read and write it using the ``AT#XCARRIER="auto_connect"`` command. | ||
|
||
* The handling of Release Assistance Indication (RAI) socket options has been updated in the ``#XSOCKETOPT`` command. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The SLM part should be unnecessary as the old values work as well for now, and we will map those to new values under the hood after 2.6.0. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The old values work as well for now, though the user should update their code to the new values. @divipillai should we add it to the migration guide for the NCS version where we deprecate functionality or the NCS version where we remove the old implementation completely (after it has been deprecated for a while)? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. As we now have a mechanism in place in SLM to keep such values unchanged (we only change the mapping in SLM, so that the customer-facing interface doesn't change), it may well be that they will never change from the SLM user's point of view. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think that the new values are more well thought out than the previous ones So I would like to have them in SLM. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Let's have them then, but also keep the other ones forever (without advertising them)? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. For reference: The section about RAI in SLM is removed from the migration guide for this release. If the old values are removed at a later point (from SLM user perspective), it should be added to the migration guide then. |
||
The individual RAI-related socket options have been consolidated into a single ``SO_RAI`` option. | ||
You must modify your application to use the new ``SO_RAI`` option with the corresponding value to specify the RAI behavior. | ||
The changes are as follows: | ||
|
||
The ``SO_RAI_NO_DATA``, ``SO_RAI_LAST``, ``SO_RAI_ONE_RESP``, ``SO_RAI_ONGOING``, and ``SO_RAI_WAIT_MORE`` options have been replaced by the ``SO_RAI`` option with values from ``1`` to ``5``. | ||
|
||
Here are the changes you need to make in your application code: | ||
|
||
* If you previously used ``AT#XSOCKETOPT=1,50,`` replace it with ``AT#XSOCKETOPT=1,61,1`` to indicate ``RAI_NO_DATA``. | ||
* If you previously used ``AT#XSOCKETOPT=1,51,`` replace it with ``AT#XSOCKETOPT=1,61,2`` to indicate ``RAI_LAST``. | ||
* If you previously used ``AT#XSOCKETOPT=1,52,`` replace it with ``AT#XSOCKETOPT=1,61,3`` to indicate ``RAI_ONE_RESP``. | ||
* If you previously used ``AT#XSOCKETOPT=1,53,`` replace it with ``AT#XSOCKETOPT=1,61,4`` to indicate ``RAI_ONGOING``. | ||
* If you previously used ``AT#XSOCKETOPT=1,54,`` replace it with ``AT#XSOCKETOPT=1,61,5`` to indicate ``RAI_WAIT_MORE``. | ||
|
||
* For applications using :ref:`nrf_modem_lib_readme`: | ||
|
||
* The ``lte_connectivity`` module is renamed to ``lte_net_if``. Please make sure that all references are updated accordingly, including function names and Kconfig options. | ||
|
||
* If your application is using the ``lte_net_if`` (formerly ``lte_connectivity``) without disabling :kconfig:option:`CONFIG_NRF_MODEM_LIB_NET_IF_AUTO_START`, :kconfig:option:`CONFIG_NRF_MODEM_LIB_NET_IF_AUTO_CONNECT`, and :kconfig:option:`CONFIG_NRF_MODEM_LIB_NET_IF_AUTO_DOWN` Kconfig options, changes are required as the default values are changed from enabled to disabled. | ||
|
||
* Consider using the :c:func:`conn_mgr_all_if_up`, :c:func:`conn_mgr_if_connect` and :c:func:`conn_mgr_if_disconnect` functions instead of enabling the Kconfig options to have better control of the initialization and connection establishment. | ||
|
||
* The Release Assistance Indication (RAI) socket options have been deprecated and replaced with a new consolidated socket option. | ||
If your application uses ``SO_RAI_*`` socket options, you need to update your socket configuration as follows: | ||
|
||
#. Replace the deprecated socket options :c:macro:`SO_RAI_NO_DATA`, :c:macro:`SO_RAI_LAST`, :c:macro:`SO_RAI_ONE_RESP`, :c:macro:`SO_RAI_ONGOING`, and :c:macro:`SO_RAI_WAIT_MORE` with the new :c:macro:`SO_RAI` option. | ||
#. Set the optval parameter of the :c:macro:`SO_RAI` socket option to one of the new values :c:macro:`RAI_NO_DATA`, :c:macro:`RAI_LAST`, :c:macro:`RAI_ONE_RESP`, :c:macro:`RAI_ONGOING`, or :c:macro:`RAI_WAIT_MORE` to specify the desired indication. | ||
|
||
Example of migration: | ||
|
||
.. code-block:: c | ||
|
||
/* Before migration. */ | ||
setsockopt(socket_fd, SOL_SOCKET, SO_RAI_LAST, NULL, 0); | ||
|
||
/* After migration. */ | ||
int rai_option = RAI_LAST; | ||
setsockopt(socket_fd, SOL_SOCKET, SO_RAI, &rai_option, sizeof(rai_option)); | ||
|
||
* The ``AT#XCMNG`` AT command, which is activated with the :file:`overlay-native_tls.conf` overlay file, has been changed from using modem certificate storage to Zephyr settings storage. | ||
You need to use the ``AT#XCMNG`` command to store previously stored credentials again. | ||
|
||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
/* | ||
* Copyright (c) 2024 Nordic Semiconductor ASA | ||
* | ||
* SPDX-License-Identifier: LicenseRef-Nordic-5-Clause | ||
*/ | ||
|
||
#include <zephyr/kernel.h> | ||
#include <zephyr/init.h> | ||
#include <zephyr/logging/log.h> | ||
#include <modem/nrf_modem_lib.h> | ||
#include <nrf_modem_at.h> | ||
|
||
LOG_MODULE_DECLARE(nrf_modem, CONFIG_NRF_MODEM_LIB_LOG_LEVEL); | ||
|
||
static void cfun_callback(int mode) | ||
{ | ||
STRUCT_SECTION_FOREACH(nrf_modem_lib_at_cfun_cb, e) { | ||
LOG_DBG("CFUN callback %p", e->callback); | ||
e->callback(mode, e->context); | ||
} | ||
} | ||
|
||
static int nrf_modem_lib_cfun_hooks_init(void) | ||
{ | ||
nrf_modem_at_cfun_handler_set(cfun_callback); | ||
|
||
return 0; | ||
} | ||
|
||
SYS_INIT(nrf_modem_lib_cfun_hooks_init, APPLICATION, CONFIG_APPLICATION_INIT_PRIORITY); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a comment: I think that it makes sense to remove these from the documentation. Given that these are deprecated, we will map the old values to new values in SLM after the 2.6.0 release.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The old values will be kept in the modem library for a couple of releases, so there should be no need to map the old values to the new ones.