Commit Graph

240 Commits

Author SHA1 Message Date
zhiweijian
89a1f8e7a9 fix add white list failed 2021-02-22 11:28:07 +08:00
zwj
c1f23ada19 fix bluedroid repair faild if the two most significant bits of public address is '01' 2021-02-22 11:27:54 +08:00
zwj
1b6572ec9f - fix congest return value
- fix system no rsp when doing disconnect
- fix no congest event when ssc do writing performance
2021-02-22 11:27:39 +08:00
zwj
0e2236a2f1 fix ble read multi char err when the number of handles is more than 10 2021-02-22 11:27:22 +08:00
zwj
e109c9980c fix scan rsp length err 2021-02-22 11:27:09 +08:00
zwj
a2eec8a1e2 fix vendor hci memory leak 2021-02-22 11:26:56 +08:00
Chinmay Chhajed
428e9b008c 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-10 15:13:10 +05:30
Chinmay Chhajed
1c6c6998bc 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-10 15:13:02 +05:30
weitianhua
e2dd35e6f6 Fix A2DP Underrun Issue 2021-02-04 19:33:50 +08:00
weitianhua
432b4c8863 Add init & deinit event for a2dp 2021-01-26 10:52:39 +08:00
liaowenhao
c4c18c79a0 bugfix:unhandle event when tg receive set_player_app_value cmd 2021-01-21 21:37:14 +08:00
Jiang Jiang Jian
faa740028c Merge branch 'bugfix/bt_bluedroid_same_public_key_attack_v4.1' into 'release/v4.1'
Bluedroid: Fixes for some Bluetooth vulnerabilities. (v4.1)

See merge request espressif/esp-idf!11764
2021-01-19 20:49:25 +08:00
Chinmay Chhajed
53e93c0a10 Bluedroid: Do not connect if peer BD_ADDR is same as own BD_ADDR. 2021-01-14 12:22:47 +05:30
baohongde
b7e6c18f8c components/bt: Add API to config QoS 2021-01-04 11:56:00 +08:00
XieWenxiang
ddfc19d531 component/bt: fix Blufi sends customer data will congested when connection is broken 2020-12-31 15:44:38 +08:00
Chinmay Chhajed
5dd8bf4fe5 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-25 16:01:30 +05:30
baohongde
edb2a4af41 components/bt: Add QOS for SPP, to decrease the delay from slave to master 2020-12-25 14:56:35 +08:00
liqigan
bf7435d80d fix spp vfs demo crash when use dynamic memory 2020-12-23 15:13:37 +08:00
Jiang Jiang Jian
64c2f8605a Merge branch 'nimble/fix_misc_coverity_issue_v4.1' into 'release/v4.1'
Nimble: Fix misc issues in NimBLE NVS, `ble_eddystone`, recursive call and  L2CAP CoC (v4.1)

See merge request espressif/esp-idf!11391
2020-12-21 12:07:37 +08:00
Jiang Jiang Jian
6710148748 Merge branch 'bugfix/fix_crash_caused_by_calling_deinit_directly_4_1' into 'release/v4.1'
Fix crash cause by calling a2dp deinit when connected [backport v4.1]

See merge request espressif/esp-idf!11690
2020-12-21 12:05:40 +08:00
Jiang Jiang Jian
be2d72b660 Merge branch 'bugfix/blufi_config_potential_double_free_v4.1' into 'release/v4.1'
Bugfix/blufi config potential double free v4.1

See merge request espressif/esp-idf!11164
2020-12-21 12:05:33 +08:00
weitianhua
aee941a087 Fix crash cause by calling a2dp deinit when connected 2020-12-21 10:23:46 +08:00
wangcheng
c6d2c43661 components/bt: Fixed the problem of early release of pointer(p_ccb) in funcion 2020-12-18 12:25:19 +00:00
Artem Godlevskyi
a582fbdfdc Added missing MYNEWT_VAL_BLE_L2CAP_COC_MPS definition
Signed-off-by: Prasad Alatkar <prasad.alatkar@espressif.com>

Merges https://github.com/espressif/esp-idf/pull/5825
2020-12-17 07:20:35 +00:00
Prasad Alatkar
30c89dc11d NimBLE: Fix misc coverity issues in NimBLE host
- NimBLE NVS : Additional check to account for NVS operation failure
- NimBLE host: Fix minor bug in ble_eddystone_set_adv_data_gen
- NimBLE host: remove recursive call, upstream PR: https://github.com/apache/mynewt-nimble/pull/857
2020-12-17 07:20:35 +00:00
xiewenxiang
1273982045 component/bt: support BLE Read Attribute value by UUID 2020-12-02 20:20:03 +08:00
xiewenxiang
5da4c0f125 component/bt: refactor ble random address setting 2020-12-02 20:19:54 +08:00
XieWenxiang
8e08156141 component/bt: support BLE Application Layer Encryption key size check 2020-12-02 20:19:45 +08:00
XieWenxiang
a6ea010898 component/bt: support BLE Authorization 2020-12-02 20:19:35 +08:00
xiewenxiang
217e90ec5c component/bt: fix incorrect encryption flag setting 2020-12-02 20:19:21 +08:00
wangcheng
87669b23da component/bt: Add a macro to control the compilation of blufi. 2020-11-24 10:45:36 +08:00
wangcheng
f7e870e45d component/bt: Fix a potential double free error. 2020-11-24 10:45:36 +08:00
wangcheng
7765b07898 blufi: fix an error caused by incorrect conn_id parameters. 2020-11-24 10:45:36 +08:00
Jiang Jiang Jian
ae202d81ec Merge branch 'bugfix/fix_ag_outging_callback_not_triggered_v4.1' into 'release/v4.1'
Bugfix/Fix Ag Example Outgoing Callback Not Triggered [backport v4.1]

See merge request espressif/esp-idf!11019
2020-11-18 11:40:07 +08:00
liqigan
caee4c24a9 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-11-02 10:33:19 +08:00
liqigan
c3171252ec move flow control to btc layer
defer free slot in btc layer when receive BTA_JV_RFCOMM_CLOSE_EVT
2020-11-02 10:33:19 +08:00
liqigan
8171702293 add event when calling spp API failed 2020-11-02 10:33:19 +08:00
liqigan
c89640103f fix ag example outgoing callback not triggered
Closes https://github.com/espressif/esp-idf/issues/4967
2020-10-28 20:13:40 +08:00
Jiang Jiang Jian
77eb201241 Merge branch 'bugfix/add_clear_bond_complete_evt_4_1' into 'release/v4.1'
componenet_bt/bugfix: add remove bond device complete event 4.1

See merge request espressif/esp-idf!10653
2020-10-28 16:03:35 +08:00
Jiang Jiang Jian
447708ef05 Merge branch 'bugfix/bredr_bugfix_release_for_qa_dummy_disconnect_4_1' into 'release/v4.1'
Bugfix/bredr bugfix release for qa dummy disconnect 4.1

See merge request espressif/esp-idf!10646
2020-10-28 16:03:21 +08:00
Jiang Jiang Jian
634a5e9355 Merge branch 'bugfix/add_disconn_req_action_when_no_link_4.1' into 'release/v4.1'
Bugfix/add disconn req action when no link 4.1

See merge request espressif/esp-idf!10509
2020-10-28 14:27:10 +08:00
liqigan
ca42c8ec5c 1. fix read rssi delta bug in bredr
2. modify read rssi related function names

Closes https://github.com/espressif/esp-idf/issues/5660
2020-10-12 17:55:53 +08:00
Chinmay Chhajed
0d25a9cff8 NimBLE: host_rcv_pkt event buf size check.
Check if the size of HCI event buffer is greater than the received HCI
packet. If not then abort with the error message.
2020-10-09 09:29:57 +05:30
baohongde
684ffdfe70 components/bt: Replace task post with btc_inter_profile_call, when post message from btc_dm to btc_gap 2020-09-28 15:27:24 +08:00
baohongde
98e7bc3375 components/bt: Fix clear bond fail when connected without ble included 2020-09-28 15:26:56 +08:00
xiongweichao
9c4e79dafa add remove bond device complete event 2020-09-28 15:26:48 +08:00
xiongweichao
09e48edd87 1.revert dummy command
2.fix send MEDIA_CTRL command in disconnect
2020-09-28 11:11:12 +08:00
xiongweichao
3db75c4e9d 1.fix test case dummy
2.fix sink send media control ESP_A2D_MEDIA_CHECK_SRC_RDY
2020-09-28 11:10:54 +08:00
Jiang Jiang Jian
167966380b Merge branch 'docs/fix_event_typo_backport_v4.1' into 'release/v4.1'
docs/fix event typo backport v4.1

See merge request espressif/esp-idf!9383
2020-09-20 16:29:33 +08:00
weitianhua
f78c8cc0db Redesign separating AVRC & A2DP
1. Add g_av_with_rc to avrc_tg_init function
2. Remove g_av_open_fail
3. Add comment in API files
4. Add a2dp init & deinit state variable to inidcate a2dp statement
2020-09-18 14:11:27 +08:00
weitianhua
e797e742f8 Add global header and change declaration position 2020-09-18 14:11:18 +08:00
weitianhua
627b5a4cae Remove uneccessary macro
Separate AVRC from A2DP when AVRC not Initialized
2020-09-18 14:11:10 +08:00
weitianhua
3c88fa5a1e Rewrite a2dp clean_up function 2020-09-18 14:11:00 +08:00
weitianhua
8ad40cecb4 Add bda_addr for esp_bt_a2dp_disconn_req API
1. Add reaction for a2dp snk & src disconn req when no link up
  2. Change state machine set before EVT upto APP layer in some cases
  3. Add bool open_fail to choose whether post disconnection evt to app layer
2020-09-18 14:10:48 +08:00
Jiang Jiang Jian
df3aef80c0 Merge branch 'component/seperate_bta_jv_l2c_4.1' into 'release/v4.1'
Component/seperate bta jv l2c 4.1

See merge request espressif/esp-idf!9645
2020-09-11 19:38:00 +08:00
Jiang Jiang Jian
b131fffa84 Merge branch 'bugfix/add_protection_for_spp_api_4.1' into 'release/v4.1'
Bugfix/add protection for spp api 4.1

See merge request espressif/esp-idf!10282
2020-09-11 19:33:49 +08:00
baohongde
86cd54117e components/bt: Fix SPP using NULL point with dynamic memory 2020-09-07 15:45:33 +08:00
wangcheng
e963390324 component/bt: Fixed the watchdog timeout of btu task during multi-connection 2020-09-04 16:25:49 +08:00
weitianhua
b4dc11a409 Add protection for rfcomm close API in SPP 2020-09-04 14:41:34 +08:00
weitianhua
15111210a1 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-09-04 14:41:26 +08:00
wangcheng
8acffd2931 components/bt: Fixed the state not synchronized between controller and host when disconnected. 2020-09-02 21:45:26 +08:00
Island
da669efa0c Merge branch 'bugfix/btdm_blufi_data_sequence_not_reset_after_disconnect_v4.1' into 'release/v4.1'
component/bt: fix Blufi sends data after disconnect the seq still increase(backport v4.1)

See merge request espressif/esp-idf!10240
2020-09-02 14:20:44 +08:00
XieWenxiang
1f54e90bb4 component/bt: fix Blufi sends data after disconnect the seq still increase(backport v4.1) 2020-09-02 11:15:27 +08:00
XieWenxiang
a88420c860 component/bt: fix Blufi sends longer customer data will will lead congested(backport v4.1) 2020-08-28 07:10:11 +08:00
weitianhua
899ef49272 Seperate BTA_JV_L2CAP for less bin size 2020-08-26 15:30:26 +08:00
Chinmay Chhajed
6f22d7590e 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-08-24 10:27:04 +05:30
Jiang Jiang Jian
91903234a9 Merge branch 'bugfix/fix_event_bug_in_GAP_API_release_v4.1' into 'release/v4.1'
Bugfix/fix event bug in GAP API [backport v4.1]

See merge request espressif/esp-idf!9192
2020-08-24 12:34:30 +08:00
Jiang Jiang Jian
294a00c15d Merge branch 'feature/esp_spp_stop_srv_v4.1' into 'release/v4.1'
bugfix/Add API esp_spp_stop_srv and fix collection of SPP [backport v4.1]

See merge request espressif/esp-idf!10011
2020-08-24 12:34:04 +08:00
Jiang Jiang Jian
c547044f28 Merge branch 'bugfix/fix_error_in_ag_api_4.1' into 'release/v4.1'
Fix error of AG API return line v4.1

See merge request espressif/esp-idf!9604
2020-08-24 12:32:21 +08:00
Jiang Jiang Jian
d4af9d1ce4 Merge branch 'bugfix/fix_hci_max_page_num_v4.1' into 'release/v4.1'
bugfix/Support for more Bluetooth HID devices [backport v4.1]

See merge request espressif/esp-idf!9661
2020-08-24 12:31:22 +08:00
Jiang Jiang Jian
84b9ce81bb Merge branch 'bugfix/fix_get_bond_device_list_v4.1' into 'release/v4.1'
bugfix/fix esp_bt_gap_get_bond_device_list bug [backport v4.1]

See merge request espressif/esp-idf!9667
2020-08-24 12:30:07 +08:00
liqigan
40bc362809 add API esp_spp_stop_srv(), fix the error parameter in esp-idf/examples/bluetooth/bluedroid/classic_bt/bt_spp_initiator/main/example_spp_initiator_demo.c and fix collection of SPP
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-08-13 12:15:33 +08:00
boblane
b57953efdf fix esp_bt_gap_get_bond_device_list bug
Closes https://github.com/espressif/esp-idf/issues/5395
2020-08-10 10:06:42 +08:00
Prasad Alatkar
9587b53b2f NimBLE: Add Non-Resolvable private address support and misc bug fixes (Backport v4.1)
- Merges https://github.com/espressif/esp-nimble/pull/12
- Fixes repeated pairing failure in RPA feature

Closes https://github.com/espressif/esp-idf/issues/5530
2020-07-24 06:48:14 +00:00
DerfJagged
16e33e3e33 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-17 10:14:34 +08:00
weitianhua
491d564f5a Fix error of AG API return line
Closes https://github.com/espressif/esp-idf/issues/5554
2020-07-14 14:44:20 +08:00
liqigan
f5d37dd416 components/bt: Adjust the description of esp_bt_gap_start_discovery and esp_bt_gap_cancel_discovery.
Add some comments to explain why `ESP_BT_GAP_DISC_STATE_CHANGED_EVT` is not reported.
2020-07-08 14:22:19 +08:00
wangcheng
9c9b64ee17 component/bt: Fixed ble memory leak issue, buff_semaphore was not released. 2020-07-07 21:02:49 +08:00
liminyang
a55bd7339c docs:fix event typo
1.In the description of the ESP_API header file, it should be the event that the application layer needs to handle, not the BTA layer.
2.Fix name typo of BTA_GATTS_CREATE_SRVC_EVT event

Closes https://github.com/espressif/esp-idf/issues/5446
2020-06-29 20:56:08 +08:00
Jiang Jiang Jian
5e52e5f6f5 Merge branch 'bugfix/blufi_buffer_overflow_report_v4.1' into 'release/v4.1'
Bugfix/blufi buffer overflow report v4.1

See merge request espressif/esp-idf!9178
2020-06-16 15:59:49 +08:00
wangcheng
ae64d9e738 blufi: When the format of the received data packet is wrong, reply with an error response 2020-06-15 19:37:38 +08:00
Wang Cheng
6861f7d5d8 components/bt: Add a detailed description for the user to distinguish the function of the query buffer api. 2020-06-15 19:19:14 +08:00
Geng Yu Chao
c5a6fc9c7e Update the limited of function esp_ble_get_sendable_packets_num. 2020-06-15 19:17:27 +08:00
wangcheng
3b8b057894 components/bt: Consider link_xmit_data_q in congest events to prevent excessive memory usage 2020-06-13 15:07:28 +08:00
wangcheng
e69ee31e1a components/bt: Fixed the problem of incomplete data packets caused by disordered acl data packets 2020-06-13 15:06:28 +08:00
wangcheng
846a2f95f4 components/bt: Add api to query the number of available buffers for the current connection 2020-06-13 15:06:14 +08:00
zhiweijian
8793aab0e3 add congest direct callback and fix malloc failed when multi_connection notify performance test 2020-05-28 12:07:58 +00:00
wangcheng
d32ee233af fix bta_dm_deinit_cb crash 2020-05-28 12:07:58 +00:00
wangcheng
049402ae8d master missing BLE_AUTH_CMPL_EVT after restart 2020-05-28 12:07:58 +00:00
Prasad Alatkar
3db186d5d1 NimBLE: Include upstream fixes and use macros for log level filtering (backport v4.1)
Change list:
- Reduces the size of the compiled binary, PR: https://github.com/espressif/esp-nimble/pull/6
- Null pointer check, PR: https://github.com/apache/mynewt-nimble/pull/701
- Pairing procedure abort on unexpected req: https://github.com/apache/mynewt-nimble/pull/710
- Fix conn flags after pairing: https://github.com/apache/mynewt-nimble/pull/730
- Remove notification for update process timeout (Vol 6, Part B, section 5.2 ):
  https://github.com/apache/mynewt-nimble/pull/782
- CCCD fix : https://github.com/apache/mynewt-nimble/pull/790 and
  https://github.com/apache/mynewt-nimble/pull/804
- Host based Privacy (RPA) fix: https://github.com/espressif/esp-nimble/pull/7

 Closes https://github.com/espressif/esp-nimble/issues/10

 Closes https://github.com/espressif/esp-idf/issues/4413
2020-05-20 16:09:02 +05:30
Prasad Alatkar
acb92c225f NimBLE: Minor fix in esp_nimble_cfg and bleprph README (backport v4.1) 2020-04-09 16:05:14 +05:30
Prasad Alatkar
072d01da2f NimBLE: Reset master and slave states on host reset and fix build failure (backport v4.1) 2020-04-09 16:05:04 +05:30
xiewenxiang
79590d2e21 component/bt: fix don't dequeue the command queue after process the read_by_type_req 2020-03-31 16:27:08 +08:00
weitianhua
f5fc735711 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-03-18 04:06:24 +00:00
weitianhua
aa6347339c Remove (x2) variable in BCM_STRNCPY_S and BCM_STRCPY_S when performance optimization enabled 2020-03-14 14:41:16 +08:00
Prasad Alatkar
48fe9dfce7 NimBLE: Add Host based privacy (RPA) feature support (v4.1)
- This feature removes dependency on controller to use privacy (RPA)

Closes BT-519
2020-03-06 11:02:22 +08:00
Prasad Alatkar
e36b3e0d04 NimBLE: Fix check for static random address & add MSYS_1 in menuconfig (v4.1)
Closes BT-522 & BT-523
2020-03-05 18:00:27 +08:00
Hrishikesh Dhayagude
74c528d836 NimBLE: Use dynamic buffers instead of static memory.
The NimBLE host buffers that consume a significant amount of memory are
now allocated dynamically.
The advantage is that, the memory can be reclaimed in cases where BLE
is turned off and not required for the current boot cycle
2020-03-04 12:01:53 +05:30
Prasad Alatkar
c55689ca18 NimBLE: Misc changes in host flow control, ble_gap_unpair, ble_hs_hci_rx_evt & example (v4.1)
- Add menuconfig option for NimBLE host flow control
- Include changes in `blecent` example from upstream PR!702
- add ble_hs_lock in ble_gap_unpair Upstream PR!584
- ble_hs_hci_rx_evt, upstream PR!738

Closes https://github.com/espressif/esp-idf/issues/4243
2020-03-04 11:35:47 +05:30
baohongde
a74d85945a components/bt: backports to release/v4.1
Fix bugs about role switch
Fix watchdog timeout when sleep enabled and crash without enabling sw coex
Fix ble crash issue triggered by ble event irq miss(0x20000)
Future events scheduling error in case of wifi and bluetooth.
2020-02-20 17:53:40 +08:00