diff --git a/doc/_scripts/software_maturity/software_maturity_features.yaml b/doc/_scripts/software_maturity/software_maturity_features.yaml index ddfe5f7a8751..cf3c85394b01 100644 --- a/doc/_scripts/software_maturity/software_maturity_features.yaml +++ b/doc/_scripts/software_maturity/software_maturity_features.yaml @@ -56,6 +56,8 @@ features: Thread 1.2 - CSL Receiver: OPENTHREAD_CSL_RECEIVER Thread 1.2 - Link Metrics: OPENTHREAD_LINK_METRICS_INITIATOR && OPENTHREAD_LINK_METRICS_SUBJECT Thread 1.3 - Core: OPENTHREAD_THREAD_VERSION_1_3 + Thread 1.4 - Core: OPENTHREAD_THREAD_VERSION_1_4 + Thread 1.4 - DNS over TCP: OPENTHREAD_DNS_CLIENT_OVER_TCP Thread - Full Thread Device (FTD): OPENTHREAD_FTD Thread - Minimal Thread Device (MTD): OPENTHREAD_MTD Thread FTD + Bluetooth LE multiprotocol: OPENTHREAD_FTD && BT diff --git a/doc/nrf/links.txt b/doc/nrf/links.txt index da00faf28954..6023d742ac6c 100644 --- a/doc/nrf/links.txt +++ b/doc/nrf/links.txt @@ -1192,6 +1192,7 @@ .. _`Thread Group members`: https://www.threadgroup.org/thread-group .. _`Thread Group's certification information`: https://www.threadgroup.org/What-is-Thread/Certification .. _`Thread 1.3.0 Features White Paper`: https://www.threadgroup.org/Portals/0/documents/support/Thread1.3.0WhitePaper_07192022_3990_1.pdf +.. _`Thread 1.4 Features White Paper`: https://www.threadgroup.org/Portals/0/Documents/Thread_1.4_Features_White_Paper_September_2024.pdf .. _`Thread Group's Confluence wiki page`: https://threadgroup.atlassian.net/wiki/spaces/THREADTEST/pages/25900869/Supporting+Material diff --git a/doc/nrf/protocols/thread/configuring.rst b/doc/nrf/protocols/thread/configuring.rst index 696036ee1911..8b2e2c4d5f57 100644 --- a/doc/nrf/protocols/thread/configuring.rst +++ b/doc/nrf/protocols/thread/configuring.rst @@ -103,15 +103,16 @@ See the following files for more options that you might want to change: Thread Specification options ============================ -The OpenThread stack can be configured to operate in compliance with either the Thread 1.1 Specification, the :ref:`Thread 1.2 Specification `, or the :ref:`Thread 1.3 Specification `. +The OpenThread stack can be configured to operate in compliance with either the Thread 1.1 Specification, the :ref:`Thread 1.2 Specification `, the :ref:`Thread 1.3 Specification `, or the :ref:`Thread 1.4 Specification `. You can change the stack version by using the following Kconfig options: * :kconfig:option:`CONFIG_OPENTHREAD_THREAD_VERSION_1_1` - Selects the Thread stack version that is compliant with the Thread 1.1 Specification. * :kconfig:option:`CONFIG_OPENTHREAD_THREAD_VERSION_1_2` - Selects the Thread stack version that is compliant with the Thread 1.2 Specification. * :kconfig:option:`CONFIG_OPENTHREAD_THREAD_VERSION_1_3` - Selects the Thread stack version that is compliant with the Thread 1.3 Specification. +* :kconfig:option:`CONFIG_OPENTHREAD_THREAD_VERSION_1_4` - Selects the Thread stack version that is compliant with the Thread 1.4 Specification. This option is enabled by default if no other option is selected. -By enabling support for Thread 1.2, you enable the following :ref:`thread_ug_supported_features_v12` in addition to the Thread 1.1 features: +By selecting support for Thread 1.2, you enable the following :ref:`thread_ug_supported_features_v12` in addition to the Thread 1.1 features: * Coordinated Sampled Listening (CSL) * Link Metrics Probing @@ -120,12 +121,16 @@ By enabling support for Thread 1.2, you enable the following :ref:`thread_ug_sup * Enhanced Frame Pending * Enhanced Keep Alive -By selecting support for Thread 1.3, you enable the following features in addition to the :ref:`Thread 1.2 features `: +By selecting support for Thread 1.3, you enable the following :ref:`thread_ug_supported_features_v13` in addition to the :ref:`thread_ug_supported_features_v12`: * Service Registration Protocol (SRP) client +By selecting support for Thread 1.4, you enable the following :ref:`thread_ug_supported_features_v14` in addition to the :ref:`thread_ug_supported_features_v13` and :ref:`thread_ug_supported_features_v12`: + +* Enhanced Internet Connectivity +* Enhanced Network Diagnostics + For a list of all supported features in the |NCS|, see the :ref:`thread_ug_feature_sets`. -For more information about Thread 1.2 features, see the `Thread 1.2 Base Features`_ document. .. _ug_thread_configuring_eui64: diff --git a/doc/nrf/protocols/thread/overview/supported_features.rst b/doc/nrf/protocols/thread/overview/supported_features.rst index 3bd0a07e779c..f381b41c5264 100644 --- a/doc/nrf/protocols/thread/overview/supported_features.rst +++ b/doc/nrf/protocols/thread/overview/supported_features.rst @@ -7,7 +7,7 @@ Supported Thread features :local: :depth: 2 -The OpenThread implementation of the Thread protocol supports all features defined in the Thread 1.3.0 Specification that are required for the Thread 1.3 Certification program: +The OpenThread implementation of the Thread protocol supports all features defined in the Thread 1.4 Specification that are required for the Thread 1.4 Certification program: * All Thread networking layers: @@ -26,13 +26,19 @@ The OpenThread implementation of the Thread protocol supports all features defin * Multicast across Thread networks * Thread Domain unicast addressing -* Features introduced with Thread 1.3.0: +* Features introduced with Thread 1.3: * Service Registration Protocol (SRP) client * Transport Control Protocol (TCP) +* Features introduced with Thread 1.4: + + * Enhanced Internet Connectivity + * Enhanced Network Diagnostics + * Secure Commissioning at Scale with TCAT + In the |NCS|, you can choose which version of the Thread protocol to use in your application. -By default, the |NCS| supports Thread 1.3, which includes support for Thread 1.2. +By default, the |NCS| supports Thread 1.4, which includes support for Thread 1.3 and Thread 1.2. You can enable and configure any Thread version by using :ref:`dedicated options `. .. _thread_ug_supported_features_v12: @@ -151,7 +157,51 @@ An alternative TCP stack implementation incorporated from the OpenThread project See the :file:`tcp.conf` configuration file in the :file:`snippets/tcp/` directory of the :ref:`ot_cli_sample` sample for an example how to enable the alternative TCP implementation. -Limitations for Thread 1.3 support +.. _thread_ug_supported_features_v14: + +Thread 1.4 features +******************* + +For more information about this Thread version, see the official `Thread 1.4 Features White Paper`_. + +.. note:: + See :ref:`thread_ug_thread_specification_options` for how to enable the 1.4 features that are currently available in the |NCS|. + +Enhanced Internet Connectivity +============================== + +Thread 1.4 introduces significant enhancements to how Thread devices can connect to the public internet. +This expansion is achieved through robust support for both IPv6 and IPv4, ensuring a future-proof compatibility with the existing internet infrastructure. + +Enhanced Network Diagnostics +============================ + +The Enhanced Network Diagnostics added in Thread 1.4 include: + +* EUI-64 +* Thread Protocol Version and Thread Stack Version +* Vendor Name, Vendor Model, and Vendor Software Version +* Detailed Child information - for Thread Mesh Extenders only +* Child IPv6 Address List - for Thread Mesh Extenders only +* Mesh Extender (Router) Neighbors - for Thread Mesh Extenders only +* Mesh Link Establishment (MLE) Protocol Counters +* Vendor App URL +* A method ("Answer TLV") to split a particularly large diagnostic data set over multiple UDP messages + +The entity collecting the Thread diagnostic information may itself be directly connected to a Thread network, for example situated on a Thread 1.4 Border Router. +The collected information can then be retrieved via an authenticated, secure connection from an app or back-end to this Border Router. +The entity could also be situated outside the Thread Network, collecting diagnostic information in the role of a Thread Commissioner - via a secured IPv6 link to a Thread Border Router. + +Thread Commissioning over Authenticated TLS (TCAT) +================================================== + +Thread 1.4 introduces TCAT to enable fast and secure commissioning of large volumes of Thread devices. +This feature uses an authenticated, certificate-based TLS session between the new Thread device and a commissioning tool/device. +TCAT support is optional and is expected to be used primarily in commercial (B2B) markets. + +See the :file:`tcat.conf` configuration file in the :file:`snippets/tcat/` directory of the :ref:`ot_cli_sample` sample for an example how to enable the TCAT functionality. + +Limitations for Thread 1.4 support ================================== -Transport Control Protocol (TCP) as defined by the Thread 1.3 Specification is only supported in experimental mode by the |NCS|. +Thread Commissioning over Authenticated TLS (TCAT) is an optional feature and is only supported in experimental mode by the |NCS|.