Commit Graph
276 Commits
Author SHA1 Message Date
Aditya Patwardhan 66156479d2 change(secure_boot): mark ECDSA based Secure Boot V2 as insecure on affected SoCs
ECDSA based Secure Boot V2 is not functional for certain input vectors on
ESP32-C5/C61/H2/P4 and on the preview targets ESP32-H4/H21. RSA based Secure
Boot V2 is the recommended scheme where the SoC supports it. This issue will be
fixed in a future hardware ECO revision; more details will be shared through the
hardware errata document.

A new hidden Kconfig option SECURE_BOOT_V2_ECDSA_INSECURE marks the affected
mass-production SoCs (ESP32-C5/C61/H2/P4). On these SoCs, when hardware Secure
Boot V2 is enabled, the ECDSA (V2) signing scheme is no longer offered by
default; it must be turned on explicitly via SECURE_BOOT_V2_FORCE_ENABLE_ECDSA
under "Allow potentially insecure options" (CONFIG_SECURE_BOOT_INSECURE). App
signing without hardware Secure Boot is not affected. Note that ESP32-C61 has no
RSA based Secure Boot V2, so it has no Secure Boot scheme enabled by default.

The preview targets ESP32-H4 and ESP32-H21 mark ECDSA Secure Boot V2 as not
supported in their SoC capabilities instead of using the option above. As
ESP32-H4 has no other Secure Boot V2 scheme, Secure Boot is disabled entirely on
it; ESP32-H21 retains RSA based Secure Boot V2.

The security documentation keeps the ECDSA Secure Boot V2 content visible and
adds a warning describing the limitation (including that ECDSA Secure Boot V2 on
ESP32-C61 is not recommended for production). CI apps that exercise ECDSA Secure
Boot V2 on the affected SoCs set CONFIG_SECURE_BOOT_V2_FORCE_ENABLE_ECDSA
accordingly.
2026-06-10 08:08:07 +05:30
Jiang Jiang Jian c9ba18d854 Merge branch 'fix_otatool_serial_handoff_v5.5' into 'release/v5.5'
fix(otatool): fix flaky serial port handoff in otatool CI test (backport v5.5)

See merge request espressif/esp-idf!47714
2026-05-22 16:32:51 +08:00
Konstantin Kondrashov ce467787a9 feat(bootloader): Support recovery bootloader for ESP32P4/C61 2026-05-13 10:28:58 +03:00
hrushikesh.bhosale 4628ab8833 fix(examples/system/ota/otatool): fix serial port contention in pytest
The otatool pytest calls dut.serial.close() and then immediately
launches otatool_example.py as a subprocess that re-opens the same
serial port via esptool. This fails intermittently because:

1. pytest-embedded's QueueFeederThread still holds a reference to
   the serial port file descriptor when close() returns, causing
   'argument must be an int, or have a fileno() method' error.

2. The OS has not fully released the serial port by the time the
   subprocess tries to open it.

Add a delay after serial close and retry logic for the subprocess
to handle transient serial port contention.

Made-with: Cursor
2026-05-12 11:27:43 +05:30
Fu Hanxi 8a9c2cbeb1 tests: change wifi tests expect timeout to 60
- wifi_router
- wifi_ap
- wifi_high_traffic
2026-04-22 09:22:20 +02:00
Evgeny Torbin d412f4b858 ci: remove unused test cases 2026-03-13 16:06:08 +08:00
Mahavir Jain 09935fda4d Merge branch 'fix/esp_https_ota_header_handling_for_custom_data_v5.5' into 'release/v5.5'
Issue with complete headers for custom partition OTA (v5.5)

See merge request espressif/esp-idf!45795
2026-02-25 12:26:09 +05:30
nilesh.kale b7ef04f701 fix(esp_https_ota): handle ota resumption if server dosent support range requests
This commit added check to see if server supports range requets,
and fallback to OTA without resumption accordingly.

Closes https://github.com/espressif/esp-idf/pull/17960
2026-02-17 11:20:07 +05:30
hrushikesh.bhosale be7fad53ce feat(partition_ota): Modified pytest for storage data
- Modified test for storage data, reduced the size to 500 bytes,
less than IMAGE_HEADER_SIZE (1024), to check the workflow, if the
custom partition other than APP and BOOTLOADER less IMAGE_HEADER_SIZE
performed OTA
2026-02-10 14:00:34 +05:30
Zhang Wen Xu 61ca635d73 Merge branch 'feat/simple_ota_h2_v5.5' into 'release/v5.5'
feat(openthread/ota): support esp32h2 for simple ota example over thread (v5.5)

See merge request espressif/esp-idf!43976
2025-12-26 06:31:37 +00:00
nilesh.kale ab8f49823b feat: added testcase to check ota resumption if FE is enabled
This commit also added config option to set default buffer size for OTA.
This testcase mainly checks if OTA resumption fails if data written is
not 16 byte aligned when Flash Encryption is enabled.
2025-12-18 19:09:56 +08:00
Tan Yan Quan b23f516526 feat(openthread/ota): support esp32h2 for ota examples over thread 2025-12-04 19:56:01 +08:00
Mahavir Jain b458016805 Merge branch 'feat/adding_different_strategy_to_perform_tls_using_dynamic_feature_v5.5' into 'release/v5.5'
Add configuration to control dynamic buffer strategy in mbedtls (v5.5)

See merge request espressif/esp-idf!39919
2025-07-22 14:48:44 +05:30
Jiang Jiang Jian 3c39b32195 Chip/support esp32c61 v5.5 2025-07-22 12:21:36 +08:00
hrushikesh.bhosale 2bfeb41d90 feat(mbedtls): Add configuration to control dynamic buffer strategy in mbedtls
Problem:
1. In low-memory scenarios, the dynamic buffer feature can fail due to memory fragmentation.
2. It requires a contiguous 16KB heap chunk, but continuous allocation and deallocation of
the RX buffer can lead to fragmentation.
3. If another component allocates memory between these operations, it can break up the
available 16KB block, causing allocation failure.

Solution:
1. Introduce configurable strategy for using dynamic buffers in TLS connections.
2. For example, convert RX buffers to static after the TLS handshake.
3. Allow users to select the strategy via a new field in the esp_http_client_cfg_t structure.
4. The strategy can be controlled independently for each TLS session.
2025-06-18 15:01:17 +05:30
Ashish Sharma 415e0f3c86 feat(mbedtls): add support for dynamic buffer for TLS1.3
Closes https://github.com/espressif/esp-idf/issues/15448
2025-04-24 12:05:36 +08:00
Mahavir Jain 78ef080251 Merge branch 'fix/ota_pytest_idf_path_fix' into 'master'
fix(ota): Fix the pytest's idf_path

See merge request espressif/esp-idf!38321
2025-04-15 17:04:39 +08:00
hrushikesh.bhosale 3e1317fd13 fix(ota): Fix the OTA pytest idf_path
Due to ci/pytest-mark-formatter(branch) fix, while executing the main
function from the pytest, it gives error for the incorrect idf_path.

This commit ensure that, idf_path is fixed correctly.
2025-04-15 11:06:51 +05:30
nilesh.kale 54eb749fd2 feat: updated check for chip revision and respective testcases
This commit have updated check for max chip revision along with min chip revision.
Also added qemu based pytest to verify chip revision while performing OTA.
2025-04-07 18:18:16 +08:00
Chen Jichang 6c4271d4bb feat(esp32h4): disable unsupported build 2025-03-28 14:41:29 +08:00
Chen Jichang c34b4eb882 feat(esp32h4): enable ESP32H4 ci build 2025-03-28 14:41:28 +08:00
nilesh.kale 19ea12664d feat: added test for ota resumption through ethernet 2025-03-10 13:32:06 +05:30
Mahavir Jain 843729c6f1 Merge branch 'feature/verify_chip_revision_during_ota' into 'master'
feat(esp_https_ota): added check for revision check while performing OTA

See merge request espressif/esp-idf!37270
2025-03-05 22:29:35 +08:00
igor.udot daf2d31008 test: format all test scripts 2025-03-05 12:08:48 +08:00
nilesh.kale 714ebfc0d1 feat(esp_https_ota): added check for revision check while performing OTA
This commit added check to verify revision while performing OTA process.
OTA with version greater than chip revision will be prohibited.
2025-02-28 17:00:47 +05:30
gaoxu 5ef4f20778 feat(esp32h21): disable unsupported build test 2025-02-06 15:47:51 +08:00
Mahavir Jain 7bce723d82 ci(examples): add tests for OTA resumption feature 2025-01-23 17:13:46 +05:30
nilesh.kale 5c5df89950 feat(esp_https_ota): added ota resumption feature
This commit enabled configurable OTA resumption feature in advanced ota example.
This resumes downloading OTA image from where it left off in case of
an error or reboot.

Closes https://github.com/espressif/esp-idf/issues/13127
2025-01-23 17:13:15 +05:30
hrushikesh.bhosale 8ea58f3d36 feat(ota): Remove the pre_encrypted_ota example from eps-idf
1. Remove the pre_encrypted_ota example from the esp-idf as we have
moved this example idf-extra-components repository under esp_encrypted_img
component
2. Added the migration guide for 5.5 release
2025-01-13 11:33:14 +05:30
Marek Fiala 2c814ef2fa feat(tools): Enforce utf-8 encoding with open() function 2024-12-27 17:12:21 +08:00
nilesh.kale ea6e6cfcbd feat: enabled configurable session resumption support in ota examples
This commit added config option to enable session ticket support
while performing ota. This helps in optimizing latency while
downloading ota over multiple HTTP requests.

closes https://github.com/espressif/esp-idf/issues/14783
2024-11-27 14:20:47 +05:30
Konstantin Kondrashov 4ace94342a Merge branch 'ci/fix_pytest_otatool' into 'master'
fix(examples): Fix closing port in pytest_otatool

Closes IDFCI-2540

See merge request espressif/esp-idf!35117
2024-11-26 08:50:22 +08:00
Konstantin Kondrashov 724ed52209 fix(examples): Fix closing port in pytest_otatool 2024-11-22 07:32:25 +02:00
Frantisek Hrbata 1c92945f59 change(examples): switch examples to use a minimal build
Currently, several example dependencies rely on the fact that all
registered components are added to the build, along with components
specified in common requirements. This results in longer build times
because even unused components must be built. Switch all examples to use
idf_minimal_build to compile only the components actually required by
the example.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-11-20 20:14:40 +01:00
Frantisek Hrbata ad15109daa change(examples): explicitly specify component dependencies for examples
Currently, several examples do not explicitly state their component
dependencies, relying instead on the default behavior that includes all
registered components and commonly required ones in the build.
Explicitly adding component dependencies can reduce build time when
set(COMPONENTS main) is used.

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-11-20 14:11:24 +01:00
Konstantin Kondrashov 97d150d69a feat(app_update): OTA update bootloader, partition_table and other partitions
Passive app partition can be used as the staging partition where a new image is loaded.
Then copy it to the final partition.

Closes: https://github.com/espressif/esp-idf/issues/14195
Closes: https://github.com/espressif/esp-idf/issues/13824
2024-11-07 13:48:51 +02:00
Konstantin Kondrashov 949fc7f2c9 fix(examples): Fix pytest_otatool for C2
Test for C2 has to be run with flash_4mb
2024-10-29 11:59:52 +02:00
Mahavir Jain 44c6e49000 Merge branch 'feat/enable_otatool_support_for_c61' into 'master'
feat(ota): Added support of otatool for esp32c61

Closes IDF-11309

See merge request espressif/esp-idf!34072
2024-10-15 02:10:59 +08:00
hrushikesh.bhosale 66ebdd0b32 feat(ota): Added support of otatool for esp32c61
Enabled the test for esp32c61 for otatool
2024-10-10 14:48:16 +05:30
Konstantin Kondrashov 0592bb6888 fix(examples): Fix flash_enc_wifi test in pytest_simple_ota 2024-10-09 12:39:43 +03:00
Mahavir Jain 1e4ebabe9b Merge branch 'feat/enable_ota_examples_for_c61' into 'master'
feat(ota): Enable support for OTA examples for c61

Closes IDF-10915

See merge request espressif/esp-idf!33270
2024-09-27 12:38:09 +08:00
hrushikesh.bhosale 7db2dfce67 feat(ota): Enable support for OTA examples for c61
Tested OTA examples on esp32c61 and added their support in their
corresponding README.mds
2024-09-26 11:28:41 +05:30
Konstantin Kondrashov d11b958209 refactor(examples): Refactoring and clean up OTA tests 2024-09-25 09:45:08 +03:00
Mahavir Jain 02da65314b Merge branch 'feat/adding_test_case_anti_rollback_and_flash_encryption' into 'master'
feat(ota): Added test for checking flash encryption and anti-rollback enabled

Closes IDF-9200

See merge request espressif/esp-idf!32951
2024-09-02 14:04:45 +08:00
hrushikesh.bhosale 99f0e1b526 feat(ota): Added test for checking flash encryption and anti-rollback enabled
Added test to check if flash encryption and anti-rollback enbaled
together. Added marked pytest.mark.flash_encryption to advanced OTA
test.
2024-08-30 14:11:33 +05:30
Mahavir Jain 44327e6887 Merge branch 'feat/enable_ota_example_for_c5' into 'master'
feat(ota): Checked the support of OTA for esp32c5

See merge request espressif/esp-idf!32673
2024-08-21 15:24:16 +08:00
hrushikesh.bhosale ed4166a64c feat(ota): Checked the support of OTA for esp32c5
Checked the support of OTA features for esp32c5, tested
examples and added the support in README.md file. Even
added the support in systems .build-test-rules.yml
2024-08-21 11:45:41 +05:30
nilesh.kale 214974b038 fix: update https server starting instructions in ota README
This commit updates sequence for methods of starting HTTPS servers
in ota README file.
2024-08-14 15:45:23 +05:30
zhanghaipeng 3e98408b92 docs(ble/bluedroid): Optimize documentation for BLE connection parameter updates 2024-08-06 11:17:46 +08:00
wanlei 3cf069c7d8 feat(esp32c61): disable unsupported build test 2024-07-16 16:06:19 +08:00