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.
- If possible, update
- 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.