Device Management Client 2.1.0 General Availability (GA)
Features
- Edge-specific unregistration parameter
d
for a translated device to the registration message body. - Yocto Sumo support.
Fixes
Device Management Client example
Updated to Mbed OS 5.10.3.
Device Management Connect client
Start reconnection if no response received for CoAP ping.
Factory configurator client
Fixed SOTP flash write area to accept values larger than eight bytes.
Device Management Update client
- Implemented new error codes for the campaign metrics feature.
- Client reports an error if the firmware image is greater than the device flash limit.
- Fixed issues with 32-bit addressing limits to enable downloading of very large firmware images.
- Removed an unnecessary DNS lookup. The HTTP source FSM implementation repeated the DNS lookup on every new fragment, even though in most cases the data was expected to be in the TCP receive buffer already. This modifies the FSM to avoid that step unless it is necessary.
- Added logic to generate a compilation error for an invalid download protocol value.
- Defined additional, individually enabled trace functions at compile time to reduce the resume trace ROM size.
- Fixed various Linux warnings.
- Replaced incorrect licence headers for Apache 2.0 and added license headers where missing.
- Removed dependency to the deprecated component
COMMON_PAL
that was removed in Mbed OS 5.9. - Guarded
ARM_UC_cryptoDecrypt
against unnecessary calls. - Removed external reference to
arm_uc_blockdevice
and used the default block device instance from Mbed OS instead. - Added debug messages to check the frequency of resume attempts.
Platform Adaptation Layer (PAL)
- Refactored the internal library structure to allow more streamlined porting to new platforms.
- Removed the limitation for setting the page size for SOTP.
Known issues
Mbed OS
We recommend searching the issue list in the Mbed OS repository for known issues and their latest status.
- For flashing the
.hex
binary with Mbed OS 5.10, you must update your board's DAPLINK firmware to version0250
or later. - Client does not handle packet duplication correctly, which can result in Client being unable to connect. This is fixed in Mbed CoAP 4.7.2, which will be part of Mbed OS 5.11.0 release.
Linux
- 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, as there are Linux version-dependent files (device tree) in the
BOOT
partition. Therefore, updates need to be done 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 newer). 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 the developer certificate mode.
Device Management Client 2.1.0 Third Party IP report
Device Management Client uses some open source Third Party IP (TPIP). This table lists the TPIPs whose sources we included:
Original | License | Description |
---|---|---|
cn-cbor | MIT | Factory configurator client (FCC) uses cn-cbor : A constrained node implementation of CBOR in C, with slight modifications. The code is at mbed-cloud-client/factory-configurator-client/secsrv-cbor. |
Unity | MIT | Platform Adaptation Layer (PAL) tests use Unity framework from ThrowTheSwitch. The code is at mbed-cloud-client/mbed-client-pal/Test/Unity. |
You also get more TPIP with the Mbed OS release itself (for example lwIP and FATFS).