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 Chen and zhaoweiliang
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 Chen and zhaoweiliang
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 Chen and zhaoweiliang
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