Commit Graph
6106 Commits
Author SHA1 Message Date
Island 120d813cd9 Merge branch 'bugfix/fix_bluedroid_gatt_discover_downstream_stall' into 'master'
fix(ble/bluedroid): allow osi_event re-post during POSTING window

Closes BLERP-3044, BLERP-3042, BLERP-3043, BLERP-3051, and BLERP-3052

See merge request espressif/esp-idf!51833
2026-08-25 12:13:38 +08:00
Island 5de7d85e4e Merge branch 'feat/support_ble_ots_nimble' into 'master'
Feat/support ble ots nimble

See merge request espressif/esp-idf!51019
2026-08-25 11:19:50 +08:00
Island 59c42b763f Merge branch 'feat/ble-log-build-and-chip-version-report' into 'master'
feat(ble_log): Periodically Report ESP-IDF & BLE Controller Build Commit and Chip Version

See merge request espressif/esp-idf!51947
2026-08-25 11:19:13 +08:00
Rahul Tank 76ecf87829 Merge branch 'bugfix/gatt_cach_disconn' into 'master'
fix(nimble): gatt caching crash on disconnect

Closes BLERP-3059

See merge request espressif/esp-idf!51962
2026-08-24 21:27:08 +05:30
Island 17780f1f85 Merge branch 'idf/ble_mesh_iv_recover' into 'master'
feat(ble_mesh): Enable IV Index recovery by default

See merge request espressif/esp-idf!51968
2026-08-24 17:07:24 +08:00
chenjianhua aca579eeca feat(ble/nimble): support ble ots profile 2026-08-24 15:43:15 +08:00
Wang Meng Yang 44008286d6 Merge branch 'fix/aireview_obex' into 'master'
fix(bt_obex): fix some bugs in bluedroid obex

See merge request espressif/esp-idf!51054
2026-08-24 14:20:40 +08:00
Astha Verma b1f2ebffef fix(nimble): Fixed gatt caching crash on disconnect 2026-08-24 11:15:40 +05:30
Liu Linyan 8e59eb4850 feat(ble_mesh): Enable IV Index recovery by default 2026-08-22 17:53:25 +08:00
Zhou Xiao 5d989c4ce8 test(ble_log): add on-target test app for the version info frame
New ble_log_test app captures the runtime hook output through the test
peripheral and validates the version info frame: source code, BLE Log
version, a hex-valid idf commit that must be non-zero, per-lib commit
fields non-zero exactly when the matching lib is linked, and chip
model/revision matching esp_chip_info(). The README carries the
generated empty Supported Targets table to match the build-test
manifest.

The test drives transports via sustained writes instead of
ble_log_flush(): the flush window disables the module, so hook frames
written during a flush would be dropped.

Also move .build-test-rules.yml from ble_log_perf_test/ to the
test_apps/ root (one manifest entry per app, as elsewhere in ESP-IDF).
Both apps stay disabled until BLE Log test runners are available.

Verified: full esp32c6 build of the app; the build-test checker's own
parsing logic confirms the README table matches the manifest.
2026-08-21 22:35:46 +08:00
Zhou Xiao 4dfb8568e7 feat(ble_log): report build, lib and chip versions in a version info frame
Replace the 2-byte BLE Log info record with a 58-byte version info
frame (BLE_LOG_VERSION 5 -> 6; the abandoned branch that claimed the
version-6 slot frees it, so the overall bump stays 5 -> 6):

- idf build commit (12 bytes), injected at build time by
  register_ble_log_idf_commit() next to the other register_* helpers;
  the git probe is only trusted when the IDF tree itself is a
  repo/worktree, since rev-parse walks up parent directories
- controller, btdm_common, BLE Mesh and BLE Audio lib commits (10
  bytes each, zero-padded), every getter guarded by the exact
  condition that links its lib, so configs without the lib leave the
  field zero (no link errors)
- chip model and revision from esp_chip_info() at runtime

Lib strings are copied NUL-safely instead of assuming a fixed hash
length; the mesh commit is the substring after the last space of
bt_mesh_v11_commit_str. Frame layout is pinned by a static assert.

Verified on target: esp32, esp32c3, esp32c5 and esp32h4 boards (the
h4 run covers controller + btdm_common + mesh in one build); the
audio-enabled build is blocked by pre-existing esp_ble_audio compile
errors on this base (audio symbol verified with nm instead).
2026-08-21 22:35:46 +08:00
Island 7e5a5f1099 Merge branch 'idf/ble_audio_misc_fixes' into 'master'
fix(ble_audio): Miscellaneous fixes for running coordinated set

See merge request espressif/esp-idf!51932
2026-08-21 16:36:02 +08:00
Island b033a9fedd Merge branch 'chore/ble-log-unused-code' into 'master'
chore: BLE Log Unused Code Cleanup

See merge request espressif/esp-idf!51910
2026-08-21 14:55:08 +08:00
Liu Linyan d637115d38 fix(ble_audio): Miscellaneous fixes for running coordinated set 2026-08-21 11:09:14 +08:00
hejiaxin dfc939ff02 fix(bt_obex): fix some bugs in bluedroid obex
- fix goepc wait state switch
- fix psm unbind's mismatch
- fix some resources leak
- fix goep connection's incorrect ternimation when congesting
- Add some NULL ptr check
2026-08-21 10:50:35 +08:00
Jiang Jiang Jian 535fa4c3b2 Merge branch 'bugfix/bta_disable_not_run' into 'master'
fix(bt/bluedroid): fix BTA event dispatch race during moduel disable

See merge request espressif/esp-idf!51809
2026-08-20 19:35:35 +08:00
Jiang Jiang Jian 643070c243 Merge branch 'bugfix/hci_cmd_proc' into 'master'
fix(bt/bluedroid): fixed the function prototype of the command handler of READ LOCAL SUPPORTED CODECS.

Closes BTQABR2023-888

See merge request espressif/esp-idf!51832
2026-08-20 19:35:24 +08:00
Zhou Xiao afc12706a0 refactor(ble_log): simplify timestamp sync scheduling 2026-08-20 16:41:29 +08:00
Island 3c2884103f Merge branch 'idf/ble_audio_example_update' into 'master'
feat(ble_audio): Miscellaneous update for ISO & Audio examples

See merge request espressif/esp-idf!51812
2026-08-20 16:29:37 +08:00
Zhou Xiao 33cddfae15 refactor(ble_log): remove obsolete unit test hooks 2026-08-20 15:33:02 +08:00
zhanghaipeng 011138ffd9 fix(ble/bluedroid): allow osi_event re-post during POSTING window
Do not reject osi_thread_post_event() when only POSTING is set.
QUEUED already prevents double-queueing; rejecting POSTING caused
HCI downstream lost wakeup. Add generic osi_event and hci downstream
diagnostics for post failures.
2026-08-20 13:32:14 +08:00
Liu Linyan d2fee5862a feat(ble_audio): Miscellaneous update for ISO & Audio examples 2026-08-20 11:24:32 +08:00
zhanghaipeng 8d230c7650 docs(bt): clarify Bluedroid GATT signed write API comments
Correct misleading CHAR_PROP_BIT_AUTH wording and document CSRK-based
signed write usage for server permissions and client write APIs.
2026-08-20 11:22:42 +08:00
Zhou Xiao 68ece6c8b6 refactor(ble_log): close the lifecycle gate before teardown
Introduce a seq_cst closing gate shared by the runtime and the LBM:
submitters increment the reference count before checking the inited
flag, and deinit closes the gate and waits for the count to drain
before deleting tasks, timers, queues, or buffers. A producer either
observes shutdown or its reference is visible to the wait, which makes
ble_log_deinit safe while write APIs are still active.

Submitters no longer block on the queue while holding a reference: a
timeout-0 send that cannot queue recycles the transport so its data
survives for the next flush.

Extract ble_log_ref_count_try_acquire/wait into the utility layer and
gate every LBM writer through ble_log_lbm_ref_acquire. ble_log_deinit
now closes the LBM gate first (ble_log_lbm_close) instead of clearing
the enable flag.
2026-08-19 23:17:46 +08:00
Zhou Xiao ccbc94cacc refactor(ble_log): decouple runtime submission ownership
Move transport ownership from the runtime to the LBM: submit and
recycle now hand the peripheral-owned flag explicitly instead of the
runtime reaching back into LBM buffers. The submit path never blocks
producers - a transport that cannot be queued is recycled immediately
so its data survives for the next flush.

Cross-context ownership accesses go through explicit atomic helpers:
release-store on recycle pairs with acquire-loads in the flush paths,
and the inflight high-water mark stays a relaxed CAS-max (a plain
volatile update races the runtime hook's statistics reads).
2026-08-19 23:15:07 +08:00
Island 58d66f4bc5 Merge branch 'fix/fixed_qa_test_issues_for_s31' into 'master'
fix(ble): fixed occasional sched assertion for scan scenario

Closes BLERP-3055 and BLERP-3056

See merge request espressif/esp-idf!51848
2026-08-19 20:35:13 +08:00
Jin Cheng 347b2461ae fix(bt/bluedroid): fixed BTA event dispatch race during module disable
- Gate bta_sys_event() on both 'is_reg' and 'reg[id]' to prevent
  stale event delivery.
- Defer bta_sys_deregister() to the end of profile disable handlers
  to ensure pending DISABLE events are processed.
- Add disabling flag to HFP AG for tracking asynchronous teardown.
2026-08-19 15:04:37 +08:00
Shen Weilong 91b4fdca8f fix(ble): fixed occasional sched assertion for scan scenario 2026-08-19 12:08:02 +08:00
Rahul Tank 6311559fe6 fix(nimble): Fix unpair_oldest_peer deleting wrong device
Sort bond entries by bond_count after in-place updates to maintain correct
eviction order, and log IRK resolving-list failures instead of failing the bond.
2026-08-18 22:06:27 +05:30
Rahul Tank 20afd9de88 fix(nimble): route PAwR connection failures to sync callback 2026-08-18 18:10:05 +05:30
Wang Meng Yang 9150d065a3 Merge branch 'feat/support_pan_bnep' into 'master'
feat(bt/bluedroid): support Classic Bluetooth PAN profile

See merge request espressif/esp-idf!50641
2026-08-18 17:38:59 +08:00
Jin Cheng 1e511cff5f fix(bt/bluedroid): fixed the function prototype of the command handler of READ LOCAL SUPPORTED CODECS 2026-08-18 09:49:24 +08:00
Rahul Tank b59df9b133 fix(nimble): Add separate helper functions to register notification/indication 2026-08-17 21:53:57 +05:30
linruihao 4f54340e51 feat(bt/bluedroid): support Classic Bluetooth PAN profile
- Port part of PAN/BNEP code from Android
- Add ESP API and BTC layer
2026-08-17 19:52:21 +08:00
Island ce33f48e01 Merge branch 'idf/ble_audio_ccc_fix' into 'master'
fix(ble_audio): Fix CCCD not found during GATTC auto discovery

See merge request espressif/esp-idf!51541
2026-08-17 16:13:22 +08:00
Island 93d5482e41 Merge branch 'feat/ble-log-test-app-support' into 'master'
feat(ble_log): add BLE log perf test app with test transport

See merge request espressif/esp-idf!51767
2026-08-17 11:16:14 +08:00
Liu Linyan 3aaad018dd fix(ble_audio): Recover ISO HCI cmd from a dropped hciT wakeup 2026-08-17 10:08:07 +08:00
Liu Linyan 338093c59a fix(ble_audio): Fix CCCD not found during GATTC auto discovery 2026-08-17 10:08:01 +08:00
Rahul Tank 74f5d7823b Merge branch 'bugfix/fix_restart_gatt_svr' into 'master'
fix(nimble): Add fix to handle service reset during server start

Closes BLERP-3015 and BLERP-3040

See merge request espressif/esp-idf!51546
2026-08-16 09:55:02 +05:30
Zhou Xiao a855a19e53 feat(ble_log): add BLE log perf test app with test transport
Add a Unity-based perf test app under ble_log/test_apps with two
separate measurement purposes:

- throughput: multi-task (write_hex x3) + LL task/HCI + ISR + compressed
  writers under 2 Mbps / 20 Mbps link caps, measuring system-wide
  throughput only
- cycle: single-writer write_hex / write_hex_ll / compressed writes at
  link=0, measuring per-frame cycles; the compressed path is split into
  the encode phase and the write_hex phase via test-only counters in
  ble_log_compression.c

Add the test-only transport (CONFIG_BLE_LOG_PRPH_TEST) that models DMA
ownership transfer and link-rate backpressure.
2026-08-14 18:34:47 +08:00
Wang Meng Yang 062a6949ad Merge branch 'bugfix/fix_bredr_example_build_warning' into 'master'
fix(bt): fix unused-variable build warnings for BR/EDR examples on  ESP32-S31

See merge request espressif/esp-idf!51771
2026-08-14 17:03:54 +08:00
Rahul Tank b229e4d3d5 fix(nimble): Add fix to handle service reset during server start 2026-08-14 13:47:34 +05:30
Island b639f688c2 Merge branch 'fix/fix_btdm_lp_clock_config' into 'master'
fix(ble): fix bt_apb module clock config on esp32h4 and esp32s31

See merge request espressif/esp-idf!51772
2026-08-14 16:12:30 +08:00
Rahul Tank ee4e8fd9c3 Merge branch 'bugfix/fix_add_resolve_after_connect_master' into 'master'
fix(nimble): Fix adding device to resolving list when defer connection

Closes BLERP-3007

See merge request espressif/esp-idf!51314
2026-08-14 10:39:56 +05:30
cjin 7552394de8 fix(ble): fix bt_apb module clock config on esp32h4 and esp32s31 2026-08-14 12:02:26 +08:00
Wang Mengyang 160c84f688 fix(bt): fix unused-variable build warnings for BR/EDR examples on ESP32-S31 2026-08-14 11:27:41 +08:00
Wang Meng Yang eb95e67ce3 Merge branch 'feature/refactor_with_broker' into 'master'
feat(bt): refactor bt sdk with broker for esp32h4 and esp32s31

Closes BTQABR2023-778, BTQABR2023-873, BTQABR2023-863, BTQABR2023-864, BLERP-3016, BLERP-3020, BLERP-3022, BLERP-3023, BLERP-3024, BLERP-3025, BLERP-3026, BLERP-3027, BLERP-3028, BLERP-3029, BLERP-3030, BLERP-3031, BLERP-3032, BLERP-3033, BLERP-3034, BT-4440, WIFI-7353, IDFGH-17891, BT-4466, and BLERP-3035

See merge request espressif/esp-idf!51381
2026-08-13 20:00:08 +08:00
Wang Meng Yang 362fa6b483 Merge branch 'bugfix/strncpy_compilation_issue' into 'master'
fix(bluedroid): Fix the compilation issue of BCM_STRNCPY_S

See merge request espressif/esp-idf!51578
2026-08-13 17:23:32 +08:00
Rahul Tank 846ab1ee50 Merge branch 'bugfix/fix_kconfig_warnings' into 'master'
fix(nimble): move BTDM defaults to esp32

See merge request espressif/esp-idf!51682
2026-08-13 14:27:15 +05:30
Island 91506ea493 Merge branch 'feat/ble-log-spi-hd-support' into 'master'
feat: Supported SPI HD for BLE Log

See merge request espressif/esp-idf!51714
2026-08-13 16:11:38 +08:00