Mistake on this page? Email us

Device Management Client 4.13.2

Device Management Client example

  • Extend the lifetime from 3 minutes to 2 hours. Default lifetimes that are too frequent can deplete battery-operated devices. It needs to be adjusted according to the specific usage scenario of the device.

Factory Configurator Client example

  • No changes.

Device Management Client

  • PAL_MAX_FOLDER_DEPTH_CHAR increased from 66 to 128 bytes for Linux targets.
  • [Linux]: Bugfix - update with large images and a short lifetime was failing.
    • The downloading of the image happens only after the FOTA state is being updated in the service to FOTA_SOURCE_STATE_DOWNLOADING.
    • The FOTA state auto-observable resource is kept observable even upon CoAP RESET message from the service.

Known issues

  • [Linux/Zephyr] Asynchronous DNS does not work well, and the device fails to reconnect to the cloud if some of the pods are restarted. In such a scenario, the device needs to be restarted.

Mbed OS

We recommend you read the Mbed OS release notes for known issues and their latest status.

  • PSA is in preview level and as such isn't ready for production yet.
    • You can't update the precompiled PSA binary through firmware update. You can only update the application, itself.
    • K64F:
      • You can use the board in PSA mode (without real hardware PSA implementation).
      • The configuration file that allows this is placed under the configs-psa folder in the example.
      • The PSA mode adds RAM consumption (static +3.5KB) and flash/ROM consumption (+18.5KB).
      • Arm and Partners are optimizing the solution in future releases.

Linux

  • Asynchronous DNS does not work well, and the device fails to reconnect to the cloud if some of the pods are restarted. In such a scenario, the device needs to be restarted. To address this issue, the default DNS settings should be overridden to synchronous DNS in the application level by setting the PAL_DNS_API_VERSION flag to 0.
  • glibc versions 2.23 and 2.24 have a bug in thread creation. It can cause random crashes with Linux. If possible, update glibc to version 2.25 (or later). See sourceware issue 20116 for details. We have implemented a workaround for this issue to decrease its likelihood. This issue may still occur under certain circumstances.
  • Yocto release support for client has been deprecated - if you need it, please contact us.
  • Primary offering for Linux embedded distributions is our Izuma Edge-solution via LmP.

Zephyr OS

  • Asynchronous DNS does not work well, and the device fails to reconnect to the cloud if some of the pods are restarted. In such a scenario, the device needs to be restarted. To address this issue, the default DNS settings should be overridden to synchronous DNS in the application level by setting the DNS API selection to POSIX.
  • Configuration MBED_CLOUD_CLIENT_CUSTOM_URI_PORT is not available for Zephyr. If you need, contact us and we will add it. Enabling it now makes the image break the size limit and linking fails.

Device Management Client Third Party IP report

Device Management Client uses some third-party IP (TPIP) components. This table lists the TPIP and sources:

Original License Description
bsdfiff BSD 2 Clause Diff algorithm used for delta update image generation.
LZ4 BSD 2 Clause (lz4.c and lz4.h under /lib in LZ4) Compression algorithm used for compressing delta update images.
TinyCBOR MIT Factory configurator client (FCC) uses TinyCBOR, which is a constrained node implementation of CBOR in C, with slight modifications. The code is at mbed-cloud-client/tinycbor and in a standalone repository in GitHub.
Unity MIT Platform Adaptation Layer (PAL) tests use Unity framework from ThrowTheSwitch. The code is at mbed-cloud-client/mbed-client-pal/Test/Unity.

NXP SDK

Additional TPIP for NXP SDK:

Original License Description
Amazon FreeRTOS kernel v10.2 MIT FreeRTOS kernel from Amazon.
lwIP Modified BSD Lightweight IP stack.
Platform support files BSD 3 Clause Platform specific files in platform/NXP.
LPC54608J512 Linker script BSD 3 Clause Linker script for GNU C.
LPC54xxx generated configuration files BSD 3 Clause Board-support specific generated files in pal-platform/SDK/LPCXpresso54628/generated.
LPC54xxx board support software Copyright NXP Board support software for LPC5400-series - we don't provide this; you must download this with MCUXpresso SDK Builder yourself.
MIMXRT106XXX Linker script BSD 3 Clause Linker script for GNU C.
EVK-MIMXRT1060 generated configuration files BSD 3 Clause Board-support specific generated files in pal-platform/SDK/EVK-MIMXRT1060/generated.
EVK-MIMXRT1060 board support software Copyright NXP Board support software for EVK-MIMXRT1060 - we don't provide this; you must download this with MCUXpresso SDK Builder yourself.

Keil SDK

Original License Description
Platform support files BSD 3 Clause Platform-specific files in platform/KEIL.
Platform adaptation layer files MIT Platform adaptation layer files in Source/Port/Reference-Impl/OS_Specific/RTX_MW.

Renesas SDK

Additional TPIP for Renesas SDK (FSP):

Original License Description
Amazon FreeRTOS kernel v10.3 MIT FreeRTOS kernel from Amazon.
Renesas Flexible Software Package (FSP) v1.0.0 Copyright (c) Renesas Board support package for RA6M3 boards. Running pal-platform.py will git clone this repository to your work area under pal-platform/SDK/Renesas_EK_RA6M3/fsp.
Renesas e2studio generated configuration files Copyright (c) Renesas Renesas e2studio generates a number of files, available in pal-platform/SDK/Renesas_EK_RA6M3/e2studio_gen.
lwIP Modified BSD Lightweight IP stack.
Platform support files BSD 3 Clause Platform specific files in platform/Renesas_EK_RA6M3.
Platform adaptation layer files MIT Platform adaptation layer files in Source/Port/Reference-Impl/OS_Specific/Renesas_EK_RA6M3.

Secure Device Access (SDA)

If you enable Secure Device Access (SDA), you will use some additional TPIP:

Original License Description
cose-c BSD 3 Clause IETF Concise Binary Object Representation (CBOR) Encoded Message Syntax (COSE) - a copy of this library is located under mbed-cloud-client/tree/master/secure-device-access-client/cose-c.

Mbed OS

You also get more TPIP with the Mbed OS release, itself. See its LICENSE.md file for details.