Commit Graph
5451 Commits
Author SHA1 Message Date
Jiang Jiang Jian 78822efdb0 Merge branch 'bugfix/oob_read_in_continue_packet_v6.0' into 'release/v6.0'
fix(bt/bluedroid): fix ACL reassembly dropping valid continuation fragments (v6.0)

See merge request espressif/esp-idf!47378
2026-04-09 14:36:57 +08:00
Jin Cheng 03c7e87202 fix(bt/bluedroid): moved L2CAP length check into start packets only 2026-04-08 20:39:55 +08:00
Jon Gilmore 051e0e671c 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:39:55 +08:00
zhaoweiliang ea68016cd1 fix(ble): fixed timeout disconnect issue on ESP32-C6 and ESP32-H2 2026-04-08 11:07:10 +08:00
zhaoweiliang f7eae67f25 fix(ble): fixed timeout disconnect issue on ESP32-C5 2026-04-08 11:02:45 +08:00
linruihao 8bc55358c2 fix(coex): fix some esp32 coexistence bugs
- fix ble scan may restart twice in coex scenarios
- fix bredr page/pscan coex request/release not match
- fix bredr incorrect inquiry length calculation
- update bredr page/inquiry pti
- add coex pti protection for entire page/inquiry event
2026-03-24 20:47:10 +08:00
Jiang Jiang Jian bec053b825 Merge branch 'bugfix/idfci-8990_v6.0' into 'release/v6.0'
fix(bt): Fix crash due to functions not placed in IRAM(v6.0)

See merge request espressif/esp-idf!46939
2026-03-24 19:08:55 +08:00
xiongweichao 1713808a13 fix(bt): Fix crash due to functions not placed in IRAM 2026-03-24 11:58:30 +08:00
Rahul Tank 54d0e32c22 fix(nimble): Issue connect cancel in case of outstanding master connection 2026-03-24 08:49:49 +05:30
Jiang Jiang Jian 1ad6fdb5b0 Merge branch 'bugfix/fix_ble_controller_emi_assert_v6.0' into 'release/v6.0'
fix(ble): Fixed BLE assert in "emi.c" when low memory (6.0)

See merge request espressif/esp-idf!46915
2026-03-24 11:01:13 +08:00
Jiang Jiang Jian 8cde477cc3 Merge branch 'feat/add_bluedroid_cancel_open_api_v6.0' into 'release/v6.0'
feat(ble/bluedroid): Added cancel open function for bluedroid (6.0)

See merge request espressif/esp-idf!46902
2026-03-24 10:59:20 +08:00
Island 3b5fd9546e Merge branch 'feat/support_run_time_alloc_for_esp_ip_test_v6.0' into 'release/v6.0'
Support Mempool Run Time Allocation for ESP IP Chips (v6.0)

See merge request espressif/esp-idf!46824
2026-03-23 20:22:48 +08:00
Zhang Hai Peng 52a33960ee fix(ble): Fixed BLE assert in "emi.c" when low memory
(cherry picked from commit e3aac6f703)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
2026-03-23 17:53:21 +08:00
Zhi Wei Jian 0ab597db96 feat(ble/bluedroid): Added cancel open function for bluedroid
(cherry picked from commit a3c09afd85)

Co-authored-by: zhiweijian <zhiweijian@espressif.com>
2026-03-23 17:23:29 +08:00
Jiang Jiang Jian e31e4c1429 Merge branch 'bugfix/oob_in_avrc_v6.0' into 'release/v6.0'
backport for fix of bug bounty. (v6.0)

See merge request espressif/esp-idf!46836
2026-03-23 16:28:52 +08:00
cjin 1a2597eb64 feat(ble): supported ble mempool run time allocation for esp ip chips 2026-03-23 15:10:54 +08:00
zhaoweiliang 7c9719121c change(ble): [AUTO_MR] Update lib_esp32c2 to b8594335 2026-03-23 14:56:43 +08:00
Jin Chenandzhaoweiliang 260fe3bb6f change(ble): [AUTO_MR] Update lib_esp32h2 to 913c704d
(cherry picked from commit a8d705ff7a)

Co-authored-by: zhaoweiliang <zhaoweiliang@espressif.com>
2026-03-23 14:56:43 +08:00
Jin Chenandzhaoweiliang c32da4500f change(ble): [AUTO_MR] Update lib_esp32c6 to 913c704d
(cherry picked from commit 06010a8b79)

Co-authored-by: zhaoweiliang <zhaoweiliang@espressif.com>
2026-03-23 14:56:43 +08:00
Jin Chenandzhaoweiliang d772475370 change(ble): [AUTO_MR] Update lib_esp32c5 to 913c704d
(cherry picked from commit 739cb8e00d)

Co-authored-by: zhaoweiliang <zhaoweiliang@espressif.com>
2026-03-23 14:56:43 +08:00
Jin Chen 86c6941ddb feat(ble): make env init function cuttable on ESP32-C2
(cherry picked from commit 5ec82368ba)

Co-authored-by: cjin <jinchen@espressif.com>
2026-03-23 14:56:43 +08:00
Jiang Jiang Jian 897f50dbf2 Merge branch 'feat/bt_distance_test_v6.0' into 'release/v6.0'
feat(bt): Add APIs to read ACL real RSSI and read/write tx power of inq/iscan/page/pscan/ACL (v6.0)

See merge request espressif/esp-idf!46643
2026-03-23 10:31:10 +08:00
Marius Vikhammer e741963f13 Merge branch 'ci/common-components-release-v6.0' into 'release/v6.0'
ci: update build-test-rules to use common_components (v6.0)

See merge request espressif/esp-idf!45547
2026-03-23 09:31:28 +08:00
Jiang Jiang Jian 000c5df203 Merge branch 'fix/fix_phy_update_failure_on_c2_6.0' into 'release/v6.0'
Fix/fix phy update failure on c2 6.0

See merge request espressif/esp-idf!46797
2026-03-21 14:23:11 +08:00
Frantisek Hrbata fa14a9df47 Merge branch 'feat/cmakev2-backports-v6.0' into 'release/v6.0'
feat(cmakev2): sync pending v6.0 MRs for cmakev2

See merge request espressif/esp-idf!46778
2026-03-21 07:17:43 +01:00
Rahul Tank f00f4b73d6 Merge branch 'bugfix/fix_nimble_issues_2702026' into 'release/v6.0'
fix(nimble) : Fix few nimble issues 27022026

See merge request espressif/esp-idf!46096
2026-03-20 18:47:32 +05:30
Jin Cheng 24ef4bbd57 fix(bt/bluedroid): fixed possible use of uninitialized stack variables in bt_hf_client_at.c 2026-03-20 20:04:59 +08:00
Jin Cheng 8746e5f7e7 fix(bt/bluedroid): fixed possible OOB read in avrc_pars_vendor_cmd 2026-03-20 20:01:19 +08:00
igor.udot e2a8bbe639 ci: update build-test-rules to use common_components 2026-03-20 15:53:26 +08:00
Sumeet Singh 4e84a3df57 fix(nimble): modify logic to print mbuf in ble_hs_log_mbuf (v6.0) 2026-03-20 12:58:38 +05:30
Frantisek Hrbata f90f706e6e fix(bt/config): use osource for target controller configuration
In cmakev2, the configuration for all components is included because the
complete configuration is generated very early, before any component is
actually evaluated. This poses a problem for the Linux target, which
does not have a controller Kconfig.in file, causing kconfgen to fail due
to the missing include. To address this, let's use the osource command,
which does not include the referenced Kconfig file if it does not exist.

Closes https://github.com/espressif/esp-idf/issues/18142

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2026-03-20 08:13:26 +01:00
yangfeng 728f29289d 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-20 14:26:10 +08:00
cjin a2a04f8bfd fix(ble): fix conn timeout after phy update on ESP32-C2 2026-03-20 14:13:55 +08:00
Liu Linyan bb7035f838 fix(ble_mesh): Miscellaneous bugfixes according to our internal bug report 2026-03-20 13:59:28 +08:00
luoxu b738036ee5 feat(ble_mesh): fixed configuration of core nums 2026-03-20 13:59:28 +08:00
Rahul Tank 235397dc75 feat(nimble): Added changes in examples to have code under flags 2026-03-20 11:07:00 +05:30
Rahul Tank 47038aea2f fix(nimble): Fix tinycrypt compilation issues when enabled 2026-03-20 11:00:39 +05:30
Rahul Tank 3813ee6502 fix(nimble): Bugfixes for various issues 2026-03-20 11:00:21 +05:30
Jiang Jiang Jian f99faef51d Merge branch 'feat/support_bleqabr25_1521_v6.0' into 'release/v6.0'
feat(ble/bluedroid): Add an API to resolve RPA (v6.0)

See merge request espressif/esp-idf!46500
2026-03-20 11:22:55 +08:00
Jiang Jiang Jian 83c3c25a45 Merge branch 'bugfix/fix_call_spp_start_discovert_twice_crash_v6.0' into 'release/v6.0'
fix(bt): fix crash when calling esp_spp_start_discovery twice in succession(v6.0)

See merge request espressif/esp-idf!46664
2026-03-20 10:47:42 +08:00
Jiang Jiang Jian d6000ccecd Merge branch 'feat/use_common_config_to_sel_crypt_lib_v6.0' into 'release/v6.0'
Feat/use common config to sel crypt lib (v6.0)

See merge request espressif/esp-idf!46408
2026-03-20 10:39:59 +08:00
Jiang Jiang Jian bea959e55f Merge branch 'bugfix/fix_kconfig_for_ble_cte_depends_v6.0' into 'release/v6.0'
bugfix(ble): remove BT_LE_SECURITY_ENABLE dependency for CTE on ESP32-C5 (v6.0)

See merge request espressif/esp-idf!46342
2026-03-20 10:39:26 +08:00
Jiang Jiang Jian edf0bf67de Merge branch 'fix/use_apb_max_state_for_ble_events_v6.0' into 'release/v6.0'
fix(ble): use apb max state for bt and enable should skip (v6.0)

See merge request espressif/esp-idf!46334
2026-03-20 10:39:19 +08:00
Jiang Jiang Jian 77d11e6381 Merge branch 'fix/ble_hci_log_direction_v6.0' into 'release/v6.0'
feat(ble_log): encode HCI direction in ble_log pipeline (v6.0)

See merge request espressif/esp-idf!46303
2026-03-20 10:38:49 +08:00
Jiang Jiang Jian 7908812022 Merge branch 'bugfix/fix_blufi_nimble_gatt_pkt_v6.0' into 'release/v6.0'
fix(blufi): Handle flattened ATT write payloads correctly in NimBLE BLUFI host (v6.0)

See merge request espressif/esp-idf!46260
2026-03-20 10:38:43 +08:00
Jiang Jiang Jian 4922d627cd Merge branch 'feat/ble_bluedroid_log_full_compression_enable_v6.0' into 'release/v6.0'
feat(ble_mesh): enable log full compression function for bluedroid host (v6.0)

See merge request espressif/esp-idf!46156
2026-03-20 10:37:19 +08:00
Jiang Jiang Jian e4caa65b0b Merge branch 'fix/ble_mesh_nimble_connection_failed_v6.0' into 'release/v6.0'
fix(ble_mesh):fixed nimble connection failed (v6.0)

See merge request espressif/esp-idf!46118
2026-03-20 10:37:10 +08:00
Jiang Jiang Jian 2676490557 Merge branch 'feat/fix_esp32c2_rom_rewrite_issue_rebase_v6.0' into 'release/v6.0'
Feat/fix esp32c2 rom rewrite issue rebase (v6.0)

See merge request espressif/esp-idf!45769
2026-03-20 10:30:46 +08:00
Jiang Jiang Jian 95d8c4f9b3 Merge branch 'fix/ble_mesh_blob_issue_fix_v6.0' into 'release/v6.0'
fix(ble_mesh): Miscellaneous fixes for blob (v6.0)

See merge request espressif/esp-idf!45761
2026-03-20 10:30:39 +08:00
Jiang Jiang Jian 9b9dc79038 Merge branch 'change/ble_update_lib_20260127_v6.0' into 'release/v6.0'
change(ble): [AUTO_MR] 20260127 - Update ESP BLE Controller Lib (v6.0)

See merge request espressif/esp-idf!45678
2026-03-20 10:26:31 +08:00