From 52ac615094b10180c2d66722e0196e53cf92adcb Mon Sep 17 00:00:00 2001 From: Tan Yan Quan Date: Wed, 22 Oct 2025 17:28:24 +0800 Subject: [PATCH 1/5] feat(openthread): update OT upstream to 36b14d3ef --- components/openthread/openthread | 2 +- components/openthread/sbom_openthread.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/components/openthread/openthread b/components/openthread/openthread index 3b3dd203be6..36b14d3ef74 160000 --- a/components/openthread/openthread +++ b/components/openthread/openthread @@ -1 +1 @@ -Subproject commit 3b3dd203be690995d1a89b110322e4eafafc3a3b +Subproject commit 36b14d3ef74f5e37e5be8902e1c1955a642fdfbf diff --git a/components/openthread/sbom_openthread.yml b/components/openthread/sbom_openthread.yml index 73b3caa70bf..74398658c69 100644 --- a/components/openthread/sbom_openthread.yml +++ b/components/openthread/sbom_openthread.yml @@ -5,4 +5,4 @@ supplier: 'Organization: Espressif Systems (Shanghai) CO LTD' originator: 'Organization: Google LLC' description: OpenThread released by Google is an open-source implementation of the Thread networking url: https://github.com/espressif/openthread -hash: 3b3dd203be690995d1a89b110322e4eafafc3a3b +hash: 36b14d3ef74f5e37e5be8902e1c1955a642fdfbf From de620d2e25c9656b9306989e67acf9e18fd985bf Mon Sep 17 00:00:00 2001 From: Tan Yan Quan Date: Wed, 22 Oct 2025 17:28:48 +0800 Subject: [PATCH 2/5] feat(openthread): support OT upstream dhcpv6 feature --- .../openthread-core-esp32x-ftd-config.h | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/components/openthread/private_include/openthread-core-esp32x-ftd-config.h b/components/openthread/private_include/openthread-core-esp32x-ftd-config.h index 6e62ee5f390..284c5493fe1 100644 --- a/components/openthread/private_include/openthread-core-esp32x-ftd-config.h +++ b/components/openthread/private_include/openthread-core-esp32x-ftd-config.h @@ -457,6 +457,36 @@ #define OPENTHREAD_CONFIG_BORDER_AGENT_ID_ENABLE 1 #endif +/** + * @def OPENTHREAD_CONFIG_BORDER_ROUTING_DHCP6_PD_ENABLE + * + * Define to 1 to enable Border Routing DHCPv6 PD. + * + */ +#ifndef OPENTHREAD_CONFIG_BORDER_ROUTING_DHCP6_PD_ENABLE +#define OPENTHREAD_CONFIG_BORDER_ROUTING_DHCP6_PD_ENABLE 1 +#endif + +/** + * @def OPENTHREAD_CONFIG_BORDER_ROUTING_DHCP6_PD_CLIENT_ENABLE + * + * Define to 1 to enable Border Routing DHCPv6 client. + * + */ +#ifndef OPENTHREAD_CONFIG_BORDER_ROUTING_DHCP6_PD_CLIENT_ENABLE +#define OPENTHREAD_CONFIG_BORDER_ROUTING_DHCP6_PD_CLIENT_ENABLE 1 +#endif + +/** + * @def OPENTHREAD_CONFIG_BORDER_ROUTING_DHCP6_PD_CLIENT_MIN_LIFETIME + * + * This parameter sets the minimum preferred lifetime (in seconds) for the Border Router's built-in OpenThread + * DHCPv6 Prefix Delegation (PD) client feature. The default value is set to 30 to pass the certification case. + */ +#ifndef OPENTHREAD_CONFIG_BORDER_ROUTING_DHCP6_PD_CLIENT_MIN_LIFETIME +#define OPENTHREAD_CONFIG_BORDER_ROUTING_DHCP6_PD_CLIENT_MIN_LIFETIME 30 +#endif + /** * @def OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE * From 9a22339daa2499691fc7bc2e2f31d70958dd6826 Mon Sep 17 00:00:00 2001 From: Tan Yan Quan Date: Thu, 23 Oct 2025 04:21:24 +0000 Subject: [PATCH 3/5] feat(openthread): update thread-lib for new OT upstream 36b14d3ef * esp-openthread: thread_zigbee/esp-openthread@397da59b2 * openthread: espressif/openthread@36b14d3ef * esp-idf: espressif/esp-idf@49a872fc6 --- components/openthread/lib | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/openthread/lib b/components/openthread/lib index 984efc1578c..baa93a0cffc 160000 --- a/components/openthread/lib +++ b/components/openthread/lib @@ -1 +1 @@ -Subproject commit 984efc1578c856af215f33fcfeab645145949b46 +Subproject commit baa93a0cffc57c2f9cb0518d2e5ab3518ae5fa88 From f480be6d56c348e3ca95f7a8a22c75a3ef36fa65 Mon Sep 17 00:00:00 2001 From: Shu Chen Date: Thu, 23 Oct 2025 10:20:44 +0800 Subject: [PATCH 4/5] change(802.15.4): change the default cca threshold to -75dBm --- components/ieee802154/Kconfig | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/components/ieee802154/Kconfig b/components/ieee802154/Kconfig index 5d0b46666d2..54e7229affe 100644 --- a/components/ieee802154/Kconfig +++ b/components/ieee802154/Kconfig @@ -53,9 +53,9 @@ menu "IEEE 802.15.4" int "CCA detection threshold" depends on IEEE802154_ENABLED range -120 0 - default -60 + default -75 help - set the CCA threshold, in dB + set the CCA threshold, in dBm config IEEE802154_PENDING_TABLE_SIZE int "Pending table size" From 49ea34da8782ee5161c11c68432acf7e58c97c12 Mon Sep 17 00:00:00 2001 From: Tan Yan Quan Date: Thu, 23 Oct 2025 11:56:34 +0800 Subject: [PATCH 5/5] feat(openthread): add kconfig option for timing optimization --- components/openthread/Kconfig | 8 ++++++++ components/openthread/linker.lf | 10 ++++++---- examples/openthread/ot_rcp/sdkconfig.defaults | 2 ++ 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/components/openthread/Kconfig b/components/openthread/Kconfig index 99ed9fd364e..b113cfd1f4c 100644 --- a/components/openthread/Kconfig +++ b/components/openthread/Kconfig @@ -307,10 +307,17 @@ menu "OpenThread" Set the DNS server IPv4 address. endmenu + config OPENTHREAD_TIMING_OPTIMIZATION + bool "Enable timing optimization" + default n + help + Select this option to enable timing optimization for link metrics / CSL features. + config OPENTHREAD_LINK_METRICS bool "Enable link metrics feature" default n select IEEE802154_TIMING_OPTIMIZATION if IEEE802154_ENABLED + select OPENTHREAD_TIMING_OPTIMIZATION help Select this option to enable link metrics feature @@ -331,6 +338,7 @@ menu "OpenThread" bool "Enable CSL feature" default n select IEEE802154_TIMING_OPTIMIZATION if IEEE802154_ENABLED + select OPENTHREAD_TIMING_OPTIMIZATION help Select this option to enable CSL feature menu "CSL Configurations" diff --git a/components/openthread/linker.lf b/components/openthread/linker.lf index ffadcdff912..58c830c8e7a 100644 --- a/components/openthread/linker.lf +++ b/components/openthread/linker.lf @@ -1,15 +1,17 @@ [mapping:openthread] archive: libopenthread.a entries: - if OPENTHREAD_CSL_ENABLE = y || OPENTHREAD_LINK_METRICS = y: - csl_tx_scheduler (noflash) + if OPENTHREAD_TIMING_OPTIMIZATION = y: link_metrics (noflash) link_quality (noflash) - mac (noflash) mac_frame (noflash) - mesh_forwarder (noflash) radio (noflash) sub_mac (noflash) + if OPENTHREAD_TIMING_OPTIMIZATION = y && OPENTHREAD_RADIO = n: + mesh_forwarder (noflash) + csl_tx_scheduler (noflash) + mac (noflash) + if OPENTHREAD_RCP_SPI = y: ncp_spi (noflash) diff --git a/examples/openthread/ot_rcp/sdkconfig.defaults b/examples/openthread/ot_rcp/sdkconfig.defaults index 7a4583d9723..0419e6a33c7 100644 --- a/examples/openthread/ot_rcp/sdkconfig.defaults +++ b/examples/openthread/ot_rcp/sdkconfig.defaults @@ -50,3 +50,5 @@ CONFIG_LOG_DEFAULT_LEVEL_NONE=y CONFIG_LIBC_NEWLIB_NANO_FORMAT=y CONFIG_OPENTHREAD_LOG_LEVEL_DYNAMIC=n CONFIG_OPENTHREAD_LOG_LEVEL_NONE=y +CONFIG_OPENTHREAD_TIMING_OPTIMIZATION=y +CONFIG_FREERTOS_HZ=1000