Skip to content

Commit 5e235bb

Browse files
alxelaxkartben
authored andcommitted
doc: update migration guide with mesh versions incompatibility
Commit adds description of key representation incompatibility for mesh images built with different crypto libraries. Signed-off-by: Aleksandr Khromykh <[email protected]>
1 parent a09fa5f commit 5e235bb

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

doc/connectivity/bluetooth/api/mesh/dfu.rst

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -212,9 +212,10 @@ re-provisioned. The complete list of available options is defined in :c:enum:`bt
212212
provisioning. In this case, the device stays provisioned and the new composition data takes place
213213
after re-provisioning using the Remote Provisioning models.
214214
:c:enumerator:`BT_MESH_DFU_EFFECT_UNPROV`
215-
This effect is chosen if the composition data in the new firmware changes, the device doesn't
215+
This effect is chosen if the composition data in the new firmware changes, the device does not
216216
support the remote provisioning, and the new composition data takes effect after applying the
217-
firmware.
217+
firmware. The effect can also be chosen, if it is necessary to unprovision the device for
218+
application-specific reasons.
218219

219220
When the Target node receives the Firmware Update Firmware Metadata Check message, the Firmware
220221
Update Server model calls the :c:member:`bt_mesh_dfu_srv_cb.check` callback, the application can

doc/releases/migration-guide-4.1.rst

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -485,6 +485,16 @@ Bluetooth Mesh
485485
set as deprecated. Default option for platforms that do not support TF-M
486486
is :kconfig:option:`CONFIG_BT_MESH_USES_MBEDTLS_PSA`.
487487

488+
* Mesh key representations are not backward compatible if images are built with TinyCrypt and
489+
crypto libraries based on the PSA API. Mesh no longer stores the key values for those crypto
490+
libraries. The crypto library stores the keys in the internal trusted storage.
491+
If a provisioned device is going to update its image that was built with
492+
the :kconfig:option:`CONFIG_BT_MESH_USES_TINYCRYPT` Kconfig option set on an image
493+
that was built with :kconfig:option:`CONFIG_BT_MESH_USES_MBEDTLS_PSA` or
494+
:kconfig:option:`CONFIG_BT_MESH_USES_TFM_PSA` without erasing the persistent area,
495+
it should be unprovisioned first and reprovisioned after update again.
496+
If the image is changed over Mesh DFU, use :c:enumerator:`BT_MESH_DFU_EFFECT_UNPROV`.
497+
488498
* Mesh explicitly depends on the Secure Storage subsystem if storing into
489499
non-volatile memory (:kconfig:option:`CONFIG_BT_SETTINGS`) is enabled and
490500
Mbed TLS library (:kconfig:option:`CONFIG_BT_MESH_USES_MBEDTLS_PSA`) is used.

0 commit comments

Comments
 (0)