fix(bt): Update bt lib for ESP32-C3 and ESP32-S3(2f683593)

- Fixed read remote feature timeout when using coded phy
- Fixed disconnection issue(0x08) when using 125k coded phy
- Fixed disconnection issue(0x08) when updating connection param
- Fixed disconnection issue(0x08) when using multi connection
- Avoid error when adding duplicate device to whitelist
- Support disable channel assessment by vendor hci
- Support smaller connection interval (3.75 ms)
- Support duplicate exception list in EVT ADV


(cherry picked from commit 658ff8730b)

Co-authored-by: zhanghaipeng <zhanghaipeng@espressif.com>
This commit is contained in:
Zhang Hai Peng
2026-04-29 14:53:48 +08:00
parent 3113a33b93
commit decf1d651b
9 changed files with 107 additions and 11 deletions
@@ -563,6 +563,31 @@ config BT_CTRL_CHECK_CONNECT_IND_ACCESS_ADDRESS
This improves security by ensuring that only connection requests with valid Access Addresses are accepted.
If disabled, only basic checks are applied, improving compatibility.
config BT_CTRL_BLE_MIN_CONN_INTERVAL_ENABLE
bool "Allow BLE connection interval below the spec minimum"
default y
select BT_BLE_HOST_ALLOW_SUB_SPEC_MIN_CONN_INT if BT_BLUEDROID_ENABLED
help
Enabling this option allows the BLE controller to use a connection interval
smaller than the Bluetooth Core specification minimum of 7.5 ms. On
ESP32-C3/S3, when this option is enabled, the connection interval can go as
low as 3 * 1.25 ms = 3.75 ms.
Note: Because the connection interval is very short, the time available within
a single connection event is also very limited. It is best not to send or
receive long payloads (e.g. large ATT MTU, Data Length Extension with large
Tx/Rx octets) when this lower interval is used.
This option is enabled by default. Disable it to stay compliant with the BLE
specification (minimum connection interval 7.5 ms).
Host stack: When Bluedroid is the BLE host, enabling this option also selects
BT_BLE_HOST_ALLOW_SUB_SPEC_MIN_CONN_INT so the host accepts connection
intervals below the spec minimum. NimBLE host does not provide equivalent
support yet; it is planned for a future release. Until then, use Bluedroid
if you need coordinated host and controller behavior for sub-minimum
intervals.
menu "Controller debug log Options (Experimental)"
config BT_CTRL_LE_LOG_EN
depends on BT_CTRL_RUN_IN_FLASH_ONLY
+4
View File
@@ -309,6 +309,7 @@ extern void ets_backup_dma_copy(uint32_t reg, uint32_t mem_addr, uint32_t num, b
extern void btdm_cca_feature_enable(void);
extern void btdm_aa_check_enhance_enable(void);
extern void ble_min_conn_interval_enable(uint16_t min_interval);
/* BLE Log module */
#if CONFIG_BT_CTRL_LE_LOG_EN
@@ -1348,6 +1349,9 @@ static void btdm_funcs_table_ready_wrapper(void)
#if BLE_CTRL_CHECK_CONNECT_IND_ACCESS_ADDRESS_ENABLED
btdm_aa_check_enhance_enable();
#endif
#if CONFIG_BT_CTRL_BLE_MIN_CONN_INTERVAL_ENABLE
ble_min_conn_interval_enable(3); // 3 * 1.25 = 3.75ms
#endif
#if CONFIG_BT_CTRL_RUN_IN_FLASH_ONLY
// do nothing
#else