Changelog
All notable changes to this project are documented in this file.
Certification status
For certification status of the released versions, see the following documents, depending on the SiP you are using:
liblwm2m_carrier 3.7.0
Release for modem firmware versions 1.3.7 and 2.0.2.
Size
See Library size for an explanation of the library size in different scenarios.
Flash (Bytes) |
RAM (Bytes) |
|
Library size (binary) |
78147 |
18828 |
Library size (reference application) |
98144 |
34568 |
Changes
Added the new Downloader library to the glue layer (
lwm2m_os.c/h). Removed the deprecated Download client from the glue layer.Added missing documentation for some glue layer functions.
Removed the error type
LWM2M_CARRIER_ERROR_RUN.Errors that were previously notified to the application with the
LWM2M_CARRIER_ERROR_RUNevent type have instead been added toLWM2M_CARRIER_ERROR_CONFIGURATION.
Improved the error codes to more uniquely identify possible errors. In addition, some previously unlisted errors have now been documented. For more information, see the following events:
Improved the handling of failures during the download of FOTA images. This is to ensure that the relevant DFU target is reinitialized appropriately before the download is resumed.
Optimizations in the CoAP implementation to reduce the memory footprint.
Fixed an issue for delayed bootstrap when connecting to two servers.
Previously, if the second connection failed and caused a delayed bootstrap, the first server would disconnect (and connect again once the deferred time had passed).
Now, the first server will remain connected while the LwM2M carrier library is waiting to bootstrap again.
Fixed a bug where the Signal Strength resource in the Connection Monitoring object was off by 1 dB.
liblwm2m_carrier 3.6.0
Release for modem firmware versions 1.3.6, 1.3.7, 2.0.1, and 2.0.2.
Size
See Library size for an explanation of the library size in different scenarios.
Flash (Bytes) |
RAM (Bytes) |
|
Library size (binary) |
79046 |
19712 |
Library size (reference application) |
99516 |
34592 |
Changes
Removed the configuration
disable_bootstrap_from_smartcard(and the corresponding Kconfig optionCONFIG_LWM2M_CARRIER_BOOTSTRAP_SMARTCARD).Instead, the LwM2M carrier library will attempt to bootstrap from smartcard if the external UICC LwM2M library is included in the project (
CONFIG_UICC_LWM2M).
Changed the CoAP response if an unsupported image is pushed during in-band FOTA.
Previous CoAP return value was
5.00 Internal Server Error, and is now4.00 Bad Request.
Changed the timing of the lifetime update in order to better allow CoAP retransmissions.
Effectively, the updates will now trigger earlier, before the lifetime expiry.
This can reduce the amount of overall signaling needed. For example, in poor network conditions, the server could have de-registered the client prematurely, when the client was still retransmitting and attempting to update with the server.
The library no longer uses the system workqueue to schedule work. This is because some of the issued work could block for some time, and this should be avoided on the system workqueue.
Removed
lwm2m_os_timer_start()from the glue layer.
Extended the use of the modem library hooks (
NRF_MODEM_LIB_ON_CFUN) to better handle changes in the modem functional states.
liblwm2m_carrier 3.5.1
Release for modem firmware version 1.3.6 and 2.0.1.
Size
See Library size for an explanation of the library size in different scenarios.
Flash (Bytes) |
RAM (Bytes) |
|
Library size (binary) |
79247 |
19691 |
Library size (reference application) |
99624 |
34288 |
Changes
Minor fixes and improvements.
liblwm2m_carrier 3.5.0
Release for modem firmware version 1.3.6 and 2.0.1.
Changes
Added the new event
LWM2M_CARRIER_EVENT_ERROR_CODE_RESET.This event allows the application to re-evaluate any error codes and issue them again. The errors can be updated using the function API
lwm2m_carrier_error_code_add()andlwm2m_carrier_error_code_remove().
Added the
CONFIG_LWM2M_CARRIER_SOFTBANK_DIVIDED_FOTAwhich allows the carrier to handle the proprietary SoftBank FOTA images.The glue layer now handles the image type
LWM2M_OS_DFU_IMG_TYPE_APPLICATION_FILE, which allows an update to be split into several files.
Added a callback for the modem functional mode changes (
AT+CFUN). For more information see Modem library callbacks.This allows the LwM2M carrier library to resume AT notification subscriptions after the application powers off the modem.
Changed the
server_bindingparameter to useLWM2M_CARRIER_SERVER_BINDING_UDPorLWM2M_CARRIER_SERVER_BINDING_NONIP(instead ofUorN).Changed the LwM2M carrier library Kconfig menu to clarify some the option dependencies.
Added new events related to the Binary App Data Container object:
LWM2M_CARRIER_APP_DATA_EVENT_OBSERVE_START,LWM2M_CARRIER_APP_DATA_EVENT_OBSERVE_STOP. This enables a use case in which the device wants to start and stop intensive operations (for example sampling a sensor), based on if the data is required by the server or not.LWM2M_CARRIER_APP_DATA_EVENT_DATA_WRITE. This allows the device to use incoming data written to the data resource by the server.
Added the new request types to the
lwm2m_carrier_request()to allow the application to register and deregister manually. (LWM2M_CARRIER_REQUEST_REGISTER,LWM2M_CARRIER_REQUEST_DEREGISTER). This functionality is only needed in the SoftBank network.Added more error codes to
lwm2m_carrier_request()in case the request fails to be made or is already in progress (EPERM,EBADR,EALREADY).Added the Kconfig option
CONFIG_LWM2M_CARRIER_AUTO_REGISTERto stop the LwM2M carrier library from registering with the LwM2M server automatically. (addeddisable_auto_registertolwm2m_carrier_config_t).This option is meant to be used for SoftBank, but can also be toggled when operating in Generic mode (connecting to a custom URI instead of the predetermined carrier servers).
The application must manually trigger the operation of disabling auto_register using the new
lwm2m_carrier_request()API. This also applies to situations where the client has been deregistered by the server, for example if network coverage is lost.
Added a new error code
LWM2M_CARRIER_ERROR_CONNECTto clarify when the LwM2M carrier library has exhausted the attempts to connect to the device management server. New attempts at connecting will only be made after restarting the application, for example by rebooting the device.Added support for the Mute Send resource in the Server object.
Added a new error
ECANCELEDto the functionlwm2m_carrier_data_send(), in case send is muted by the server.
Added a dependency on Modem key management (
CONFIG_MODEM_KEY_MGMT) for the LwM2M carrier library shell.
liblwm2m_carrier 3.4.0
Release for modem firmware version 1.3.6 and 2.0.1.
Size
See Library size for an explanation of the library size in different scenarios.
Flash (Bytes) |
RAM (Bytes) |
|
Library size (binary) |
77020 |
19435 |
Library size (reference application) |
97252 |
34088 |
Changes
Removed AT&T support. The LwM2M carrier library is no longer required to certify with AT&T.
Added preliminary support for Bell Canada subscriber ID. This carrier can be disabled or enabled with the Kconfig option
CONFIG_LWM2M_CARRIER_BELL_CA.Changed the default string of the Device Type resource to say
Moduleinstead ofSmart Device. This can be changed to other strings using the Kconfig optionCONFIG_LWM2M_CARRIER_DEVICE_TYPE.Added
disable_queue_modeto the configurationlwm2m_carrier_config_t. Queue Mode can now be disabled using the Kconfig optionCONFIG_LWM2M_CARRIER_QUEUE_MODE.Added a timeout to abort Push FOTA operations using the
CONFIG_LWM2M_CARRIER_FIRMWARE_DOWNLOAD_TIMEOUTKconfig option. By default (0), the timer is disabled for unknown subscriber IDs, and set to 30 minutes for the SoftBank subscriber ID.Added the function
lwm2m_carrier_data_send(). This function can be used to send Binary App Data Container and Event Log object data.Renamed the old
lwm2m_carrier_app_data_sendfunction tolwm2m_carrier_app_data_set()to avoid confusion with the newlwm2m_carrier_data_send()function. The name now also matches the similar functionlwm2m_carrier_log_data_set().
The
CONFIG_LWM2M_CARRIER_SERVER_SEC_TAGKconfig option can now be used to provide a PSK Identity. If a PSK Identity is stored in the configured security tag, the LwM2M carrier library makes use of it alongside the PSK. This behavior does not apply when the device is in the Verizon network, in which case the PSK Identity is overwritten.The FOTA implementation was reworked to use the DFU target library to manage the DFU process, providing a single interface to support different types of firmware upgrades. Consequently, the LwM2M carrier library can now perform generic application FOTA.
Removed the firmware update type member
typefrom thelwm2m_carrier_event_fota_start_tstructure. The image type is now determined when the LwM2M carrier library calls the glue layer functionlwm2m_os_dfu_img_type().
liblwm2m_carrier 3.3.3
Release for modem firmware version 1.3.5 and 2.0.0.
Changes
Minor fixes and improvements.
liblwm2m_carrier 3.3.2
Release for modem firmware version 1.3.5 and 2.0.0.
Changes
Fixed an issue where failed modem firmware updates would not be reported correctly to the user application and the LwM2M Server.
liblwm2m_carrier 3.3.1
Release for modem firmware version 1.3.5 and 2.0.0.
Changes
Minor fixes and improvements.
liblwm2m_carrier 3.3.0
Release for modem firmware version 1.3.5 and 2.0.0.
Size
See Library size for an explanation of the library size in different scenarios.
Flash (Bytes) |
RAM (Bytes) |
|
Library size (binary) |
78059 |
17288 |
Library size (reference application) |
98024 |
40416 |
Changes
Added the Binary App Data Container object. The object is enabled for the SoftBank subscriber ID
CONFIG_LWM2M_CARRIER_SOFTBANK, or if the LwM2M carrier library is operating in generic modeCONFIG_LWM2M_CARRIER_GENERIC.Added the Event Log object. The object is enabled for the SoftBank subscriber ID
CONFIG_LWM2M_CARRIER_SOFTBANK, or if the LwM2M carrier library is operating in generic modeCONFIG_LWM2M_CARRIER_GENERIC.FOTA procedure now only requires a single modem library initialization. For more information see the modem library Changelog.
Old successful event flow:
LWM2M_CARRIER_EVENT_FOTA_START>LWM2M_CARRIER_EVENT_LTE_POWER_OFF>LWM2M_CARRIER_EVENT_MODEM_SHUTDOWN>LWM2M_CARRIER_EVENT_MODEM_INIT>LWM2M_CARRIER_EVENT_MODEM_INIT>LWM2M_CARRIER_EVENT_FOTA_SUCCESS>LWM2M_CARRIER_EVENT_LTE_LINK_UP.New successful event flow:
LWM2M_CARRIER_EVENT_FOTA_START>LWM2M_CARRIER_EVENT_LTE_POWER_OFF>LWM2M_CARRIER_EVENT_MODEM_SHUTDOWN>LWM2M_CARRIER_EVENT_MODEM_INIT>LWM2M_CARRIER_EVENT_FOTA_SUCCESS>LWM2M_CARRIER_EVENT_LTE_LINK_UP.
AT&T support has been deprecated
The application must no longer connect to the AT&T Device Management server. Consequently, the LwM2M carrier library is no longer required to certify with AT&T.
Automatic connection and handling of custom AT&T logic by the LwM2M carrier library is deprecated.
CONFIG_LWM2M_CARRIER_ATTis now to be disabled by default, and might be removed in a future release.CONFIG_LWM2M_CARRIER_ATTmust be explicitly enabled to apply the library’s AT&T configurations.In previous releases, AT&T support could be enabled together with all other applicable carriers by initializing
lwm2m_carrier_config_twith an emptycarriers_enabledparameter.
liblwm2m_carrier 3.2.0
Release for modem firmware version 1.3.5.
Size
See Library size for an explanation of the library size in different scenarios.
Flash (Bytes) |
RAM (Bytes) |
|
Library size (binary) |
75955 |
16575 |
Library size (reference application) |
96292 |
39712 |
Changes
Added preliminary support for SoftBank subscriber ID. This carrier can be disabled or enabled with the Kconfig option
CONFIG_LWM2M_CARRIER_SOFTBANK.Removed the error event types
LWM2M_CARRIER_ERROR_FOTA_PKG,LWM2M_CARRIER_ERROR_FOTA_PROTO,LWM2M_CARRIER_ERROR_FOTA_CONNandLWM2M_CARRIER_ERROR_FOTA_CONN_LOST. Instead, theLWM2M_CARRIER_ERROR_FOTA_FAILerror event indicates an error codeerror.valueinlwm2m_carrier_event_t(whenLWM2M_CARRIER_ERROR_FOTA_FAILis received).Removed the dependency on the LTE link control library.
This was primarily done to save space in the Serial LTE modem application.
All other relevant samples and applications use the LTE link control library. It is highly recommended that you include it in your applications.
Removed the event
LWM2M_CARRIER_ERROR_INTERNAL.FOTA process has been improved.
The FOTA procedure no longer requires the device to reboot. It uses callbacks documented in the Modem library integration layer. The Modem library must reinitialize to perform a modem update.
Added the events
LWM2M_CARRIER_EVENT_MODEM_SHUTDOWNandLWM2M_CARRIER_EVENT_MODEM_INITto explicitly request the application to perform the reinitialization during FOTA.Added a new event,
LWM2M_CARRIER_EVENT_FOTA_SUCCESSto indicate the completion of FOTA update to the application.Old successful event flow:
LWM2M_CARRIER_EVENT_FOTA_START>LWM2M_CARRIER_EVENT_REBOOT>LWM2M_CARRIER_EVENT_LTE_POWER_OFF>LWM2M_CARRIER_EVENT_REGISTERED.New successful event flow:
LWM2M_CARRIER_EVENT_FOTA_START>LWM2M_CARRIER_EVENT_LTE_POWER_OFF>LWM2M_CARRIER_EVENT_MODEM_SHUTDOWN>LWM2M_CARRIER_EVENT_MODEM_INIT>LWM2M_CARRIER_EVENT_MODEM_INIT>LWM2M_CARRIER_EVENT_FOTA_SUCCESS>LWM2M_CARRIER_EVENT_LTE_LINK_UP.
nRF modem dependency change
LwM2M carrier library no longer explicitly controls the Modem library. Instead, the application can initialize the Modem library at its own convenience. The LwM2M carrier library will then use the Modem library callbacks to start or pause its own operations. See the Modem library callbacks section under Modem library integration layer for more information.
Removed
lwm2m_carrier_init().The LwM2M carrier library now initializes every time the init callback from the Modem library is called.
Renamed
lwm2m_carrier_run()tolwm2m_carrier_main().
Removed the event
LWM2M_CARRIER_EVENT_INIT.This event was used to indicate that the modem was ready to be used by the application, but this is no longer necessary since the application now controls Modem library.
Keep in mind that CA root certificates must still be provisioned while the modem is offline (any time the link is down).
lte_lc_init()andlte_lc_register_handler()can be called at any time afternrf_modem_lib_init().
Removed
lwm2m_os_nrf_modem_init()andlwm2m_os_nrf_modem_shutdown().The library no longer sends an initial
LWM2M_CARRIER_EVENT_LTE_LINK_UPevent after initialization.This event was meant to indicate to the application when it could go online for the first time, but this is no longer needed. Instead, the library waits for the link to be brought up by the application.
An additional
LWM2M_CARRIER_EVENT_LTE_DOWNevent can be triggered by the LwM2M carrier library the first time the application goes online. This is for continuing to write the correct bootstrap keys.
liblwm2m_carrier 3.1.0
Release for modem firmware version 1.3.3 and 1.3.4.
Size
See Library size for an explanation of the library size in different scenarios.
Flash (Bytes) |
RAM (Bytes) |
|
Library size (binary) |
73482 |
15960 |
Library size (reference application) |
94644 |
40192 |
Changes
Added shell functionality to the LwM2M carrier library (
lwm2m_shell.candlwm2m_settings.corlwm2m_settings.h). This is intended to provide convenient access to the API for development and debugging.Enabled or disabled by using
CONFIG_LWM2M_CARRIER_SHELLandCONFIG_LWM2M_CARRIER_SETTINGS.For examples of using the shell, see the Cellular: LwM2M carrier sample documentation and the LwM2M carrier shell configuration section in the library documentation.
Added a new
__weakfunctionlwm2m_carrier_custom_init().This function is run in
lwm2m_carrier.cbeforelwm2m_carrier_init().This function allows Kconfig settings of the LwM2M carrier library to be overwritten without having to make changes in the
lwm2m_carrier.cfile.The Cellular: LwM2M carrier sample uses the
lwm2m_carrier_custom_init()function to facilitate shell access to the initialization settings, by loading a storedlwm2m_carrier_config_t.
Fixed a bug where the functions
lwm2m_carrier_avail_power_sources_set()andlwm2m_carrier_error_code_add()would not return an error if the device object is uninitialized.Removed the following functions from the glue layer:
lwm2m_os_sec_psk_exists()lwm2m_os_sec_psk_write()lwm2m_os_sec_psk_delete()lwm2m_os_sec_identity_exists()lwm2m_os_sec_identity_write()lwm2m_os_sec_identity_delete()
Added the Kconfig options
CONFIG_LWM2M_CARRIER_THREAD_STACK_SIZEandCONFIG_LWM2M_CARRIER_WORKQ_STACK_SIZE.These options allow you to alter the LwM2M carrier library thread and work queue stack without editing
lwm2m_carrier.c.
Moved the configuration parameter
lwm2m_carrier_config_tfromlwm2m_carrier_init()tolwm2m_carrier_run().Added a new error event type
LWM2M_CARRIER_ERROR_RUN. This event is returned if the configuration provided tolwm2m_carrier_run()is invalid.
Removed
certification_modefrom the configuration parameters oflwm2m_carrier_config_t.Removed the
CONFIG_LWM2M_CARRIER_CERTIFICATION_MODEKconfig.The LwM2M carrier library always connects to the correct production (live) server (if in an applicable network).
To connect to a certification (test) server, you must enter the appropriate URI using
CONFIG_LWM2M_CARRIER_CUSTOM_URI.
Removed
pskfrom the configuration parameters oflwm2m_carrier_config_t.Removed the
CONFIG_LWM2M_CARRIER_CUSTOM_PSKKconfig.Added
server_sec_tagto the configurationlwm2m_carrier_config_t.Added the
CONFIG_LWM2M_CARRIER_SERVER_SEC_TAGKconfig option.The LwM2M carrier library no longer uses PSK as a configuration parameter. Instead, you can provide a
sec_tag(containing a PSK).The Cellular: LwM2M carrier sample now contains a Kconfig option CONFIG_CARRIER_APP_PSK, which will be written to the security tag provided by
CONFIG_LWM2M_CARRIER_SERVER_SEC_TAG. This was added for convenience during development but must not be used for production.See Modem key management for more information about using security tags, and Preparing for production for information on provisioning them for the LwM2M carrier library.
Removed the Kconfig option
CONFIG_LWM2M_CARRIER_USE_CUSTOM_URI.You need to use only the Kconfig option
CONFIG_LWM2M_CARRIER_CUSTOM_URI. If the Kconfig option is empty, it is ignored.
Added the Kconfig option
CONFIG_LWM2M_CARRIER_PDN_TYPE.The new
pdn_typeparameter inlwm2m_carrier_config_tis used to select the PDN type of theapnparameter.
Added the Kconfig option
CONFIG_LWM2M_CARRIER_LG_UPLUS_DEVICE_SERIAL_NUMBER.This configuration lets you choose between using the nRF9160 SiP 2DID Serial Number, or the Device IMEI as a Serial Number when connecting to the LG U+ device management server.
Now that there are several LG U+ options, they have been grouped in
lwm2m_carrier_lg_uplus_config_tinsidelwm2m_carrier_config_t.
Added the
carriers_enabledparameter tolwm2m_carrier_config_t.This parameter allows you to enable or disable the Carrier Library based on which Subscriber ID is used in the current network.
Added Kconfig options to the new “Enabled Carriers” menu:
Added the
server_bindingparameter tolwm2m_carrier_config_t.This optional value can be left empty to use the default binding (UDP).
Added the new Kconfig
CONFIG_LWM2M_SERVER_BINDING_CHOICE.The binding can be either
U(UDP) orN(non-IP).
Added the function
lwm2m_carrier_request().This function allows the application to request that the carrier library takes a certain action using the following definitions:
This function allows the LwM2M carrier library to disconnect gracefully and it is mandatory to use when the Subscriber ID is LG U+.
Updated the name of the
CONFIG_LWM2M_CARRIER_IS_SERVER_BOOTSTRAPKconfig option toCONFIG_LWM2M_CARRIER_IS_BOOTSTRAP_SERVER.
liblwm2m_carrier 0.30.2
Release for modem firmware version 1.3.3.
Changes
Added the functions
lwm2m_os_lte_modes_get()andlwm2m_os_lte_mode_request().This makes it possible for the LwM2M library to make the device switch between NB-IoT and LTE-M networks.
Size
See Library size for an explanation of the library size in different scenarios.
Flash (Bytes) |
RAM (Bytes) |
|
Library size (binary) |
72186 |
15840 |
Library size (reference application) |
93784 |
38968 |
liblwm2m_carrier 0.30.1
Release for modem firmware version 1.3.3.
Changes
Minor fixes and improvements.
liblwm2m_carrier 0.30.0
Release for modem firmware version 1.3.1 and 1.3.2.
Size
See Library size for an explanation of the library size in different scenarios.
Flash (Bytes) |
RAM (Bytes) |
|
Library size (binary) |
71582 |
15844 |
Library size (reference application) |
93876 |
38824 |
Changes
Added support for LG U+ network operator.
Added the App Data Container object (10250).
Added support for application FOTA in the glue layer. This is required for LG U+ support.
Added the Kconfig options
CONFIG_LWM2M_CARRIER_LG_UPLUSandCONFIG_LWM2M_CARRIER_LG_UPLUS_SERVICE_CODE.Removed the Kconfig options
CONFIG_LWM2M_CARRIER_USE_CUSTOM_PSKandCONFIG_LWM2M_CARRIER_USE_CUSTOM_APN.Instead, only the Kconfig options
CONFIG_LWM2M_CARRIER_CUSTOM_PSKandCONFIG_LWM2M_CARRIER_CUSTOM_APNare needed. If the Kconfig options are empty, they are ignored.
Renamed the event
LWM2M_CARRIER_EVENT_CARRIER_INITtoLWM2M_CARRIER_EVENT_INIT.Removed the event
LWM2M_CARRIER_EVENT_CERTS_INITand initialization parameterlwm2m_carrier_event_certs_init_t.
Instead, certificates can be written to modem when the
LWM2M_CARRIER_EVENT_INITevent is received, before attaching to the network.List of certificates is no longer supplied to the
lwm2m_carrier_init()function. LwM2M carrier library will instead iterate through all CA certificates in the modem.
Added the Kconfig option
CONFIG_LWM2M_CARRIER_SESSION_IDLE_TIMEOUT.Removed some runtime resource
_set()functions. The resources are static and therefore added to library initialization instead.Removed
lwm2m_carrier_device_type_set(),lwm2m_carrier_hardware_version_set()andlwm2m_carrier_software_version_set().Added
CONFIG_LWM2M_CARRIER_DEVICE_TYPE,CONFIG_LWM2M_CARRIER_DEVICE_HARDWARE_VERSIONandCONFIG_LWM2M_CARRIER_DEVICE_SOFTWARE_VERSION.
Added new initialization configurations to set the static device object resources:
The LwM2M carrier library now requests the application to handle the LTE link, instead of handling the link on its own.
Removed the glue functions
lwm2m_os_lte_link_up(),lwm2m_os_lte_link_down(), andlwm2m_os_lte_power_down().Removed the events
LWM2M_CARRIER_EVENT_CONNECTING`,LWM2M_CARRIER_EVENT_CONNECTED,LWM2M_CARRIER_EVENT_DISCONNECTING, andLWM2M_CARRIER_EVENT_DISCONNECTED.Added the events
LWM2M_CARRIER_EVENT_LTE_LINK_UP,LWM2M_CARRIER_EVENT_LTE_LINK_DOWN, andLWM2M_CARRIER_EVENT_LTE_POWER_OFF.
Renamed the error
LWM2M_CARRIER_ERROR_CONNECT_FAILtoLWM2M_CARRIER_ERROR_LTE_LINK_UP_FAIL.Renamed the error
LWM2M_CARRIER_ERROR_DISCONNECT_FAILtoLWM2M_CARRIER_ERROR_LTE_LINK_DOWN_FAIL.Removed the event
LWM2M_CARRIER_EVENT_LTE_READY. The event was intended to help the user application coexist with the library, but it was not useful.Actions to bring the link up and down are requested using the new
LWM2M_CARRIER_EVENT_LTE_LINK_UPandLWM2M_CARRIER_EVENT_LTE_LINK_DOWNevents. The application can therefore perform housekeeping at these events if needed.Even when the
LWM2M_CARRIER_EVENT_LTE_READYevent was sent to the application, the carrier library could still disconnect the link to write keys to the modem after a while in some cases.Any application must handle untimely disconnects anyway, because of factors such as signal coverage, making the
LWM2M_CARRIER_EVENT_LTE_READYevent redundant.
NVS records are no longer statically defined by a devicetree partition. Instead, the Partition Manager is used to define flash partition dynamically.
To use the legacy NVS partition, you can add a
pm_static.ymlfile to your project with the following content:lwm2m_carrier: address: 0xfa000 size: 0x3000 free: address: 0xfd000 size: 0x3000
This is strongly encouraged if you are updating deployed devices, to make sure that the persistent configuration of the library is preserved across the versions. The address of the previous storage can be confirmed by checking the
build/zephyr/zephyr.dtsfile in your old project.
liblwm2m_carrier 0.22.0
Release for modem firmware version 1.3.1.
Size
See Library size for an explanation of the library size in different scenarios.
Flash (Bytes) |
RAM (Bytes) |
|
Library size (binary) |
67872 |
15484 |
Library size (reference application) |
90532 |
37592 |
Changes
Added a new event
LWM2M_CARRIER_DEFERRED_SIM_MSISDN.This event can trigger on devices with a new SIM card that has not been registered on the network yet. (Therefore, it has not received the phone number needed for device management).
Removed dependency on the deprecated AT command and AT notification libraries from the glue layer.
Added dependency on the AT monitor library in the glue layer.
Changed the
lwm2m_os_lte_link_up()function to perform an asynchronous connect.Removed the following unused functions from the glue layer:
lwm2m_os_sec_ca_chain_exists(),lwm2m_os_sec_ca_chain_cmp(),lwm2m_os_sec_ca_chain_write().
liblwm2m_carrier 0.21.0
Release for modem firmware version 1.3.1.
Size
See Library size for an explanation of the library size in different scenarios.
Flash (Bytes) |
RAM (Bytes) |
|
Library size (binary) |
75216 |
14275 |
Library size (reference application) |
103104 |
42672 |
Changes
Library can now be provided a non-bootstrap custom URI. Previously, only bootstrap custom URI was accepted.
New Kconfig
CONFIG_LWM2M_CARRIER_IS_SERVER_BOOTSTRAPindicates if the custom URI is a Bootstrap-Server.New Kconfig
CONFIG_LWM2M_CARRIER_SERVER_LIFETIMEsets the lifetime for the (non-bootstrap) LwM2M Server.
Library will now read bootstrap information from Smartcard when applicable.
New Kconfig
CONFIG_LWM2M_CARRIER_BOOTSTRAP_SMARTCARDcan be used to disable this feature.
Added a new event
LWM2M_CARRIER_EVENT_MODEM_DOMAINto indicate modem domain events.Removed logging from the OS glue layer.
Added the Cellular Connectivity object.
Increased +CEREG notification level requirement from 2 to 4, so that the library can receive Active-Time and Periodic-TAU.
Added the Location object, including the API
lwm2m_carrier_location_set()andlwm2m_carrier_velocity_set().Removed a limitation which stated that the application could not use the NB-IoT LTE mode.
liblwm2m_carrier 0.20.1
Release for modem firmware version 1.3.0.
Size
See Library size for an explanation of the library size in different scenarios.
Flash (Bytes) |
RAM (Bytes) |
|
Library size (binary) |
64620 |
10687 |
Library size (reference application) |
109520 |
35184 |
Changes
Fixed a race condition that could render the LwM2M carrier library unresponsive.
liblwm2m_carrier 0.20.0
Release for modem firmware version 1.3.0.
Changes
CA certificates are no longer provided by the LwM2M carrier library.
Application is now expected to store CA certificates into the modem security tags.
Added a new event
LWM2M_CARRIER_EVENT_CERTS_INITthat instructs the application to provide the CA certificate security tags to the LwM2M carrier library.
Renamed the event
LWM2M_CARRIER_BSDLIB_INITtoLWM2M_CARRIER_EVENT_MODEM_INIT.Added a new deferred event reason
LWM2M_CARRIER_DEFERRED_SERVICE_UNAVAILABLE, which indicates that the LwM2M Server is unavailable due to maintenance.Added a new error code
LWM2M_CARRIER_ERROR_CONFIGURATIONwhich indicates that an illegal object configuration was detected.Added new Kconfig options
CONFIG_LWM2M_CARRIER_USE_CUSTOM_APNandCONFIG_LWM2M_CARRIER_CUSTOM_APNto set theapnmember oflwm2m_carrier_config_t.It is now possible to configure a custom bootstrap URI using
CONFIG_LWM2M_CARRIER_USE_CUSTOM_BOOTSTRAP_URIregardless of operator SIM.
liblwm2m_carrier 0.10.2
Release for modem firmware versions 1.2.3 and 1.1.4, and nRF Connect SDK 1.4.2.
Size
See Library size for an explanation of the library size in different scenarios.
Flash (Bytes) |
RAM (Bytes) |
|
Library size (binary) |
61728 |
10226 |
Library size (reference application) |
97116 |
29552 |
Changes
LWM2M_CARRIER_EVENT_LTE_READYwill be sent to the application even when the device is outside of AT&T and Verizon networks.The interval to check for sufficient battery charge during FOTA has been reduced from five minutes to one minute.
liblwm2m_carrier 0.10.1
Release for modem firmware versions 1.2.2 and 1.1.4, and nRF Connect SDK 1.4.1.
Changes
Minor fixes and improvements.
liblwm2m_carrier 0.10.0
Snapshot release for modem firmware version 1.2.2 and the upcoming version 1.1.4, and nRF Connect SDK 1.4.0.
This release is intended to let users begin integration towards the AT&T and Verizon device management platforms. Modem firmware version 1.1.4 must be used for Verizon, and the modem firmware version 1.2.2 must be used for AT&T.
The snapshot can be used for development and testing only. It is not ready for certification.
Changes
Reduced the required amount of stack and heap allocated by the library.
Reduced the power consumption of the library.
Renamed the event
LWM2M_CARRIER_EVENT_READYtoLWM2M_CARRIER_EVENT_REGISTERED.Introduced a new event
LWM2M_CARRIER_EVENT_LTE_READY, to indicate that the LTE link can be used by the application.The Modem DFU socket can now be used by the application when it is not needed by the library.
liblwm2m_carrier 0.9.1
Release with AT&T support, intended for modem firmware version 1.2.1 and nRF Connect SDK version 1.3.1.
Size
See Library size for an explanation of the library size in different scenarios.
Flash (Bytes) |
RAM (Bytes) |
|
Library size (binary) |
61450 |
9541 |
Library size (reference application) |
92750 |
30992 |
Changes
Minor fixes and improvements.
liblwm2m_carrier 0.9.0
Snapshot release for the upcoming modem firmware version 1.2.1 and the nRF Connect SDK 1.3.0.
This release is intended to let users begin integration towards the AT&T and Verizon device management platforms. It can be used for development and testing only. It is not ready for certification.
Changes
Added new APIs to create and access portfolio object instances. A new portfolio object instance can be created using
lwm2m_carrier_portfolio_instance_create().lwm2m_carrier_identity_read()andlwm2m_carrier_identity_write()are used to read and write to the corresponding Identity resource fields of a given portfolio object instance.Expanded API with “certification_mode” variable that chooses between certification (test) or production (live) servers upon the initialization of the LwM2M carrier library.
Expanded API with “apn” variable to set a custom APN upon the initialization of the LwM2M carrier library.
PSK Key is now set independently of custom URI.
Added the LWM2M_CARRIER_USE_CUSTOM_BOOTSTRAP_PSK and LWM2M_CARRIER_CUSTOM_BOOTSTRAP_PSK Kconfig options.
PSK format has been modified to be more user-friendly.
Previous format: Byte array. For example,
static const char bootstrap_psk[] = {0x01, 0x02, 0xab, 0xcd, 0xef};.Current format: A null-terminated string that must be composed of hexadecimal numbers. For example, “0102abcdef”.
liblwm2m_carrier 0.8.2
Release for modem firmware version 1.1.2, with support for Verizon Wireless.
Changes
Fixed a memory leak.
Added lwm2m_carrier_event_deferred_t to retrieve the event reason and timeout.
Added FOTA errors to LWM2M_CARRIER_EVENT_ERROR event.
Size
See Library size for an explanation of the library size in different scenarios.
Flash (Bytes) |
RAM (Bytes) |
|
Library size (binary) |
45152 |
7547 |
Library size (reference application) |
65572 |
28128 |
liblwm2m_carrier 0.8.1+build1
Release for modem firmware version 1.1.0, with support for Verizon Wireless.
Changes
Fixed a memory leak.
Size
See Library size for an explanation of the library size in different scenarios.
Flash (Bytes) |
RAM (Bytes) |
|
Library size (binary) |
44856 |
7546 |
Library size (reference application) |
64680 |
28128 |
liblwm2m_carrier 0.8.1
Release for modem firmware version 1.1.0, with support for Verizon Wireless.
Changes
Numerous stability fixes and improvements.
Updated Modem library version dependency.
Fixed an issue where high LTE network activity could prevent modem firmware updates over LwM2M.
Added the following library events:
LWM2M_CARRIER_EVENT_CONNECTING, to indicate that the LTE link is about to be brought up.
LWM2M_CARRIER_EVENT_DISCONNECTING, to indicate that the LTE link is about to be brought down.
LWM2M_CARRIER_EVENT_DEFERRED, to indicate that the LwM2M operation is deferred for 24 hours.
LWM2M_CARRIER_EVENT_ERROR, to indicate that an error has occurred.
Renamed the following library events:
LWM2M_CARRIER_EVENT_CONNECT to LWM2M_CARRIER_EVENT_CONNECTED.
LWM2M_CARRIER_EVENT_DISCONNECT to LWM2M_CARRIER_EVENT_DISCONNECTED.
liblwm2m_carrier 0.8.0
Release for modem firmware version 1.1.0 and nRF Connect SDK v1.1.0, with support for Verizon Wireless.
Changes
Abstracted several new functions in the glue layer to improve compatibility on top of the master branch.
Reorganized NVS keys usage to make it range-bound (0xCA00, 0xCAFF). This range is not backward compatible, so you should not rely on pre-existing information saved in flash by earlier versions of this library.
Added APIs to set the following values from the application:
Available Power Sources
Power Source Voltage
Power Source Current
Battery Level
Battery Status
Memory Total
Error Code
The application must set and maintain these values to reflect the state of the device. Updated values are pushed to the servers autonomously.
Added API to set the
Device Typeresource. If not set, this is reported asSmart Device.Added API to set the “Software Version” resource. If not set, this is reported as “LwM2M 0.8.0”.
Added API to set the “Hardware Version” resource. If not set, this is reported as “1.0”.
Known issues and limitations
It is not possible to use a DTLS connection in parallel with the library.
It is not possible to use a TLS connection in parallel with LwM2M-managed modem firmware updates. The application should close any TLS connections when it receives the LWM2M_CARRIER_EVENT_FOTA_START event from the library.
liblwm2m_carrier 0.6.0
Initial public release for modem firmware version 1.0.1. This release is intended to let users begin the integration on the Verizon Wireless device management platform and start the certification process with Verizon Wireless. It is recommended to upgrade to the next release when it becomes available. The testing performed on this release does not meet Nordic standard for mass production release testing.
Known issues and limitations
It is not possible to use a DTLS connection in parallel with the library.
It is not possible to use a TLS connection in parallel with LwM2M-managed modem firmware updates. The application should close any TLS connections when it receives the LWM2M_CARRIER_EVENT_FOTA_START event from the library.
The API to query the application for resource values is not implemented yet.
The “Available Power Sources” resource is reported as
DC power (0)andExternal Battery (2).The following resources are reported to have value
0(zero):Power Source Voltage, Power Source Current, Battery Level, Battery Status, Memory Free, Memory Total, Error Code.
The “Device Type” resource is reported as
Smart Device.The “Software Version” resource is reported as
LwM2M 0.6.0.The “Hardware Version” is reported as
1.0.
The following values are reported as dummy values instead of being fetched from the modem:
“IP address”, reported as
192.168.0.0.
The “Current Time” and “Timezone” resources do not respect write operations, instead, read operations on these resources will return the current time and timezone as kept by the nRF91 Series modem.