Commit Graph

142 Commits

Author SHA1 Message Date
chenjianhua
175be1c42c bluedroid: support ble privacy by controller 2023-01-10 18:50:11 +08:00
Jin Cheng
2e9a180f43 Fixed crash caused by accessing nullptr in btm_acl_disconnected 2023-01-04 11:47:05 +08:00
chenjianhua
2afe5cdc76 bluedroid: add config for GAP service and periodic adv sync transfer 2022-12-09 13:28:31 +08:00
chenjianhua
fa06476806 bluedroid: add config for robust caching and RPA timeout 2022-12-09 13:28:31 +08:00
chenjianhua
4a487a6a5c bluedroid: support periodic advertising sync transfer cmd 2022-12-09 13:28:31 +08:00
chenjianhua
2048322429 bluedroid: support oob pairing for smp secure connection 2022-12-09 13:28:31 +08:00
jincheng
228bf596dc Added reporting for ACL link related events to application 2022-12-07 02:33:55 +00:00
Alexey Gerenkov
47c2c13de5 build: Adds support for universal Clang toolchain 2022-11-23 13:25:16 +03:00
zwj
39c03e0ce0 Fixed errors reported by CI clang_tidy_check 2022-11-16 15:58:31 +08:00
Jin Cheng
042fd5f895 fixed the issue iOS devices cannot initiate connection
to ESP32 while there is a BLE connection to this ESP32

Closes https://github.com/espressif/esp-idf/issues/6557
2022-10-31 11:08:15 +00:00
Jin Cheng
36d8e0b9ad Revert "fixed the issue iOS devices cannot initiate connection"
This reverts commit da44fc9cbe.
2022-10-20 06:17:33 +00:00
zwj
01faa7b664 allow bluedroid host to report adv_ind separately 2022-10-08 14:49:36 +08:00
Jin Cheng
da44fc9cbe fixed the issue iOS devices cannot initiate connection
to ESP32 while there is a BLE connection to this ESP32

Closes https://github.com/espressif/esp-idf/issues/6557
2022-09-23 17:58:39 +08:00
cjin
42a07cf16b fix err using rpa for confirmation calculation 2022-09-21 12:34:41 +00:00
cjin
b345e89b4a fix on data len change cmd malfunction 2022-09-21 12:34:41 +00:00
chenjianhua
8598610ccd bluedroid: fix ble rpa generate and update by host 2022-09-16 16:54:58 +08:00
chenjianhua
0067c28013 Revert "component/bt: add local irk to controller"
This reverts commit 95c35288bc.
2022-08-19 11:03:15 +08:00
chenjianhua
eaa9897386 Revert "Fixed ESP32 BLE can't resolve the peer address when enable white list"
This reverts commit 1cc0f6aac5.
2022-08-19 11:03:15 +08:00
wangmengyang
f402778320 component/bt: consider to handle HCI LE Direct Advertising Report 2022-08-02 17:40:00 +08:00
wangmengyang
85fc8321c8 component/bt: use fixed_pkt_queue instead of fixed_queue for hci commands
some fixes after modifications:
  1. removed the use of waiting_command_t
  2. fix assert for HCI write_eir command
  3. fixed the crash upon handling command status event when trying to free to the HCI command buffer
  4. fixed the issue in transmitting HCI vendor specific commands
  5. fixed the lost command complete callbacks for HCI commands LE_RAND and LE_ENCRYPT
2022-08-02 17:37:24 +08:00
wangmengyang
5f074e1336 component/bt: fix adv report flow control logic, give ADV report credits every 10 packets 2022-08-02 14:14:07 +08:00
wangmengyang
0a1fa3e204 component/bt: add simple ADV flow control mechanism -- drop the packets when the adv report queues are considered full 2022-08-02 14:14:07 +08:00
Karl Wang
a075aa564f component/bt: use the OSI utility "pkt_queue" to store ADV report packet in btu layer 2022-08-02 14:14:07 +08:00
weitianhua
e51df179ad components_bt/bluedroid: Fix Memory&String Copy Build Err
1. When setting compilier into -O2 optimization, build for classic bt demo will get wrong
   2. Fix a memcpy bug that maybe get memory truncated

Closes https://github.com/espressif/esp-idf/issues/9398
2022-08-01 11:37:46 +08:00
keymoon
3027aa84be
assign value to uninitialized bt_addr field 2022-05-27 01:07:06 +09:00
Anton Maklakov
9a5f0f6c53 bluedroid: fix argument type to correct narrow one 2022-05-13 06:55:22 +00:00
Anton Maklakov
29b2beffc0 bluedroid: fix type for passing argument in function 2022-05-13 06:55:22 +00:00
Anton Maklakov
87bf3260dd bluedroid: fix argument type in functions 2022-05-13 06:55:22 +00:00
“YangZhao”
8d48a56249 There is an issue that if the the btm_cb.p_sec_dev_rec_list is full,but at the same
time we can't find old device to be replaced,then this can cause crash. So we need
to change the way to malloc the new device or replace the old in the list.
2021-12-30 15:50:07 +08:00
xiewenxiang
04328cf384 component/bt: fix periodic adv parameters detection issue 2021-12-28 11:29:41 +08:00
xiewenxiang
132875a6eb components/bt: Support low duty cycle directed advertising 2021-12-13 17:07:23 +08:00
baohongde
c138e47f45 components/bt: Update licenses 2021-12-08 10:59:06 +08:00
“YangZhao”
12ec4866b8 Fix the high-impact issues from the code analysis report from customer.
For the CID10564,10384,10280,10098,10038,The memory was released in other place.
For the CID10365,it release the memory in the function when sent successfully.
For the CID10268,10011, we need not change the code.
2021-11-22 17:38:02 +08:00
xiongweichao
5152b33385 Dereference null return value 2021-11-18 19:47:09 +08:00
xiongweichao
752b1976c0 Dereference after null check 2021-11-18 19:47:07 +08:00
xiongweichao
101ad32110 Dereference before null check 2021-11-18 19:38:48 +08:00
xiongweichao
564f9e8f68 Logically dead code 2021-11-18 19:38:48 +08:00
xiewenxiang
29a097504d component/bt: set ext adv param failed when stop ext adv 2021-10-20 15:41:00 +08:00
xiewenxiang
76372097bb component/bt: fix data length update failed 2021-10-13 19:58:21 +08:00
jincheng
c592da5308 bugfix/fix the crash when using legacy paring with wrong pin code
Close https://github.com/espressif/esp-idf/issues/7556
2021-09-23 07:40:54 +08:00
liqigan
1c15c9207c 1. transparent HID device
2. add esp API for HID
3. add PM config for HID
4. add HID device demo

Closes https://github.com/espressif/esp-idf/issues/5311
Closes https://github.com/espressif/esp-idf/issues/5635
Merges https://github.com/espressif/esp-idf/pull/3425
2021-09-07 16:59:30 +08:00
Wang Meng Yang
8652b1d576 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!14348
2021-08-09 06:46:08 +00:00
xiewenxiang
95c35288bc component/bt: add local irk to controller 2021-08-05 17:32:08 +08:00
xiewenxiang
1cc0f6aac5 Fixed ESP32 BLE can't resolve the peer address when enable white list 2021-08-04 22:00:38 +08:00
liqigan
d8023ba09c add FAQ in SPP demo README 2021-08-04 20:49:51 +08:00
zwj
d8474a92bf - fix data length update failed
- fix no callback when the value being used is the same as the value to be set
2021-06-25 15:29:38 +08:00
zwj
6fff69390e update con state when getting connection cancle complete 2021-04-20 02:41:14 +00:00
zwj
85b73337a3 fix ble 5.0 SMP failed 2021-04-20 02:41:14 +00:00
zwj
e652e264c7 add BLE connection establishment retry 2021-04-20 02:41:14 +00:00
wangmengyang
3df07164c1 components/bt: shorten some log messages for bluedroid 2021-03-17 16:52:34 +08:00
zwj
b3a2fedfde fix ble connection event report remote address error 2021-03-12 11:49:52 +08:00
zwj
f344a65af5 fix crash caused by spp pairing cancel 2021-02-18 21:10:25 +08:00
Chinmay Chhajed
fb3a382fe4 Bluedroid: Do not initiate/accept connection with device having same BDADDR.
Added BD_ADDR comparison in l2cu_lcp_allocate and removed check from
security connection request handler as it's handled in l2cu_lcp_allocate
for both connection request and create connection.
2021-02-09 12:09:15 +05:30
Chinmay Chhajed
5596f37af1 bt: removed esp_bt_get_mac()
There was no need for this function as there is already a way present to
fetch own mac address. Own mac addr can be fetched by calling
controller_get_interface().
2021-02-09 12:09:15 +05:30
zwj
ea42d8e043 fix bluedroid deinit crash 2021-01-15 21:08:14 +08:00
zhiweijian
e81104f377 fix add white list failed 2021-01-15 18:04:45 +08:00
zwj
61b1a4b7b8 fix bluedroid repair faild if the two most significant bits of public address is '01' 2021-01-15 18:04:27 +08:00
zwj
1d1754e4b4 - fix congest return value
- fix system no rsp when doing disconnect
- fix no congest event when ssc do writing performance
2021-01-15 18:03:56 +08:00
zwj
4a719daa78 fix scan rsp length err 2021-01-15 18:03:27 +08:00
zwj
796a959fa5 fix vendor hci memory leak 2021-01-15 18:03:15 +08:00
zwj
7c1c669799 component/bt: add BLE v5.0 feature for bluedroid host 2021-01-15 17:55:12 +08:00
Chinmay Chhajed
e016b6b79b Bluedroid: Do not connect if peer BD_ADDR is same as own BD_ADDR. 2021-01-05 14:54:15 +05:30
Bao Hong De
64d30fa6c4 Add API to config QoS 2021-01-05 10:32:47 +08:00
xiewenxiang
945606b658 component/bt: support BLE Read Attribute value by UUID 2020-12-02 20:04:36 +08:00
XieWenxiang
366b036ba5 component/bt: support BLE Authorization 2020-12-02 09:07:24 +08:00
xiewenxiang
3d8eb26fe1 component/bt: fix incorrect encryption flag setting 2020-12-02 09:06:44 +08:00
Angus Gratton
66fb5a29bb Whitespace: Automated whitespace fixes (large commit)
Apply the pre-commit hook whitespace fixes to all files in the repo.

(Line endings, blank lines at end of file, trailing whitespace)
2020-11-11 07:36:35 +00:00
liqigan
743c1c1f20 fix ag example outgoing callback not triggered
Closes https://github.com/espressif/esp-idf/issues/4967
2020-10-14 09:47:16 +08:00
baohongde
dac798afbb components/bt: Fix crash in BTM_SetPowerMode after disconnect
Introduced by commit 0583a049
2020-09-27 19:55:12 +08:00
sushant.chougule
a7d8d2c8da Bluedroid: Fix gatt clcb allocation and deallocation error 2020-07-25 01:48:48 +00:00
Jiang Jiang Jian
84aebc6a78 Merge branch 'feature/bluedroid_link_based_dynamic_allocation' into 'master'
Bluedroid stack dynamic allocation changes to optimise DRAM usage

See merge request espressif/esp-idf!9461
2020-07-16 00:06:10 +08:00
sushant.chougule
0583a04969 Bluedroid stack dynamic allocation changes to optimise DRAM usage
Structures allocated dynamically:
tACL_CONN, tBTM_PM_MCB, tBTM_SEC_DEV_REC, tGATT_TCB, tGATT_CLCB, tL2C_LCB, tL2C_CCB, tSDP_RECORD
Total dynamic allocation size ~19KB.
Peak dram usage reduced by ~12KB when in BT classic + BLE scenario(1 a2dp sink + 1 BLE gatt server)
2020-07-15 14:44:10 +05:30
Jiang Jiang Jian
d65af31309 Merge branch 'bugfix/fix_hci_max_page_num' into 'master'
bugfix/Support for more Bluetooth HID devices

Closes IDFGH-3515

See merge request espressif/esp-idf!9621
2020-07-15 15:51:00 +08:00
Li Qi Gan
f6f2d9780b add API esp_spp_stop_srv() and fix the error parameter in esp-idf/examples/bluetooth/bluedroid/classic_bt/bt_spp_initiator/main/example_spp_initiator_demo.c
Closes https://github.com/espressif/esp-idf/issues/5409
Closes https://github.com/espressif/esp-idf/pull/5408

See merge request espressif/esp-idf!9114
2020-07-15 15:49:37 +08:00
DerfJagged
5705c786e3 Support for more Bluetooth HID devices
Some Bluetooth devices - such as an Xbox One S controller (model 1708) - report more than two external features pages and are rejected immediately. Pages 1 and 2 are marked as unhandled in btm_devctl.c anyway, so there is no reason to block devices with more pages.
(IDFGH-3515)

Signed-off-by: liqigan <liqigan@espressif.com>

Merges https://github.com/espressif/esp-idf/pull/5481
Closes https://github.com/espressif/esp-idf/issues/5470
2020-07-15 11:54:26 +08:00
Chinmay Chhajed
e3350e7861 Bluedroid: Authentication fixes in Legacy and Secure Connection.
Prevent a remote device from doing a Bluetooth Impersonation Attack
(BIAS) by:

- Preventing remote device to downgrade secure connection
feature mask. Secure connection feature mask should remain same or
increase to enabled in link key generation and authentication.

- Doing a mutual authentication during Legacy Authentication.

Signed-off-by: Chinmay Chhajed <chinmay.chhajed@espressif.com>
2020-06-25 15:37:01 +05:30
zhiweijian
6d593eb6fc component/bt: add clear white list API 2020-06-02 11:29:51 +08:00
weitianhua
0d2790a429 Remove (x2) variable in BCM_STRNCPY_S and BCM_STRCPY_S when performance optimization enabled 2020-03-12 16:20:58 +08:00
weitianhua
477e584f7d Bugfix for HFP and some Github issue.
1. Bugfix for AG audio crash (change the return position)
2. Fix the error macro name and error return in hfp_hf demo
3. Fix the annotation error using UTF-8 ' (from Github)
4. Change or remove the log in SCO related code region.
5. Correct error of introduction of a function.
2020-02-25 18:03:54 +08:00
weitianhua
392eb79704 Format the BTM_WBS_INCLUDED macro 2019-12-12 17:12:38 +08:00
Geng Yu Chao
6c923cf330 Fix some typo in idf 2019-12-12 15:55:42 +08:00
Geng Yu Chao
46c53ab8c8 btdm:fix the problem that Not getting complete Identity Address (Public Address) of the Privacy-enabled Bonded Device after bonding. beacuse of the wrong memcpy in LE_KEY callback handler. 2019-12-09 15:21:49 +08:00
Xu Jun Jun
e20e47809d For BT device restore security info from NV to SRAM, should set the ble_hci_handle to a invalid value, otherwise BLE devices may have pairing problem 2019-12-07 16:19:57 +08:00
Hrishikesh Dhayagude
a2adcea802 Enable characteristic 0x2A04 in GAP service
Add support to enable Peripheral Preferred Connection Parameters in GAP service and update it correctly
2019-12-05 12:17:14 +08:00
zhiweijian
fb369577d9 component/bt: allow adv stop again when adv is already stoped and fix crash when tx prog sometimes 2019-11-27 10:03:06 +00:00
weitianhua
3f0e851a39 Feature/ Read Remote Device's Name 2019-11-14 03:33:37 +00:00
Jiang Jiang Jian
ea0f0b1700 Merge branch 'feature/btdm_add_api_to_set_channel_classification' into 'master'
Feature/btdm add api to set channel classification

Closes BT-450

See merge request espressif/esp-idf!6229
2019-10-26 20:42:58 +08:00
baohongde
ed984cc9b5 components/bt: Add API and EVT for BLE set channels(BLE) 2019-10-25 11:39:35 +08:00
baohongde
eaf5f6a319 components/bt: Add API and EVT for set AFH channels(BR/EDR) 2019-10-25 11:39:22 +08:00
weitianhua
26b69f1363 New Clean Commit for AG.
Only Support single AG control block.
2019-10-14 07:54:09 +00:00
Anton Maklakov
afbaf74007 tools: Mass fixing of empty prototypes (for -Wstrict-prototypes) 2019-08-01 16:28:56 +07:00
Hrishikesh Dhayagude
21165edf41 Bluetooth component refactoring 2019-06-30 16:39:00 +08:00