Mistake on this page? Email us

Device Management Client 4.7.1

Device Management Client example

  • [Mbed OS] Updated ISM43362 Wi-Fi driver to #3813a4b with fixes for logging and UDP socket handling.
  • Updated to Pelion end-to-end test library v0.2.8.
  • Added a requirements.txt file for the application.
  • The application and tooling now supports manifest-tool v2.1.0 or later with manifest version 1.

Device Management Client

  • Improved CID recovery in case the CID has expired. Client now proceeds with register-update instead of full registration.
  • Fixed coverity issues.

Device Management Update client

  • Fixed a logical issue in update client logic that prevented further updates after it received a manifest with an invalid signature.

Known issues

  • The earlier revisions of LPCXpresso 546XX have a different QSPI chip than some of the later revisions. The application needs to specify the chip at compile time. Select the correct QSPI chip in the board configuration file (define_NXP_LPC54628.txt). This depends on the board revision.
  • [PAL tests] PAL file system and PAL update tests currently support external SD card storage. Support for other storage types will be added in future releases.
  • [PAL tests] PAL TLS test (TCPHandshakeWhileCertVerify_threads) is not working on Mbed OS 5.13.0.

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 not ready for production yet.
    • You cannot 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

  • Firmware update installation of very large images on Raspberry Pi3B or Pi3B+ may result in a mmc0 timeout failure. This is a generic Raspberry Pi3 issue. See RPI issue #2392.
  • Firmware update from one Linux distribution version to another does not work. For example, firmware update from Yocto distribution Morty to Rocko is not currently possible because of Linux version-dependent files (device tree) in the BOOT partition. Therefore, you must update within one major version of a distribution.
  • 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.
  • The Device Management Client application must run as root to have access rights to perform the firmware update.
    • This is not the most secure way to handle this issue, so a more secure implementation will come later.
  • Yocto distribution has only been tested in developer certificate mode.
  • Yocto distribution used does not yet support Raspberry Pi4.

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 do not provide this, you must download this via 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 do not provide this, you must download this via 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 for details.