Commit Graph
1546 Commits
Author SHA1 Message Date
hejiaxin f772cd6d38 fix(bt_hfp): Fix macro definition 2026-09-03 17:30:32 +08:00
Wang Meng Yang 7f1b8d002e Merge branch 'feature/hfp_lc3' into 'master'
Feature/hfp lc3

See merge request espressif/esp-idf!50037
2026-09-03 14:44:47 +08:00
hejiaxin 25ca329650 fix(bt_hfp): Fix the solution of unknown AT command 2026-09-03 11:04:05 +08:00
hejiaxin 9f6cf1ac3c feat(bluedroid): Update LC3-SWB support in bluedroid
- Update LC3 in btc and bta, update AT
- Update LC3 in SCO frame transfer and examples
- improve lc3 transfer speed
- Fix some encoding and decoding bugs
- Rename the functions and macros to fit both msbc and lc3
- Add config dependency
- Add migration guides for bluetooth-classic
- change the statement of "Wide Band Speech" to "Wideband Speech" to fit HFPv1.10
2026-09-03 11:02:50 +08:00
Jiang Jiang Jian b91a486cc1 Merge branch 'bugfix/delete_unused_avrcp_rcb' into 'master'
fix(bt/bluedroid): delete the unused AVRCP acceptor RCB when A2DP open fails

Closes IDFGH-18197

See merge request espressif/esp-idf!52226
2026-09-03 11:02:05 +08:00
Wang Meng Yang eb90cd94b8 Merge branch 'bugfix/fix_osi_event_bug' into 'master'
Bugfix/fix osi event bug

See merge request espressif/esp-idf!51916
2026-09-02 17:47:06 +08:00
Matteo Sandrin 35cf3fa42b fix(bt/bluedroid): delete the unused AVRCP acceptor RCB when A2DP open fails 2026-08-28 05:24:44 -04:00
Wang Meng Yang 1b937bd648 Merge branch 'bugfix/a2dp_aac_br' into 'master'
fix(bt): Fix some bugs of A2DP AAC

Closes BTQABR2023-876, BTQABR2023-877, BTQABR2023-878, and BTQABR2023-879

See merge request espressif/esp-idf!51819
2026-08-28 15:26:50 +08:00
Wang Meng Yang 63076cf266 Merge branch 'fix/bt_memory' into 'master'
fix(bt_memory): Reduce memory usage in transfer

See merge request espressif/esp-idf!51396
2026-08-28 14:52:59 +08:00
yangfeng 5a8e9347a5 fix(bt): Build the optimal config when registering A2DP SEP 2026-08-27 15:58:39 +08:00
yangfeng d1d1f91b12 fix(bt): Add invalid codec capability verification when registering SEP 2026-08-27 15:44:58 +08:00
yangfeng 998bd59e3f feat: Add default SBC SEP in A2DP init 2026-08-27 15:44:58 +08:00
yangfeng ba8b1091a5 fix(bt): Fix the processing of bit rate being 0 in A2DP AAC 2026-08-27 15:44:58 +08:00
hejiaxin 12fe70031f fix(bt_avrcp): size some AVRC command buffers 2026-08-27 15:14:53 +08:00
hejiaxin 59eee88105 fix(bt_l2cap): size L2CAP ERTM S-frame & RX SDU buffer 2026-08-27 15:13:58 +08:00
hejiaxin 8a0156c4ed fix(bt_sdp): size SDP TX buffers 2026-08-27 15:11:44 +08:00
hejiaxin 53200e1ec4 fix(bt_rfcomm): size RFCOMM TX buffers by peer MTU 2026-08-27 15:10:28 +08:00
hejiaxin b58556b338 fix(bt_hid): size HID TX buffers to report length 2026-08-27 15:10:05 +08:00
Island e2930d30c8 Merge branch 'bugfix/fix_bluedroid_find_info_format_mismatch' into 'master'
fix(ble/bluedroid): restore find info PDU stop on UUID format mismatch

See merge request espressif/esp-idf!52063
2026-08-26 22:00:25 +08:00
Island 61aefd09ae Merge branch 'feat/ble_smp_repairing_hardening' into 'master'
feat(ble/bluedroid): add Kconfig options for BLE re-pairing hardening

See merge request espressif/esp-idf!51221
2026-08-26 15:07:45 +08:00
zhanghaipeng 196cb39545 fix(ble/bluedroid): restore find info PDU stop on UUID format mismatch
Restore GATT_NO_RESOURCES when sequential attributes have differing UUID
sizes so gatts_process_find_info() stops building the response PDU.
2026-08-26 11:20:23 +08:00
Jiang Jiang Jian 1072706739 Merge branch 'bugfix/avrcp_version_compatibility' into 'master'
fix(bt): Fix the issue of AVRCP version compatibility

Closes BTQABR2023-886

See merge request espressif/esp-idf!51978
2026-08-26 10:37:22 +08:00
liqigan 8873769d11 change(bt/bluedroid): Used dynamic osi event to reduce lock cost 2026-08-25 15:50:22 +08:00
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
yangfeng f3c7229003 fix(bt): Fix the issue of AVRCP version compatibility 2026-08-24 11:31:48 +08:00
zhiweijian 88ea45be73 feat(ble/bluedroid): reject LE re-pairing that weakens an existing bond
Add smp_repairing_is_allowed() behind BT_BLE_SMP_HARDENED_REPAIRING so a
peer cannot replace an existing bond with one that has less MITM
protection, no Secure Connections, or a shorter key. Compare a preceding
Security Request against the pairing command AuthReq, not the
association-model result, and always allow first pairing.

A refusal keeps the stored bond. Pairing-failure erase is split by link
role: default is erase as Central and keep as Peripheral.

Closes BLERP (NDSS 2026) V3, V4 and V6.
2026-08-21 19:17:48 +08:00
zhiweijian f864615d7d fix(ble/bluedroid): harden LE bond handling across encryption
Keep the existing bond until the new pairing is encrypted, and on encryption
failure drop the link instead of clearing keys. Recovering from a peer that
really deleted the bond is opt-in through BT_BLE_SMP_UNBOND_ON_KEY_MISSING.

Closes BLERP (NDSS 2026) V5, and stops an unauthenticated Pairing Request
from dropping the stored keys (V2 exploitation).
2026-08-21 19:17:48 +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
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
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
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
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
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
Wang Meng Yang 462d942b51 Merge branch 'bugfix/a2dp_sink_nego_sbc' into 'master'
fix(bt): do not cap AVDTP Discover results by local SEP count

Closes IDFGH-17987

See merge request espressif/esp-idf!51241
2026-08-13 14:51:08 +08:00
Wang Meng Yang a05486f3dc Merge branch 'fix/aireview_pbap' into 'master'
fix(bt_pbap): Fix some bugs in bluedroid PBAP

See merge request espressif/esp-idf!51331
2026-08-13 14:18:20 +08:00
yangfeng 0f2681a484 fix(bluedroid): Fix the compilation issue of BCM_STRNCPY_S 2026-08-13 10:04:28 +08:00
yangfeng c4da788094 fix(bt): do not cap AVDTP Discover results by local SEP count
- Closes https://github.com/espressif/esp-idf/issues/18848
2026-08-13 09:53:07 +08:00
Zhou Xiao 08252a2dd5 fix(bt): initialize BLE Log in host-only mode 2026-08-12 18:50:08 +08:00
hejiaxin abfd193662 fix(bt_pbap): Fix some bugs in bluedroid PBAP
- Add sdp_seq to avoid p_ccb being free during sdp
- Changed some BTA_Pba functions to return non-void value
- Improve error catching and report
- Refactor bta_pba_client_response to avoid UAF problem
- Rearrange btc_pba_client init flag to avoid some disturbing bug
2026-08-12 16:00:11 +08:00
Island 5371ee669b Merge branch 'feat/support_pawr_connect_evt' into 'master'
feat(ble/bluedroid): Support PAWR connection event

See merge request espressif/esp-idf!50612
2026-08-03 10:16:58 +08:00
zhiweijian 68dff5d798 fix(ble/bluedroid): Build LE event mask from host feature macros 2026-07-30 21:00:37 +08:00
zhiweijian 7da7fa42ac feat(ble/bluedroid): Support PAWR connection event 2026-07-30 21:00:26 +08:00
Wang Meng Yang 744464271d Merge branch 'feat/bt_in_psram' into 'master'
feat(bluedroid): Add config to place btu and hci task stack in psram

Closes BT-4136

See merge request espressif/esp-idf!51002
2026-07-29 14:49:19 +08:00
Jiang Jiang Jian 139d968de0 Merge branch 'bugfix/sco_pkt_type_err' into 'master'
fix(bt/bluedroid): fixed incorrect eSCO packet type validation in secure connection mode

Closes BTQABR2023-849

See merge request espressif/esp-idf!51251
2026-07-29 14:41:23 +08:00
Wang Meng Yang 82b28b2641 Merge branch 'fix/aireview_critical' into 'master'
fix: Fix some critical bugs in classic bt

See merge request espressif/esp-idf!50312
2026-07-29 11:41:36 +08:00
Wang Meng Yang d348f43f56 Merge branch 'bugfix/a2dp_api_init_check' into 'master'
fix(bt): Fix compatibility with A2DP API legacy usage methods

Closes IDFGH-17892

See merge request espressif/esp-idf!50611
2026-07-28 19:35:28 +08:00
Jin Cheng c274987a7a fix(bt/bluedroid): fixed incorrect eSCO packet type validation under secure connection mode in BlueDroid 2026-07-28 15:21:29 +08:00
chenjianhua 0407893834 feat(bt): Add host-agnostic BT OSAL and shared BLE profile task
- Add bt_osal: event queues, mutexes, semaphores, callouts, etc.
- Add the shared BLE profile task and event queue
- Bring both up and tear them down in the host init/deinit paths
- Add unit tests for the OSAL and the profile task
2026-07-26 13:24:53 +08:00
Wang Meng Yang 0185451ed1 Merge branch 'fix/bluedroid_aireview' into 'master'
Fix/bluedroid aireview

See merge request espressif/esp-idf!49972
2026-07-24 16:58:20 +08:00
hejiaxin 54cd579d3b fix(bt_stack): Fix some critical bugs in classic_bt stack
related: obex, smp, pbap, sdp, rfcomm, stack_dm

- Deinit function doesn't delete connection when OBEX_DYNAMIC_MEMORY is on
- Union tGOEPC_DATA sometimes is free by osi_free in some cases when it contains mtu_id
- Add correct free and return solution after fail
- Fix symbol mistake in mod calculation
- Fix pointer-related UAF problems and memory free problems
- Fix buffer overflows and out-of-bounds access
- Fix infinite loops triggered by integer overflow wraparound
- Fix double free
- Change layer_specific usage to avoid heap overflow
- Add some NULL check for pointers
- Fix sdp_db free function
- Fix state table mismatch
2026-07-23 15:46:38 +08:00