Commit Graph

308 Commits

Author SHA1 Message Date
Wang Meng Yang
e0e3700142 Merge branch 'feature/support_ble_privacy_by_controller' into 'master'
Support ble privacy by controller on bluedroid

See merge request espressif/esp-idf!21966
2023-02-10 14:34:36 +08:00
chenjianhua
0976a1d7f6 bluedroid: add periodic adv sync transfer API and EVT 2023-01-30 14:32:04 +08:00
chenjianhua
708ca0181c bluedroid: support get bluetooth device name 2023-01-13 10:39:57 +08:00
chenjianhua
175be1c42c bluedroid: support ble privacy by controller 2023-01-10 18:50:11 +08:00
Zhi Wei Jian
c08cd91da3 Merge branch 'bugfix/fix_bluedroid_bug_for_pts' into 'master'
Bluedroid: fixed GATT multi notify and robust caching

Closes BT-3142

See merge request espressif/esp-idf!21871
2023-01-10 10:49:21 +08:00
chenjianhua
70bb6c7388 bluedroid: fixed GATT multi notify and robust caching 2023-01-06 20:13:58 +08:00
Jin Cheng
2e9a180f43 Fixed crash caused by accessing nullptr in btm_acl_disconnected 2023-01-04 11:47:05 +08:00
Wang Meng Yang
1ac3595bde Merge branch 'bugfix/a2dp_error_code' into 'master'
bt: Update A2DP version to v1.4

Closes BT-2918, BT-2919, and BT-2932

See merge request espressif/esp-idf!21142
2022-12-13 14:56:18 +08:00
Zhi Wei Jian
6d676019c1 Merge branch 'bugfix/fix_gatt_char_perm_key_size' into 'master'
Bluedroid: fix encrypt keysize of GATT characteristic permission

Closes BT-2992

See merge request espressif/esp-idf!21250
2022-12-12 16:23:59 +08:00
Zhi Wei Jian
250f2c4a89 Merge branch 'bugfix/fix_ble_conn_param_update' into 'master'
Bluedroid: fix ble connection update with same params

Closes BT-2943

See merge request espressif/esp-idf!21309
2022-12-12 15:18:26 +08:00
Jiang Jiang Jian
706a2c779f Merge branch 'bugfix/correct_the_default_SR_mode' into 'master'
bugfix/correct the SR_mode selection when konw nothing about Peripheral

See merge request espressif/esp-idf!21355
2022-12-12 14:57:16 +08:00
chenjianhua
5a0bc5c1fd bluedroid: fix ble connection update with same params 2022-12-09 14:40:57 +08:00
chenjianhua
2afe5cdc76 bluedroid: add config for GAP service and periodic adv sync transfer 2022-12-09 13:28:31 +08:00
chenjianhua
702e06e09e bluedroid: add internal GATT API for PTS 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
238d1375a8 bluedroid: support GATT robust caching feature 2022-12-09 13:28:31 +08:00
chenjianhua
f4cd0b687d bluedroid: support GATT services database hash calculate 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
6f0d34d323 bluedroid: support LE L2CAP credit based connection 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
Jin Cheng
f2f6aef019 correct the SR_mode selection when konw nothing about Peripheral 2022-12-07 09:47:03 +00:00
jincheng
228bf596dc Added reporting for ACL link related events to application 2022-12-07 02:33:55 +00:00
chenjianhua
c37184aa85 bluedroid: fix encrypt keysize of GATT characteristic permission 2022-12-02 15:10:39 +08:00
xiongweichao
40f6239fd7 bt: Fixed memory leak due to not freeing memory if posting a message to a thread fails 2022-11-30 10:41:52 +08:00
xiongweichao
ecf2eea1d6 bt: Added esp_spp_enhance_init() API to indicate whether to enable L2CAP ERTM 2022-11-28 20:42:53 +08:00
xiongweichao
923cdcf75a bt: Update A2DP version to v1.4 2022-11-23 20:17:22 +08:00
xiongweichao
33d351898a bt:Fixed the use of invalid configuration when the peer device configures the stream, and returned an incorrect error code 2022-11-23 20:17:22 +08: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
xiongweichao
ea41a21b0e bt: Split SPP application layer data packets according to the MTU of the peer 2022-10-27 19:45:25 +08:00
xiongweichao
a0ec1c8291 bt: Enter the congestion state when the queue length waiting for the peer to ack is greater than or equal to the L2CAP ERTM tx window size 2022-10-27 19:45:25 +08:00
Wang Meng Yang
2cbc83a4c7 Merge branch 'bugfix/fix_gattc_disc_char_by_uuid_panic' into 'master'
Bluedroid: correct the length of att read by type pdu

Closes BT-2874

See merge request espressif/esp-idf!20686
2022-10-21 17:24:03 +08: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
chenjianhua
bc1762e806 bluedroid: correct the length of att read by type pdu 2022-10-19 21:58:28 +08: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
Chen Jian Hua
76834a767f Merge branch 'bugfix/fix_ble_adv_tx_power_map' into 'master'
Fix ble adv tx power map

Closes IDFGH-8299

See merge request espressif/esp-idf!20225
2022-09-23 16:03:12 +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
Chen Jian Hua
6014e92a8d Merge branch 'bugfix/fix_ble_gen_rpa_by_host' into 'master'
Bluedroid: fix ble rpa generate and update by host

See merge request espressif/esp-idf!19617
2022-09-20 14:49:26 +08:00
chenjianhua
940ee1f7f4 fix ble adv tx power map 2022-09-19 12:02:40 +08:00
chenjianhua
8598610ccd bluedroid: fix ble rpa generate and update by host 2022-09-16 16:54:58 +08:00
zwj
e9f4a4e92d Fixed extend adv tx power range error 2022-09-16 15:45:40 +08:00
Island
71bc1a28cc Merge branch 'fix/DOC_3566' into 'master'
Updating doc for the issue doc_3566

Closes DOC-3566

See merge request espressif/esp-idf!19971
2022-09-08 19:27:18 +08:00
satish.solanke
50ec07c45d updating doc for the issue doc_3566 2022-09-07 15:05:49 +05:30
zwj
2942a98f5d fix calling esp_ble_get_cur_sendable_packets_num() sometimes crashes when bluetooth is disconnecting 2022-09-06 21:12:30 +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
9a6101bfed components/bt: fixed the invalid workqueue number for BTU thread in Bluedroid
There should be only one workqueue for BTU task. The queue length for the second workqueue of BTU can be uninitialized and caused memory overflow and corruption.

Closes https://github.com/espressif/esp-idf/issues/9507
2022-08-11 16:09:44 +08:00
wangmengyang
f402778320 component/bt: consider to handle HCI LE Direct Advertising Report 2022-08-02 17:40:00 +08:00
Karl Wang
8c756dad23 component/bt: allocate and use one static buffer for HCI adv flow control command 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
wangmengyang
81c87cf4ca component/bt: make OSI thread workqueue length configurable through API
reduce the length of workqueue1 for BTC and HCI task

# Conflicts:
#	components/bt/common/osi/thread.c
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
Jiang Jiang Jian
7497a5287c Merge branch 'bugfix/fix_bluedroid_host_memory_overflow' into 'master'
Fixed bluedroid host memory overflow

Closes BT-2397

See merge request espressif/esp-idf!18897
2022-07-15 11:52:33 +08:00
zhiweijian@espressif.com
4bd267ac9a Fixed bluedroid host memory overflow 2022-07-14 19:35:22 +08:00
Jiang Jiang Jian
258585f50a Merge branch 'bugfix/correct_blecmd_for_rf_path' into 'master'
Bluedroid: Fixed compilation error due to incorrect macro name

See merge request espressif/esp-idf!18983
2022-07-12 19:35:40 +08:00
Jiang Jiang Jian
4c1f114eab Merge branch 'bugfix/ble_50_sync_periodic_adv_lost_data' into 'master'
components/bt: Fix ble sync periodic adv report will lost data

See merge request espressif/esp-idf!18957
2022-07-12 16:18:01 +08:00
Rahul Tank
ac54468d1b Bluedroid: Fixed compilation error due to incorrect macro name 2022-07-11 16:40:51 +05:30
xiewenxiang
947d082b44 components/bt: Fix ble sync periodic adv report lost data issue 2022-07-11 16:51:22 +08:00
xiongweichao
90510fb597 Fix crash when sending data by spp 2022-06-20 17:12:07 +08:00
xiongweichao
a2ea4f5bc9 Fix AVDTP general reject format error. 2022-06-07 02:45:46 +00:00
Jiang Jiang Jian
4ed2e6130a Merge branch 'feature/add_l2cap_ertm_api' into 'master'
Component_bt:Add l2cap and sdp api

Closes IDF-4487

See merge request espressif/esp-idf!18034
2022-05-29 17:34:38 +08:00
Jiang Jiang Jian
ffbc25056c Merge branch 'feature/add_avdtp_delay_reporting' into 'master'
component_bt: add avdtp delay reporting

Closes BT-2308

See merge request espressif/esp-idf!17475
2022-05-29 17:03:36 +08:00
xiongweichao
740dc8795d rfcomm supports the use of ERTM 2022-05-28 23:34:21 +00:00
xiongweichao
b0551ef456 add source handle the delay report 2022-05-28 23:31:45 +00:00
xiongweichao
9126e4f07b add sink send delay reporting 2022-05-28 23:31:45 +00:00
keymoon
3027aa84be
assign value to uninitialized bt_addr field 2022-05-27 01:07:06 +09:00
Anton Maklakov
e44d7fbaed bluedroid: fix argument type according its usage 2022-05-13 06:55:22 +00: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
xiongweichao
5a16fa95e9 Fix CI failure when disable bluetooth debug log 2022-04-25 18:35:22 +08:00
xiongweichao
7dd9ac9997 Add some bluetooth debug log 2022-03-22 10:35:50 +08:00
Wang Meng Yang
7e39aa61fa Merge branch 'bugfix/fix_null_pointer_deference_issue_master_mr' into 'master'
Fix the null pointer deference issue via Reconnection Spamming

See merge request espressif/esp-idf!16502
2022-01-04 04:06:27 +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
50748009e4 components/bt: Fix bluedroid compile issue 2021-12-30 11:54:47 +08:00
xiewenxiang
04328cf384 component/bt: fix periodic adv parameters detection issue 2021-12-28 11:29:41 +08:00
liqigan
cccd22a080 fix SPP open with wrong remote bd_addr 2021-12-22 17:04:58 +08:00
xiewenxiang
0030fba89c components/bt: Fix high duty cycle directed advertising will not be stopped when timeout 2021-12-13 20:10:21 +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
liqigan
aa6f86fbc5 fix SPP server bugs when the BTC layer can not allocate a slot for the listen port 2021-12-01 14:59:14 +08:00
Yang Zhao
4b7a71673e Add the feature that switch random address to origin mac addr in the ADV
report data.
2021-11-30 14:14:42 +08:00
Wang Meng Yang
c788274658 Merge branch 'feature/add_coex_hci_command_master' into 'master'
Add hci command to set coexistence status

Closes BT-1886

See merge request espressif/esp-idf!14830
2021-11-23 03:08:50 +00:00
xiongweichao
c80ac536d7 Add hci command to set coexistence status 2021-11-22 19:57:01 +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
1bada6c0f6 already defined in bt_target.h 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
Wang Meng Yang
8fc30ece07 Merge branch 'component_bt/add_spp_faq' into 'master'
Component_bt/Add FAQ in SPP Demo README

Closes FCS-611

See merge request espressif/esp-idf!12586
2021-08-06 02:28:14 +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
sU8U7SfkcwTJVH7PjaVmej7D
b421ce2b00 Remove unused 'yy' variables 2021-07-30 15:59:06 +08:00
Jiang Jiang Jian
59b49d2783 Merge branch 'feature/add-nimble-host-to-blufi' into 'master'
Add support of NimBLE host to Blufi

See merge request espressif/esp-idf!13734
2021-06-29 12:54:01 +00:00
“sonalipatil”
5175672050 Add support of NimBLE host to Blufi
Merges https://github.com/espressif/esp-idf/pull/6904
2021-06-28 19:53:33 +05:30
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
xiongweichao
96aff16dd3 fix spp acceptor deadlock
Closes: https://github.com/espressif/esp-idf/issues/6948
2021-06-22 15:05:27 +08:00
zhiweijian
a85890dd9d Fixed ANON_ADV address error 2021-06-01 11:43:40 +08:00
Chinmay Chhajed
b75e034b3c Bluedroid: Check only x component of passkey to avoid passkey impersonation attack. 2021-05-28 14:28:54 +05:30
zwj
8919322c76 Fixed BLE reconnect failed when using rpa public address 2021-05-27 14:08:47 +08:00
zwj
22f429f5bc fix C3/S3 ble multi-connection failed when device acts as master and slave 2021-05-10 21:06:44 +08:00
zwj
58cd231895 optimize C3 and s3 multi-connection 2021-04-20 02:41:14 +00:00
zwj
077722696a add option to enable multi-connection 2021-04-20 02:41:14 +00: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
zwj
dc3a5a9335 fix multi-connection pair failed 2021-03-24 14:58:21 +08: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
Jiang Jiang Jian
52720c724f Merge branch 'bugfix/fix_l2cap_repeat_cid' into 'master'
Bugfix/Fix L2CAP Repeat Cid

Closes BT-1411, BT-1409, and BT-1410

See merge request espressif/esp-idf!12342
2021-03-04 03:36:31 +00:00
liqigan
825c2024d0 fix l2cap repeat cid 2021-03-03 14:50:05 +08:00
Angus Gratton
a0c73c5f92 bt host: Don't redefine the assert macro
Required so that bt asserts obey the same configuration settings as other
asserts.

Progress towards https://github.com/espressif/esp-idf/issues/6306
2021-03-03 10:26:57 +11: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
00fdbfcddc fix ble connection maximum latency is 499 2021-01-27 16:13:17 +08:00
zwj
b937485ad1 add ble examples default sdkconfig for esp32s3 2021-01-27 15:57:20 +08:00
zwj
bdafdbbf3d disable bluedroid congest error log print 2021-01-27 14:45:03 +08:00
zwj
081e474baf fix a2dp sink crash due to ble 5.0 code 2021-01-27 14:45:03 +08:00
zwj
ea42d8e043 fix bluedroid deinit crash 2021-01-15 21:08:14 +08:00
zwj
d624675087 fix connection param update timeout 2021-01-15 18:05:39 +08:00
zwj
ad09955b1f fix crash when creating aux open failed, fix GAP_22026 failed 2021-01-15 18:05:18 +08:00
zwj
273d2fd5ec fix multi-connection crash (smp-08003) 2021-01-15 18:05:04 +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
zhiweijian@espressif.com
d4619584d7 fix ble connect crash 2021-01-15 18:04:16 +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
0880c7bcf9 fix ble read multi char err when the number of handles is more than 10 2021-01-15 18:03:39 +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
Chinmay Chhajed
d73ebb570b Bluedroid: Fixes for some vulnerabilities.
This commit fixes 'Impersonation in Passkey entry protocol'
(CVE-2020-26558) and suggests fixes for other vulnerabilites like
'Impersonation in the Pin Pairing Protocol' (CVE-2020-26555) and
'Authentication of the LE Legacy Pairing Protocol'

CVE-2020-26558 can be easily implemented if the peer device can
impersonate our public key. This commit adds a check by comparing our
and received public key and returns failed pairing if keys are same.

This commit also adds comments suggesting to use secure connection when
supported by all devices.
2020-12-24 10:52:12 +00:00
wangcheng
cc7dbc6177 components/bt: Fixed the problem of early release of pointer(p_ccb) in funcion 2020-12-17 10:54:56 +08:00
xiewenxiang
945606b658 component/bt: support BLE Read Attribute value by UUID 2020-12-02 20:04:36 +08:00
xiewenxiang
7e5e0ba7de component/bt: refactor ble random address setting 2020-12-02 09:08:31 +08:00