From 5451b024558ffcec41128921de119d69f9530255 Mon Sep 17 00:00:00 2001 From: Tan Yan Quan Date: Wed, 22 Oct 2025 17:28:24 +0800 Subject: [PATCH 1/6] 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 4236637835b71f42d61ed3acb1fe7681e64c3cdc Mon Sep 17 00:00:00 2001 From: Tan Yan Quan Date: Wed, 22 Oct 2025 17:28:48 +0800 Subject: [PATCH 2/6] 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 dcf2757923cf3d9de29fc330bfc79bc3cf572472 Mon Sep 17 00:00:00 2001 From: Tan Yan Quan Date: Tue, 28 Oct 2025 07:33:58 +0000 Subject: [PATCH 3/6] feat(openthread): update thread-lib for new OT upstream 36b14d3ef * esp-openthread: thread_zigbee/esp-openthread@fcc4f77f3 * openthread: espressif/openthread@36b14d3ef * esp-idf: espressif/esp-idf@423663783 --- components/openthread/lib | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/openthread/lib b/components/openthread/lib index b4e5843a52d..958671ab997 160000 --- a/components/openthread/lib +++ b/components/openthread/lib @@ -1 +1 @@ -Subproject commit b4e5843a52d3a127e2fb63289e541cf79f866ff0 +Subproject commit 958671ab99725a5c278d9e259d43bfd999ec94f9 From d2fc0e7d3c48e42731ce0b44301a71567af6806b Mon Sep 17 00:00:00 2001 From: Shu Chen Date: Thu, 23 Oct 2025 10:20:44 +0800 Subject: [PATCH 4/6] 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 4a6a7b8bf33b06a24696a7c73a0bb5633be59a35 Mon Sep 17 00:00:00 2001 From: Tan Yan Quan Date: Thu, 23 Oct 2025 11:56:34 +0800 Subject: [PATCH 5/6] 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 50a9510a2aa..4afb83f5d40 100644 --- a/components/openthread/Kconfig +++ b/components/openthread/Kconfig @@ -301,10 +301,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 @@ -325,6 +332,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 2badf6dafae..7a624549d16 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_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 From 0bbbd21692df0502330ece594c5bada850e8017e Mon Sep 17 00:00:00 2001 From: zwx Date: Tue, 29 Apr 2025 19:37:55 +0800 Subject: [PATCH 6/6] feat(openthread): enlarge ot_br factory binary size --- examples/openthread/ot_br/partitions.csv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/openthread/ot_br/partitions.csv b/examples/openthread/ot_br/partitions.csv index 46c7857278a..376458ad8b8 100644 --- a/examples/openthread/ot_br/partitions.csv +++ b/examples/openthread/ot_br/partitions.csv @@ -2,4 +2,4 @@ # Note: if you have increased the bootloader size, make sure to update the offsets to avoid overlap nvs, data, nvs, 0x9000, 0x6000, phy_init, data, phy, 0xf000, 0x1000, -factory, app, factory, 0x10000, 1800K, +factory, app, factory, 0x10000, 1900K,