Commit Graph

186 Commits

Author SHA1 Message Date
xiewenxiang
3176c707da component/bt: add link role param for gatt disconnection event(backport v4.4) 2022-06-19 14:41:55 +00:00
xiongweichao
8164030575 Fix AVDTP general reject format error. 2022-06-19 14:32:43 +00:00
keymoon
22cf1d0d58 assign value to uninitialized bt_addr field 2022-05-29 18:08:56 -07:00
xiongweichao
1ce01c6f76 Fix CI failure when disable bluetooth debug log 2022-04-26 11:28:01 +08:00
xiongweichao
3e494ec5fd Add some bluetooth debug log 2022-04-16 07:14:51 +00:00
xiewenxiang
2fe53759c9 components/bt: Fix bluedroid compile issue 2022-02-07 16:04:50 +08:00
Wang Meng Yang
0a0b652815 Merge branch 'bugfix/fix_bluedroid_ble50_adv_data_length_issue_v4.4' into 'release/v4.4'
components/bt: Fix bluedroid ble50 adv data length issue(backport release/v4.4)

See merge request espressif/esp-idf!16579
2022-02-07 08:01:55 +00:00
“YangZhao”
8628079c42 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.
2022-01-04 10:42:09 +08:00
xiewenxiang
5fc5016981 component/bt: fix periodic adv parameters detection issue 2021-12-29 14:43:22 +08:00
liqigan
3390caf994 fix SPP open with wrong remote bd_addr 2021-12-23 10:02:39 +08:00
Jiang Jiang Jian
187f47d232 Merge branch 'feature/support_ble_direct_ind_low_adv_v4.4' into 'release/v4.4'
components/bt: Support low duty cycle directed advertising(backport release/v4.4)

See merge request espressif/esp-idf!16377
2021-12-21 04:07:13 +00:00
liqigan
b8602d4bf9 fix SPP server bugs when the BTC layer can not allocate a slot for the listen port 2021-12-14 11:03:57 +08:00
xiewenxiang
a628ef5be0 components/bt: Fix high duty cycle directed advertising will not be stopped when timeout 2021-12-14 09:32:34 +08:00
xiewenxiang
5086d6f3d2 components/bt: Support low duty cycle directed advertising 2021-12-14 09:32:15 +08:00
Jiang Jiang Jian
b458a60791 Merge branch 'bugfix/fix_can_not_find_mac_addr_error_mr_4.4' into 'release/v4.4'
fix can not find mac addr error

See merge request espressif/esp-idf!16145
2021-12-06 03:37:24 +00:00
Yang Zhao
a96b8e151d Add the feature that switch random address to origin mac addr in the ADV
report data.
2021-11-30 14:24:52 +08:00
Jiang Jiang Jian
db6bc89b8c Merge branch 'bugfix/leedarson_v4.4' into 'release/v4.4'
component_bt: Fix some code logic errors (v4.4)

See merge request espressif/esp-idf!16016
2021-11-30 03:52:24 +00:00
Jiang Jiang Jian
75fa6d7e3f Merge branch 'feature/add_coex_hci_command_v4.4' into 'release/v4.4'
Add hci command to set coexistence status (v4.4)

See merge request espressif/esp-idf!16053
2021-11-29 03:23:32 +00:00
xiongweichao
a24ea59820 Add hci command to set coexistence status 2021-11-23 11:34:34 +08:00
xiongweichao
c48dec0d44 Dereference null return value 2021-11-23 11:31:06 +08:00
xiongweichao
74be458e62 already defined in bt_target.h 2021-11-23 11:31:06 +08:00
xiongweichao
a946b6042a Dereference after null check 2021-11-23 11:31:06 +08:00
xiongweichao
abbc552f5f Dereference before null check 2021-11-23 11:31:06 +08:00
xiongweichao
86ea712aa4 Logically dead code 2021-11-23 11:31:06 +08:00
“YangZhao”
4345e15f23 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 19:41:50 +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
XieWenxiang
e840191a0c component/bt: support BLE Application Layer Encryption key size check 2020-12-02 09:08:03 +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
Jiang Jiang Jian
6bed9ec70c Merge branch 'bugfix/fix_ag_outging_callback_not_triggered' into 'master'
Bugfix/Fix Ag Example Outgoing Callback Not Triggered

Closes BTCI-50

See merge request espressif/esp-idf!10828
2020-10-28 19:57:02 +08:00
lly
5f146455f3 component/bt: Fix gatt clcb use-after-free issue 2020-10-28 02:42:28 +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
liqigan
93ba9ba15c replace list and ringbuffer with fixed queue
use eventgroup to sync spp_vfs_write

each connection has a switch_delay_timer not sharing a one

revert functions like spp_find_slot_by_xxx

fix vfs read bug when peer close
2020-09-29 17:19:29 +08:00
liqigan
14f48d35bd move flow control to btc layer
defer free slot in btc layer when receive BTA_JV_RFCOMM_CLOSE_EVT
2020-09-29 17:15:11 +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
Jiang Jiang Jian
472c40f84e Merge branch 'bugfix/l2cap_link_timeout_llcp_prog_btu_wtd' into 'master'
Bugfix/l2cap link timeout llcp prog btu wtd

Closes BT-941 and BT-973

See merge request espressif/esp-idf!10119
2020-09-07 14:10:46 +08:00
wangcheng
d635320871 component/bt: Fixed the watchdog timeout of btu task during multi-connection 2020-09-04 16:21:40 +08:00
wangcheng
f8fd58d7f6 components/bt: Fixed the state not synchronized between controller and host when disconnected. 2020-08-27 14:46:27 +08:00
weitianhua
8a9bfd3e92 Add protection for rfcomm close API in SPP 2020-08-26 15:17:28 +08:00
weitianhua
7e772d2195 Add some debug log for bt:
1. Add logs for SPP not enabled successfully
2. Add information to Applicatioin layer that the A2DP is connecting to peer device

Regular BTC and BTU Task name & Add BTC Init protection

1. Regular the BTC Task Name to Close a Github issue

   Closes https://github.com/espressif/esp-idf/issues/4966

2. Add BTC Init failure protection

3. Regular BTU Task Name with BTC

4. Correct the comment of
   a. SDP_ServiceSearchRequest and SDP_ServiceSearchRequest2
   b. l2cu_create_conn_after_switch

5. Correct comment of esp_bt_hf_vra();

6. Fix cpp compilier region
2020-08-26 15:17:28 +08:00
sushant.chougule
70eb9abdee Bluedroid: Fix BLE provisioning failure with bluedroid stack 2020-07-28 21:54:05 +05:30
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