kopia lustrzana https://github.com/espressif/esp-idf
Merge branch 'bugfix/btdm_esp32_ble_white_list_connection_fail' into 'master'
Fixed ESP32 BLE can't resolve the peer address when enable white list See merge request espressif/esp-idf!14348pull/7413/head
commit
8652b1d576
|
@ -21,6 +21,7 @@
|
|||
#define BT_TARGET_H
|
||||
|
||||
#include <bt_common.h>
|
||||
#include "soc/soc_caps.h"
|
||||
|
||||
#ifndef BUILDCFG
|
||||
#define BUILDCFG
|
||||
|
@ -257,6 +258,11 @@
|
|||
#define BLE_ESTABLISH_LINK_CONNECTION_TIMEOUT UC_BT_BLE_ESTAB_LINK_CONN_TOUT
|
||||
#endif
|
||||
|
||||
#ifdef SOC_BLE_DONT_UPDATE_OWN_RPA
|
||||
#define BLE_UPDATE_BLE_ADDR_TYPE_RPA FALSE
|
||||
#else
|
||||
#define BLE_UPDATE_BLE_ADDR_TYPE_RPA TRUE
|
||||
#endif
|
||||
//------------------Added from bdroid_buildcfg.h---------------------
|
||||
#ifndef L2CAP_EXTFEA_SUPPORTED_MASK
|
||||
#define L2CAP_EXTFEA_SUPPORTED_MASK (L2CAP_EXTFEA_ENH_RETRANS | L2CAP_EXTFEA_STREAM_MODE | L2CAP_EXTFEA_NO_CRC | L2CAP_EXTFEA_FIXED_CHNLS)
|
||||
|
|
|
@ -1015,7 +1015,9 @@ uint32_t BTM_BleUpdateOwnType(uint8_t *own_bda_type, tBTM_START_ADV_CMPL_CBACK *
|
|||
}
|
||||
} else if(*own_bda_type == BLE_ADDR_PUBLIC_ID || *own_bda_type == BLE_ADDR_RANDOM_ID) {
|
||||
if((btm_cb.ble_ctr_cb.addr_mgnt_cb.exist_addr_bit & BTM_BLE_GAP_ADDR_BIT_RESOLVABLE) == BTM_BLE_GAP_ADDR_BIT_RESOLVABLE) {
|
||||
#if (BLE_UPDATE_BLE_ADDR_TYPE_RPA)
|
||||
*own_bda_type = BLE_ADDR_RANDOM;
|
||||
#endif
|
||||
btm_cb.ble_ctr_cb.addr_mgnt_cb.own_addr_type = BLE_ADDR_RANDOM;
|
||||
memcpy(btm_cb.ble_ctr_cb.addr_mgnt_cb.private_addr, btm_cb.ble_ctr_cb.addr_mgnt_cb.resolvale_addr, BD_ADDR_LEN);
|
||||
btsnd_hcic_ble_set_random_addr(btm_cb.ble_ctr_cb.addr_mgnt_cb.resolvale_addr);
|
||||
|
|
|
@ -240,6 +240,12 @@ BOOLEAN BTM_SecRegister(tBTM_APPL_INFO *p_cb_info)
|
|||
if (memcmp(btm_cb.devcb.id_keys.ir, &temp_value, sizeof(BT_OCTET16)) == 0) {
|
||||
btm_ble_reset_id();
|
||||
}
|
||||
#if (!BLE_UPDATE_BLE_ADDR_TYPE_RPA)
|
||||
BD_ADDR peer_addr = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0};
|
||||
BT_OCTET16 peer_irk = {0x0};
|
||||
/* add local irk to controller */
|
||||
btsnd_hcic_ble_add_device_resolving_list (0, peer_addr, peer_irk, btm_cb.devcb.id_keys.irk);
|
||||
#endif
|
||||
} else {
|
||||
BTM_TRACE_WARNING("%s p_cb_info->p_le_callback == NULL\n", __func__);
|
||||
}
|
||||
|
|
|
@ -292,3 +292,6 @@
|
|||
*/
|
||||
#define SOC_SDMMC_USE_IOMUX 1
|
||||
#define SOC_SDMMC_NUM_SLOTS 2
|
||||
|
||||
/*------------------------------ BLE --------------------------------------------*/
|
||||
#define SOC_BLE_DONT_UPDATE_OWN_RPA (1)
|
||||
|
|
Ładowanie…
Reference in New Issue