Commit Graph

208 Commits

Author SHA1 Message Date
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