Commit Graph

1535 Commits

Author SHA1 Message Date
liqigan
539718735b fix spp connect failed or discovery failed after the first connection release 2021-02-03 17:23:45 +08:00
weitianhua
33ad4b6f84 Add A2DP Init and Deinit Complete Evt 2021-01-26 11:15:35 +08:00
Chinmay Chhajed
092dc133cc Bluedroid: Do not connect if peer BD_ADDR is same as own BD_ADDR. 2021-01-14 14:32:58 +05:30
Jiang Jiang Jian
cd59d107b2 Merge branch 'bugfix/ble_mesh_node_id_adv_v3.3' into 'release/v3.3'
ble_mesh: stack: Fix Node ID adv with wrong timeout (v3.3)

See merge request espressif/esp-idf!11880
2021-01-11 11:46:41 +08:00
Jiang Jiang Jian
66a1b39814 Merge branch 'bugfix/add_macro_to_blufi' into 'release/v3.3'
component/bt: Add a macro to control the compilation of blufi.(backport v3.3)

See merge request espressif/esp-idf!11891
2021-01-11 11:45:14 +08:00
lly
e9caf68d6e ble_mesh: stack: Provisioner supports receiving heartbeat 2021-01-08 09:35:03 +08:00
wangcheng
e9d28837ec component/bt: Add a macro to control the compilation of blufi. 2021-01-06 18:04:30 +08:00
lly
6c6ad3f772 ble_mesh: stack: Fix Node ID adv with wrong timeout 2021-01-05 20:16:42 +08:00
XieWenxiang
d8b42e565c component/bt: fix Blufi sends data after disconnect the seq still increase(backport v3.3) 2021-01-05 01:53:33 +00:00
Jiang Jiang Jian
f3aaa39c43 Merge branch 'bugfix/btdm_blufi_send_longer_custom_data_will_congested_v3.3' into 'release/v3.3'
component/bt: fix Blufi sends longer customer data will will lead congested(backport v3.3)

See merge request espressif/esp-idf!11724
2021-01-05 09:51:39 +08:00
Chinmay Chhajed
0b84a1242e 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:03:33 +05:30
XieWenxiang
b0719d3fc6 component/bt: fix Blufi sends longer customer data will will lead congested 2020-12-24 09:37:35 +08:00
liqigan
46fa26b56f fix spp vfs demo crash when use dynamic memory 2020-12-23 14:44:48 +08:00
Jiang Jiang Jian
896180ec73 Merge branch 'bugfix/collection_bugfix_backport_for_3_3' into 'release/v3.3'
Bugfix/collection bugfix backport for 3 3

See merge request espressif/esp-idf!11708
2020-12-23 11:23:14 +08:00
wangcheng
929ad413cb component/bt: Fix a potential double free error. 2020-12-22 19:09:15 +08:00
weitianhua
282d234ea5 components/bt: Fixed the problem of early release of pointer(p_ccb) in funcion 2020-12-22 15:12:55 +08:00
weitianhua
86de405578 Collection of bugfix backport for release/v3.3 2020-12-22 15:08:59 +08:00
Xia Xiaotian
3cf6f36765 esp_wifi: decouple Wi-Fi and bluetooth with coexist to reduce binary file size 2020-12-17 14:21:59 +08:00
Jiang Jiang Jian
c2f5fc0c88 Merge branch 'optimize/ble_mesh_provision_dev_uuid_check_v3.3' into 'release/v3.3'
ble_mesh: stack: Need uuid when adding device for provisioning (v3.3)

See merge request espressif/esp-idf!11582
2020-12-12 17:57:37 +08:00
lly
bff66d7653 ble_mesh: stack: Need uuid when adding device for provisioning 2020-12-11 20:10:57 +08:00
baohongde
a36ed1c60b components/bt: insert the llcp packet to the top of the tx_prog linked list 2020-12-11 11:28:12 +08:00
wangcheng
04d28bdf40 components/bt: Fix ble disconnect issue in coex mode 2020-12-11 11:28:12 +08:00
baohongde
2711f35552 components/bt: Fix waking up fail while sleeping 2020-12-11 11:28:12 +08:00
baohongde
fcbaa63c4e components/bt: Make sleep avaliable in hli(for future use) 2020-12-11 11:27:35 +08:00
wangcheng
b8f061334a components/bt: backport requires commit to release v3.3 2020-12-11 11:27:35 +08:00
wangcheng
c82ba10521 components/bt: fixed memory damage caused by bluetooth memory release 2020-12-11 11:27:35 +08:00
wangcheng
ddab5b2a2a component/bt: Fixed the watchdog timeout of btu task during multi-connection 2020-12-11 11:27:35 +08:00
wangcheng
3622e29465 components/bt: Fixed the state not synchronized between controller and host when disconnected. 2020-12-11 11:27:35 +08:00
wangmengyang
8744b8266b component/bt: fall back to main XTAL as Bluetooth sleep clock when EXT 32K CRYS is configured but not detected 2020-12-11 11:27:35 +08:00
liqigan
7a52ed2f15 fix spp flow control and vfs write 2020-12-10 10:44:44 +08:00
Jiang Jiang Jian
0416586dcc Merge branch 'bugfix/add_protection_for_spp_api_3_3' into 'release/v3.3'
componnet_bt:/ Add protection for btc and some comment correction [backport v3.3]

See merge request espressif/esp-idf!11455
2020-12-09 22:10:26 +08:00
Island
fca750b4ea Merge branch 'feature/btdm_support_some_ble_new_features_v3.3' into 'release/v3.3'
components/bt: backport some new features for Bluedroid BLE(release v3.3)

See merge request espressif/esp-idf!11464
2020-12-09 10:28:39 +08:00
xiewenxiang
a15ce322b5 component/bt: support BLE Read Attribute value by UUID 2020-12-03 21:04:21 +08:00
xiewenxiang
dfefe7bfd7 component/bt: refactor ble random address setting 2020-12-03 20:44:58 +08:00
xiewenxiang
ea678c3fd1 component/bt: support BLE Application Layer Encryption key size check 2020-12-03 20:36:19 +08:00
xiewenxiang
456d3461a1 component/bt: support BLE Authorization 2020-12-03 20:25:47 +08:00
xiewenxiang
1896249485 component/bt: fix incorrect encryption flag setting 2020-12-03 20:07:05 +08:00
weitianhua
3e3445811a Correct some debug log for BT Stack & Add protection for rfcomm close API in SPP 2020-12-03 19:29:20 +08:00
weitianhua
810e3b7d79 Separating AVRC & A2DP
1. Remove uneccessary macro
2. Add bda_addr for esp_bt_a2dp_disconn_req API
3. Rewrite a2dp clean_up function
2020-12-03 19:05:24 +08:00
liqigan
25774f41db fix SPP init deynamic memory bugs 2020-12-02 12:24:05 +08:00
liqigan
b9bf3f7cc9 components/bt: Fix SPP using NULL point with dynamic memory 2020-11-23 11:48:34 +08:00
Island
2c6eb0bd74 Merge branch 'optimize/ble_mesh_gattc_conn_param_v3.3' into 'release/v3.3'
ble_mesh: stack: Update connection parameters used by Central (v3.3)

See merge request espressif/esp-idf!11285
2020-11-19 11:23:21 +08:00
lly
1a36790014 ble_mesh: stack: Update connection interval to 15ms 2020-11-18 20:25:26 +08:00
lly
a9ac3e87db ble_mesh: stack: Update connection parameters used by Central 2020-11-18 20:25:14 +08:00
lly
d2a99ec816 ble_mesh: stack: Fix wrong declaration of node bind AppKey func 2020-11-18 20:16:25 +08:00
lly
42bdf7ecc2 ble_mesh: stack: Add node local netkey/appkey func 2020-11-18 20:16:06 +08:00
lly
2c66a82434 ble_mesh: stack: Add a Kconfig option to make Health Server model optional 2020-11-17 11:40:31 +08:00
lly
f1def7f24e ble_mesh: stack: Split model Kconfig menu into foundation and others 2020-11-17 11:39:07 +08:00
lly
d9ffe54991 ble_mesh: stack: Add Kconfig options to make server models optional 2020-11-17 11:33:10 +08:00
lly
c90def0992 ble_mesh: stack: Use Kconfig option to make client models optional 2020-11-17 11:30:15 +08:00
lly
4c7a021acd ble_mesh: stack: Make some internal static functions inline 2020-11-17 11:29:28 +08:00
lly
09ac1b596d ble_mesh: stack: Add a Kconfig option to make deinit optional 2020-11-17 11:19:49 +08:00
lly
bc4ebea32c ble_mesh: stack: Introduce a new header file mesh_config.h 2020-11-17 11:18:14 +08:00
lly
330f39ee23 ble_mesh: test: Fix node test function not update role flag 2020-11-09 02:42:36 +00:00
Jiang Jiang Jian
ec4124676f Merge branch 'bugfix/bredr_bugfix_release_for_qa_dummy_disconnect_3_3' into 'release/v3.3'
Bugfix/bredr bugfix release for qa dummy disconnect 3.3

See merge request espressif/esp-idf!10649
2020-10-28 21:26:29 +08:00
Jiang Jiang Jian
3616ae4da4 Merge branch 'bugfix/add_clear_bond_complete_evt_3_3' into 'release/v3.3'
componenet_bt/bugfix: add remove bond device complete event 3.3

See merge request espressif/esp-idf!10658
2020-10-28 16:58:49 +08:00
Jiang Jiang Jian
4e71047a2a Merge branch 'bugfix/fix_bredr_read_rssi_delta_v3.3' into 'release/v3.3'
Bugfix/Fix Read Rssi Delta Bug in Bredr [backport v3.3]

See merge request espressif/esp-idf!10810
2020-10-26 21:44:39 +08:00
Jiang Jiang Jian
cd06c14265 Merge branch 'bugfix/fix_get_bond_device_list_v3.3' into 'release/v3.3'
bugfix/fix esp_bt_gap_get_bond_device_list bug [backport v3.3]

See merge request espressif/esp-idf!9669
2020-10-26 11:47:08 +08:00
Jiang Jiang Jian
410d59d53d Merge branch 'feature/esp_spp_stop_srv_v3.3' into 'release/v3.3'
bugfix/Add API esp_spp_stop_srv and fix collection of SPP [backport v3.3]

See merge request espressif/esp-idf!10010
2020-10-26 11:46:56 +08:00
boblane
c5b23a85b8 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-10-23 06:14:24 +00:00
liqigan
35b2eeaa65 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 !9114
2020-10-22 08:33:39 +00:00
boblane
fc6f480e89 fix esp_bt_gap_get_bond_device_list bug
Closes https://github.com/espressif/esp-idf/issues/5395
2020-10-22 06:32:16 +00:00
liqigan
d61459e692 modify read rssi related function names
Closes https://github.com/espressif/esp-idf/issues/5660
2020-10-20 12:31:50 +00:00
andreachiara
b097435596 esp_ble_mesh: api: fixed comment about autoresp 2020-10-19 11:32:52 +08:00
Island
3901f38de6 Merge branch 'optimize/ble_mesh_make_buf_config_invisible_v3.3' into 'release/v3.3'
ble_mesh: stack: Make mesh buf debug option invisible (v3.3)

See merge request espressif/esp-idf!10797
2020-10-13 19:51:59 +08:00
lly
0d92639439 ble_mesh: stack: Make mesh buf debug option invisible 2020-10-13 09:31:47 +00:00
lly
23a21f92be ble_mesh: stack: Add mesh device properties v2 definitions
Also fixes wrong characteristic value length of some device
properties.
2020-10-13 09:30:16 +00:00
lly
aa329b08ce ble_mesh: stack: Move device property to model common part 2020-10-13 09:30:16 +00:00
lly
18cc96d188 ble_mesh: stack: Store kr phase after value changed [Zephyr] 2020-10-13 14:32:51 +08:00
lly
3e61d519c1 ble_mesh: stack: Fix rpl not check by proxy cfg [Zephyr] 2020-10-13 14:32:36 +08:00
lly
542b6bdbc1 ble_mesh: stack: Persistent storage misc fixes
* Fix the issue that deinit node with "erase_flash"
  set to true, but info is not erased from nvs
* Reuse bt_mesh_cfg_reset() when deinit node
* Optimize Provisioner related erase operations
* No store pending timeout will be used when Node
  is not provisioned OR Provisioner is disabled
  and erase operation is performed
* Change the default timeout for settings operation
  to 0, and rpl store rate to 0
2020-10-13 10:55:58 +08:00
lly
b4c3c87c75 ble_mesh: stack: Use settings_core_erase when deinit 2020-10-12 10:02:05 +08:00
lly
3940ab80a3 ble_mesh: stack: Fix storing next net_idx and app_idx 2020-10-12 10:02:05 +08:00
lly
d7c2d66d55 ble_mesh: stack: Continue restore even if failure happens
Previously we have used this solution for node info
restore. Here use the same solution for other mesh
information restore.
2020-10-12 10:02:05 +08:00
lly
4fc62b7983 ble_mesh: stack: Split model settings store and clear 2020-10-12 10:02:05 +08:00
lly
de15e502a7 ble_mesh: stack: Erase netkey and appkey with key index 2020-10-12 10:02:05 +08:00
lly
d51431fff5 ble_mesh: stack: Add clear hb_pub in settings 2020-10-12 10:02:05 +08:00
lly
d4651bbb30 ble_mesh: stack: Transport rx reset settings update
When reset the rx info of transport layer, the
rpl list will always cleared, and rpl stored
in the nvs will only be erased when erase flag
is true and BLE_MESH_SETTINGS is enabled.
Compared with the previous solution, it should
be more clear.
2020-10-12 10:02:05 +08:00
lly
e202225bd1 ble_mesh: stack: Use erase settings functions 2020-10-12 10:02:05 +08:00
lly
1a3515ab76 ble_mesh: stack: Use mutex for settings operation
Also expose the settings functions with the parameter
bt_mesh_nvs_handle_t, which will be used for further
updates.
2020-10-12 10:02:05 +08:00
lly
a662d14a4e ble_mesh: stack: Add role check before enabling device 2020-10-12 10:02:05 +08:00
lly
4dcbe2bd7a ble_mesh: stack: Define a type for mesh nvs handle 2020-10-12 10:01:47 +08:00
Chinmay Chhajed
02893a2038 components/bt: Fix for HCI desync deadlock issue in BLE controller. 2020-09-29 21:35:15 +05:30
Jiang Jiang Jian
cd86bc9d8d Merge branch 'bugfix/confirmed_bugfix_from_baidu_proj_3.3' into 'release/v3.3'
Confirmed bugfix from Baidu Project 3.3

See merge request espressif/esp-idf!10548
2020-09-29 20:48:50 +08:00
baohongde
67edd0c10e components/bt: Replace task post with btc_inter_profile_call, when post message from btc_dm to btc_gap 2020-09-28 19:36:23 +08:00
baohongde
abf6cecde1 components/bt: Fix clear bond fail when connected without ble included 2020-09-28 16:21:25 +08:00
xiongweichao
67276f5d26 add remove bond device complete event 2020-09-28 16:14:52 +08:00
xiongweichao
3c0aee8595 1.revert dummy command
2.fix send MEDIA_CTRL command in disconnect
2020-09-28 12:00:28 +08:00
xiongweichao
2233b5d25e 1.fix test case dummy
2.fix sink send media control ESP_A2D_MEDIA_CHECK_SRC_RDY
2020-09-28 11:55:46 +08:00
lly
81354cf24f ble_mesh: stack: Optimize Provisioner delete device function
Since we have provided separate functions for deleting node
information with node's unicast address, device uuid, etc.
So we update the behavior of this function, which will only
be used to delete device information which is not provisioned
or just under provisioning.
2020-09-25 14:04:58 +08:00
Jiang Jiang Jian
fb18b12efe Merge branch 'bugfix/bt_linkup_fallback_event_v3.3' into 'release/v3.3'
Bluedroid: Fixes cases having fallback to link up event. (v3.3)

See merge request espressif/esp-idf!9805
2020-09-22 16:44:07 +08:00
weitianhua
7f9a4d25ef Confirmed bugfix from Baidu Project 2020-09-22 11:57:00 +08:00
lly
1f32a8d95e ble_mesh: stack: Check if mesh stack initialized before init vendor client 2020-09-17 11:28:02 +08:00
Island
64adabfd3a Merge branch 'bugfix/ble_mesh_prov_iv_index_v3.3' into 'release/v3.3'
ble_mesh: stack: Using the latest iv_index for provisioning (v3.3)

See merge request espressif/esp-idf!10419
2020-09-14 14:17:53 +08:00
Jiang Jiang Jian
cec88e11ed Merge branch 'component/seperate_bta_jv_l2c_3.3' into 'release/v3.3'
Component/seperate bta jv l2c 3.3

See merge request espressif/esp-idf!9651
2020-09-11 19:38:36 +08:00
lly
34f30a878e ble_mesh: stack: Using the latest iv_index for provisioning
Provisioner should always uses the latest IV Index for provisioning.
For example, if the current IV Index is 0x00000001, but prov->iv_index
is still initialized with 0x00000000, and if Provisioner uses prov->
iv_index for provisioning, this will cause the Provisioner failing to
control the node.
So here bt_mesh.iv_index is used instead of prov->iv_index.
2020-09-11 07:58:20 +00:00
Island
6c5fc42114 Merge branch 'feat/ble_mesh_use_model_c_v3.3' into 'release/v3.3'
ble_mesh: stack: Use model callback for operations [Zephyr] (v3.3)

See merge request espressif/esp-idf!10365
2020-09-10 10:40:19 +08:00
Island
7514850962 Merge branch 'bugfix/ble_mesh_remove_assert_v3.3' into 'release/v3.3'
ble_mesh: stack: Avoid using assert in mesh stack (v3.3)

See merge request espressif/esp-idf!10361
2020-09-10 10:39:21 +08:00
lly
9b70ddbb77 ble_mesh: stack: Use model callback for operations [Zephyr]
- Previously when a model is initialized or deinitialized, in the
  access layer, we need to check the model id with the ids in the
  table in order to find the proper model operation function.
- Currently all the operation functions of each model will be set
  during the mesh initialization. When the model is found, we can
  directly use the corresponding callback for different operations.
- Currently only init/deinit operations are registered, later we
  will add more operations.
2020-09-09 14:01:17 +08:00
lly
1090c12acd ble_mesh: stack: Avoid using assert in mesh stack 2020-09-09 10:58:18 +08:00