Commit Graph

44750 Commits

Author SHA1 Message Date
Jiang Jiang Jian 200e80503f Merge branch 'bugfix/oob_read_in_continue_packet_v5.4' into 'release/v5.4'
fix(bt/bluedroid): fix ACL reassembly dropping valid continuation fragments (v5.4)

See merge request espressif/esp-idf!47380
2026-04-09 14:37:04 +08:00
Jin Cheng 04ddb36756 fix(bt/bluedroid): moved L2CAP length check into start packets only 2026-04-08 20:41:42 +08:00
Jon Gilmore 02b5d4bb13 fix(bt/bluedroid): fix ACL reassembly dropping valid continuation fragments
The minimum length check in `reassemble_and_dispatch()` applied the START packet minimum (`HCI_ACL_PREAMBLE_SIZE + L2CAP_LENGTH_SIZE` = 8 bytes) to **all** ACL packets, including continuation fragments. Continuation fragments only carry the 4-byte ACL preamble (handle + length) with no L2CAP header, so small but valid continuations (5-7 bytes) were incorrectly rejected as "too short."

This caused the first L2CAP PDU in a rapid burst of BLE GATT indications to be silently dropped. The partial reassembly was orphaned, then discarded when the next indication's START fragment arrived, producing:

```
E BT_HCI: ACL packet too short (len=5)
W BT_HCI: reassemble_and_dispatch found unfinished packet for handle with start packet. Dropping old.
```

Parse the ACL preamble first (requires only 4 bytes) to determine the boundary flag, then apply the L2CAP length check only to START packets. Continuation packets are now accepted with the correct minimum of `HCI_ACL_PREAMBLE_SIZE` (4 bytes).

- ESP32-S3 connected to a BLE peripheral that fragments indications at 40 bytes per L2CAP PDU
- Peripheral sends 8+ indications within ~200ms (burst of state changes)
- The final continuation fragment of the first indication is small (5-6 bytes after type stripping)
- 100% reproducible on every burst; confirmed on ESP-IDF 5.5.3, 5.5.4, and 6.0.0

Verified on ESP32-S3 with a Sub-Zero wall oven (SO3050PESP, firmware 8.5):
- **Before fix:** First indication in every burst lost (ACL reassembly failure)
- **After fix:** All indications in burst delivered correctly, including when the final continuation fragment is 5-6 bytes

Closes https://github.com/espressif/esp-idf/issues/18414
2026-04-08 20:41:42 +08:00
Jiang Jiang Jian 9c4bbcdace Merge branch 'bugfix/fixed_disconnect_issues_v5.4' into 'release/v5.4'
Bugfix/fixed disconnect issues v5.4

See merge request espressif/esp-idf!47186
2026-04-01 16:18:12 +08:00
zhaoweiliang b10d5d31f3 fix(ble): Fixed an occasional disconnection issue on ESP32-C6 and ESP32-H2 2026-03-31 19:36:24 +08:00
Jiang Jiang Jian e20cf83b09 Merge branch 'docs/update_c2_feature_status_v5.4' into 'release/v5.4'
fix(docs): Updated BLE features support status (5.4)

See merge request espressif/esp-idf!46858
2026-03-30 12:16:41 +08:00
Wei Yuhan 48389747a8 docs(ble): Added BLE Multi Connection Guide 2026-03-27 16:50:41 +08:00
Wei Yuhan e5b6b980e1 docs(ble): Removed esp32c5 and esp32c61 labels in the ble doc 2026-03-27 16:45:45 +08:00
Wei Yuhan ea98ec65c4 fix(docs): Updated GATT Caching support status 2026-03-27 16:17:06 +08:00
Jiang Jiang Jian e153ab93fa Merge branch 'bugfix/idfci-8990_v5.4' into 'release/v5.4'
fix(bt): Fix crash due to functions not placed in IRAM(v5.4)

See merge request espressif/esp-idf!46942
2026-03-27 10:14:54 +08:00
xiongweichao 0ece0e924c fix(bt): Fix crash due to functions not placed in IRAM 2026-03-26 21:06:55 +08:00
Jiang Jiang Jian 4d1dfc7c6e Merge branch 'bugfix/wifi_cmd_version_in_iperf' into 'release/v5.4'
update wifi-cmd version in wifi iperf

See merge request espressif/esp-idf!47007
2026-03-26 17:59:21 +08:00
Jiang Jiang Jian befa3a2c2f Merge branch 'bugfix/sae_pwe_method_log_v5.4' into 'release/v5.4'
fix(esp_wifi): Add a log to print sae_pwe method used by station for wpa3 connection

See merge request espressif/esp-idf!46696
2026-03-26 10:51:26 +08:00
ding huan 3abe72dadc fix(example): update wifi-cmd version in iperf 2026-03-25 19:57:33 +08:00
Jiang Jiang Jian 512ebf2cc0 Merge branch 'ci/update_github_permission_v5.4' into 'release/v5.4'
ci(github): update workflow permission (v5.4)

See merge request espressif/esp-idf!46930
2026-03-25 17:16:21 +08:00
Xiao Xufeng ff014ae78c ci(github): update workflow permission 2026-03-24 11:32:37 +08:00
Wei Yu Han cbd7302d1a fix(docs): Updated BLE features support status
(cherry picked from commit ad43685220)

Co-authored-by: Wei Yuhan <weiyuhan@espressif.com>
2026-03-22 12:41:41 +08:00
Jiang Jiang Jian a7d6fb261d Merge branch 'fix/fix_phy_update_failure_on_c2_5.4' into 'release/v5.4'
fix(ble): fix conn timeout after phy update on ESP32-C2

See merge request espressif/esp-idf!46752
2026-03-21 14:24:34 +08:00
cjin bc60ae40dd fix(ble): fix conn timeout after phy update on ESP32-C2 2026-03-19 09:51:51 +08:00
Shreyas Sheth 6f14b721b3 fix(esp_wifi): Add a log to print sae_pwe method used by station for wpa3 connection
- Fix crash due to debug log for rssi while scanning
2026-03-17 12:01:04 +05:30
Jiang Jiang Jian fe2cc0a64c Merge branch 'fix/usj_fifo_bug_v5.4' into 'release/v5.4'
fix(usj):Fix usj fifo write/read on p4 (backport v5.4)

See merge request espressif/esp-idf!46638
2026-03-17 11:48:04 +08:00
Jiang Jiang Jian 5dc27530cc Merge branch 'feat/bt_distance_test_v5.4' into 'release/v5.4'
feat(bt): Add APIs to read ACL real RSSI and read/write tx power of inq/iscan/page/pscan/ACL (v5.4)

See merge request espressif/esp-idf!46646
2026-03-17 11:14:50 +08:00
Jiang Jiang Jian 25a017a9d7 Merge branch 'feature/update_gdbstub_v5.4' into 'release/v5.4'
gdbstub: backport fixes (v5.4)

See merge request espressif/esp-idf!46581
2026-03-17 10:56:55 +08:00
Jiang Jiang Jian b16c368b3c Merge branch 'bugfix/fix_call_spp_start_discovert_twice_crash_v5.4' into 'release/v5.4'
fix(bt): fix crash when calling esp_spp_start_discovery twice in succession(v5.4)

See merge request espressif/esp-idf!46666
2026-03-17 10:13:27 +08:00
morris 6e907ccdbc Merge branch 'bugfix/fix_legacy_touch_driver_stuck_after_dsleep_v5.4' into 'release/v5.4'
fix(legacy_touch): fixed the read stuck issue after deep sleep (v5.4)

See merge request espressif/esp-idf!46011
2026-03-17 10:11:22 +08:00
Jiang Jiang Jian d6e5d76f66 Merge branch 'contrib/github_pr_18310_v5.4' into 'release/v5.4'
fix(esp_http_server): Dispatch PONG frames to WebSocket handler (GitHub PR) (v5.4)

See merge request espressif/esp-idf!46657
2026-03-17 09:23:52 +08:00
Jiang Jiang Jian 658e24e40f Merge branch 'feat/support_wifi_infinite_retry_v5.4' into 'release/v5.4'
feat(protocol_examples_common): support infinite retries for example_handler_on_wifi_disconnect (v5.4)

See merge request espressif/esp-idf!46671
2026-03-17 09:22:12 +08:00
Jiang Jiang Jian bdc4dc5e9e Merge branch 'feat/expand_periph_skip_ls_no_to_v5.4' into 'release/v5.4'
fix(pm): expand the number of skip light sleep number

See merge request espressif/esp-idf!46625
2026-03-17 09:17:24 +08:00
Alexey Gerenkov 6ea0fe1c15 Merge branch 'feature/update-openocd-to-v0.12.0-esp32-20260304_v5.4' into 'release/v5.4'
feat(tools): update openocd version to v0.12.0-esp32-20260304 (v5.4)

See merge request espressif/esp-idf!46365
2026-03-16 20:26:43 +08:00
Tan Yan Quan 969969ec36 feat(protocol_examples_common): support infinite retries for example_handler_on_wifi_disconnect 2026-03-16 19:49:30 +08:00
xiongweichao 76652f73bd fix(bt): fix crash when calling esp_spp_start_discovery twice in succession 2026-03-16 19:40:29 +08:00
Jiang Jiang Jian 9e7abc9f01 Merge branch 'feat/p4_eco5_ccm_v5.4' into 'release/v5.4'
ISP:  support ccm on P4 eco5 (v5.4)

See merge request espressif/esp-idf!44813
2026-03-16 19:23:57 +08:00
Jiang Jiang Jian 48b82d0690 Merge branch 'contrib/github_pr_16130_v5.4' into 'release/v5.4'
esp_adc: Release the peripheral after calibration (GitHub PR) (v5.4)

See merge request espressif/esp-idf!40002
2026-03-16 19:22:01 +08:00
Jiang Jiang Jian 165aff222d Merge branch 'fix/esp32_adc_continuous_loss_sample_v5.4' into 'release/v5.4'
Fix/esp32 adc continuous loss sample (v5.4)

See merge request espressif/esp-idf!42830
2026-03-16 19:19:42 +08:00
Jiang Jiang Jian 00b61e28f2 Merge branch 'fix/adc_c6_get_high_result_v5.4' into 'release/v5.4'
fix(adc): fix ESP32C6 ADC get high result after enable (v5.4)

See merge request espressif/esp-idf!43229
2026-03-16 19:18:38 +08:00
Jiang Jiang Jian 500963afc5 Merge branch 'bugfix/fix_some_wifi_bugs_260313_v5.4' into 'release/v5.4'
fix(wifi): fix some wifi bugs 260313 v5.4(Backport v5.4)

See merge request espressif/esp-idf!46615
2026-03-16 19:18:09 +08:00
Ashish Sharma e08f079ce3 feat(http_server): adds example to test server pong response 2026-03-16 16:56:13 +08:00
Peter Backeris 3d0e26170d fix(esp_http_server): Dispatch PONG frames to WebSocket handler
PONG frames (opcode 0xA) were never dispatched to the user's WebSocket
handler despite an existing comment stating they should be. The dispatch
condition `ra->ws_type < HTTPD_WS_TYPE_CLOSE` excluded PONG (0xA)
since CLOSE is 0x8.

This caused a critical secondary bug: when the server sends PING frames
and the client responds with PONG, httpd_ws_recv_frame() is never
called for the PONG, leaving the remaining frame bytes (second_byte
plus 4-byte mask_key) unconsumed in the TCP buffer. On the next
WebSocket read, these orphaned bytes are misinterpreted as a new frame
header, causing either "WS frame is not properly masked" errors or
EAGAIN timeouts with garbage length values, effectively destroying
the connection.

Add `ra->ws_type == HTTPD_WS_TYPE_PONG` to the dispatch condition so
PONG frames reach the user handler, which calls httpd_ws_recv_frame()
to properly consume the frame bytes from the socket.

Closes https://github.com/espressif/esp-idf/issues/18227
2026-03-16 16:56:13 +08:00
Alexey Lapshin 2eebcf27c6 fix(esp_gdbstub): adapt xtensa headers 2026-03-16 15:17:34 +07:00
yangfeng 23a7b191ca feat(bt): Add APIs to control transmit power level
- API to read ACL real RSSI
- APIs to read/write tx power of inq/iscan/page/pscan/ACL
2026-03-16 15:45:51 +08:00
laokaiyao 732ee2ddc8 fix(legacy_touch): fixed the read stuck issue after deep sleep 2026-03-16 15:26:47 +08:00
C.S.M 4bb47f5145 fix(usj):Fix usj fifo write/read on p4 2026-03-16 15:22:15 +08:00
Jiang Jiang Jian 4193d214e3 Merge branch 'bugfix/report_hid_close_evt_v5.4' into 'release/v5.4'
fix(hid): Fixed HID repeatedly reporting the close event (v5.4)

See merge request espressif/esp-idf!46612
2026-03-16 14:45:20 +08:00
Jiang Jiang Jian c6ba36d69f Merge branch 'bugfix/pm-673_v5.4' into 'release/v5.4'
backport v5.4: fix analog i2c master race cause by phy retention link

See merge request espressif/esp-idf!46437
2026-03-16 11:51:58 +08:00
Jiang Jiang Jian 0300db2e32 Merge branch 'fix/adc_continuous_iram_config_v5.4' into 'release/v5.4'
fix(adc): fix ESP32/S2 panic when use continuous ADC (v5.4)

See merge request espressif/esp-idf!43640
2026-03-16 11:02:50 +08:00
cjin 1c000d02bc fix(pm): expand the number of skip light sleep number 2026-03-16 08:56:55 +08:00
yangfeng 01fb000eb6 fix(hid): Fixed HID repeatedly reporting the close event 2026-03-15 13:13:12 +08:00
wuzhenghui 378255d28c fix(soc): link rtc_io_num_map to DRAM 2026-03-15 13:12:55 +08:00
yinqingzhao 69cf6b7c4d fix(pm): fix crash issue of esp32 caused by accessing flash in sleep wake process 2026-03-15 13:12:55 +08:00
muhaidong f12e8de207 fix(wifi): fix some wifi bugs 260213
1. fix some wifi bugs related to csi, twt and bss max idle
2. fix cannot sleep after change ps mode
3. fix memory corruption by avoiding unncessary encryption of Mgmt frames
4. fix regdma contention issue
2026-03-15 13:12:55 +08:00