Commit Graph

2999 Commits

Author SHA1 Message Date
Wang Meng Yang
cdc00140d0 Merge branch 'bugfix/a2dp_sniff_master' into 'master'
Fix crash when host exit sniff mode

Closes BT-1802

See merge request espressif/esp-idf!14434
2022-03-03 11:26:05 +08:00
Aditya Patwardhan
740f1afe20 Update nimble submodule 2022-03-03 01:37:10 +05:30
Aditya Patwardhan
45122533e0 mbedtls-3 update:
1) Fix build issue in mbedtls
2) skip the public headers check in IDF
3)Update Kconfig Macros
4)Remove deprecated config options
5) Update the sha API according to new nomenclature
6) Update mbedtls_rsa_init usage
7) Include mbedtls/build_info.h instead of mbedtls/config.h
8) Dont include check_config.h
9) Add additional error message in esp_blufi_api.h
2022-03-03 01:37:10 +05:30
xiongweichao
3fe222d17b Fix crash when host exit sniff mode 2022-03-02 03:56:52 +00:00
Marius Vikhammer
bb88338118 system: move kconfig options out of target component
Moved the following kconfig options out of the target component:
 * ESP32_X_BROWNOUT_* -> esp_system
 * ESP32_X_DEBUG_OCDAWARE -> esp_system
 * APP_NO_BLOBS -> build type (main kconfig)
2022-03-02 01:22:26 +00:00
Rahul Tank
3387d816e2 Nimble: Check stack initialization status before executing stack command
Previous commit added checks in some functions that can be called
    without stack initalization. Corrected such instances.
2022-02-18 11:47:48 +05:30
xiewenxiang
dd9e2f4ac6 components/bt: Fix ble adv_underrun issue
components/bt: Fix LLCP collision for channel map update
2022-02-16 16:35:00 +08:00
Darian Leung
57fd78f5ba freertos: Remove legacy data types
This commit removes the usage of all legacy FreeRTOS data types that
are exposed via configENABLE_BACKWARD_COMPATIBILITY. Legacy types can
still be used by enabling CONFIG_FREERTOS_ENABLE_BACKWARD_COMPATIBILITY.
2022-02-09 23:05:45 +08:00
morris
ef00bd59dc esp_rom: extract int matrix route and cpu ticks getter 2022-02-09 13:52:20 +08:00
xiewenxiang
8ecc8cf40a component/bt: check the ble ext adv parameters 2022-02-07 16:10:50 +08:00
Anton Maklakov
7cdd151612 Merge branch 'bugfix/nocommon' into 'master'
enable and fix warnings on common symbols

Closes IDFGH-3055 and IDF-3013

See merge request espressif/esp-idf!16802
2022-01-28 14:39:51 +00:00
Anton Maklakov
85462d17a5 components/bt: move deinit_semaphore definition to source file 2022-01-27 11:00:09 +07:00
Ivan Grokhotkov
67c52657cf bluedroid: mark dequant_long_* as extern variables 2022-01-27 11:00:09 +07:00
Ivan Grokhotkov
20286b37b2 blufi: remove duplicate definition of blufi_env
Keeping the single definition in blufi_prf.c
2022-01-27 11:00:09 +07:00
Jakob Hasse
1d4061d3f2 refactor (nvs_flash)!: removed mbedtls as default dependency
mbedtls is only required in NVS if NVS encryption is enabled.
Hence the mbedtls dependency is now only added if encryption
is enabled, otherwise it is not added.

BREAKING CHANGE: Removed mbedtls as default dependency
2022-01-26 17:32:23 +08:00
Kevin (Lao Kaiyao)
bf8d4d55d0 Merge branch 'refactor/rename_esp8684_to_esp32c2' into 'master'
esp8684: rename esp8684 to esp32c2

Closes IDF-4530

See merge request espressif/esp-idf!16745
2022-01-19 09:08:58 +00:00
laokaiyao
cf049e15ed esp8684: rename target to esp32c2 2022-01-19 11:08:57 +08:00
wangmengyang
941165e380 components/bt: fix the definition of "le_scan_duplicate_option" to avoid defining common symbols 2022-01-17 10:46:00 +08:00
Wang Meng Yang
df1f9ec26e Merge branch 'bugfix/a2dp_source_congest' into 'master'
component_bt: Fixed a2dp source audio data packet congestion causing choppy audio in a2dp sink

Closes IDFGH-6485

See merge request espressif/esp-idf!16537
2022-01-10 03:00:05 +00:00
xiongweichao
6d86b07546 fixed config parse crash after flash_erase
Closes https://github.com/espressif/esp-idf/issues/6170
2022-01-06 20:17:43 +08:00
xiongweichao
83b9320d2e btc_a2dp_control_set_datachnl_stat is only used by a2dp sink 2022-01-06 14:10:18 +08:00
xiongweichao
688700f33b remove btc_a2dp_dispatch_datapath_evt and event 2022-01-06 14:02:03 +08:00
xiongweichao
c5af97759f Fixed the crash caused by calling esp_a2d_media_ctrl(ESP_A2D_MEDIA_CTRL_START) after stream started 2022-01-06 14:02:03 +08:00
xiongweichao
061ae4c07a Fixed a2dp source audio data packet congestion causing choppy audio in a2dp sink 2022-01-06 14:02:03 +08:00
jincheng
6a9afa65a2 fix cs event for rd_rem_ext_feats delayed issue 2022-01-05 14:48:04 +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
Wang Meng Yang
bc1a679052 Merge branch 'doc/update_document_of_demo_bt_discovery' into 'master'
Doc/update document of demo bt discovery

Closes BT-2133

See merge request espressif/esp-idf!16265
2021-12-29 06:07:19 +00:00
xiewenxiang
54298708fe component/bt: Support set HW CCA threshold value 2021-12-28 18:15:18 +08:00
xiewenxiang
04328cf384 component/bt: fix periodic adv parameters detection issue 2021-12-28 11:29:41 +08:00
Li Qi Gan
c3c37b95e7 Merge branch 'bugfix/fix_spp_open_err_bda' into 'master'
Component_bt/Fix SPP acceptor open with wrong remote address

Closes BT-2205

See merge request espressif/esp-idf!16503
2021-12-23 12:29:31 +00:00
liqigan
cccd22a080 fix SPP open with wrong remote bd_addr 2021-12-22 17:04:58 +08:00
liqigan
66e88fbdbe clear old event bits when malloc a slot 2021-12-22 16:44:51 +08:00
wangmengyang
219bffce9f component/bt: fixed coexistence scannable extended adv performance issue 2021-12-22 10:55:33 +08:00
baohongde
d4aeef6ced components/bt: Update the document of demo bt discovery 2021-12-21 10:54:54 +08:00
Wang Mengyang
5e95537f9c component/bt/host/nimble: fixed memory leak due to timer not destroyed during NimBLE host start-stop 2021-12-20 15:49:14 +08:00
Chinmay Chhajed
5ddce053ea Merge branch 'bugfix/bt_enc_proc_finish' into 'master'
bt/bugfix: ACL Rx data is sent to host before enc change event

See merge request espressif/esp-idf!16346
2021-12-15 12:07:59 +00:00
Wang Meng Yang
7e2a9feb27 Merge branch 'bugfix/fix_blufi_encryption_fail' into 'master'
components/bt: fix blufi encryption fail

See merge request espressif/esp-idf!16313
2021-12-14 03:17:03 +00: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
Chinmay Chhajed
556cd73a7e bt/bugfix: ACL Rx data is sent to host before enc change event 2021-12-09 15:23:50 +08:00
xiewenxiang
9006d20355 components/bt: fix blufi encryption fail 2021-12-09 10:40:01 +08:00
baohongde
c138e47f45 components/bt: Update licenses 2021-12-08 10:59:06 +08:00
Sudeep Mohanty
40c1f3e06e freertos: update module handles to struct type
This commit updates the handles for the timer, task and event_group
modules to struct type. This matches upstream freertos source.

Signed-off-by: Sudeep Mohanty <sudeep.mohanty@espressif.com>
2021-12-06 08:37:06 +05:30
Sudeep Mohanty
88aa3e78c3 NimBLE: Invoke xTimerGetExpiryTime in npl porting layer only when freertos timer is used
This commit adds an esp timer guard check to call in the function
npl_freertos_callout_remaining_ticks() to enable fetching remaning ticks
when esp timer is enabled.

Signed-off-by: Sudeep Mohanty <sudeep.mohanty@espressif.com>
2021-12-03 15:57:19 +05:30
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
Wang Meng Yang
fe289ec670 Merge branch 'bugfix/fix_can_not_find_mac_addr_error_mr' into 'master'
fix can not find mac addr error

Closes BT-2032

See merge request espressif/esp-idf!16143
2021-12-01 02:53:34 +00: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
Cao Sen Miao
eddc196081 esp_clk: refactor target/clk.h to private/esp_clk.h 2021-11-26 14:56:30 +08:00
xiewenxiang
6d35819d16 component/bt: fix assert fail when interrupt hlevel disable 2021-11-24 20:10:00 +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
Wang Meng Yang
ee5192960c Merge branch 'bugfix/fix_static_check_error_mr' into 'master'
Fix the high-impact issues from the code analysis report from customer.

Closes BT-2079

See merge request espressif/esp-idf!15976
2021-11-23 03:07:05 +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
wangmengyang
8cfffa260b [nimble]: clear timer handler during de-initialization 2021-11-19 15:08:55 +08:00
Wang Meng Yang
2ee3c7b542 Merge branch 'bugfix/wifi_prov_mgr_crash' into 'master'
NimBLE: Fixed wifi_prov_mgr crash after provisioning

See merge request espressif/esp-idf!15793
2021-11-19 02:59:12 +00:00
Wang Meng Yang
83a5823564 Merge branch 'bugfix/fix_device_name_len_limited_mr' into 'master'
Fix the issue of device name len limited

Closes BT-2066

See merge request espressif/esp-idf!15880
2021-11-19 02:36:25 +00:00
Wang Meng Yang
412808909c Merge branch 'bugfix/fix_modem_sleep_hw_error_mr_master' into 'master'
fix modem sleep hw error

See merge request espressif/esp-idf!15824
2021-11-19 02:34:39 +00:00
xiongweichao
ce2d72ddfb Missing break in switch 2021-11-18 19:47:09 +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
Yang Zhao
3b84612582 Update esp32 bt-lib
It is abnormal when getting the deep sleep state bit. So we need to check
the state again and run the "ble_master_soft_rst()" if neesed.
2021-11-18 15:23:36 +08:00
isha pardikar
e2a37b2712 Merge branch 'bugfix/wifi_prov_mgr_crash' into 'master'
NimBLE: Fixed wifi_prov_mgr crash after provisioning

See merge request espressif/esp-idf!15793
2021-11-17 18:35:40 +05:30
morris
2e008825a9 Merge branch 'feat/rm_makefiles' into 'master'
Build & config: Remove leftover files from the unsupported make build system

Closes IDF-4273 and IDF-2827

See merge request espressif/esp-idf!15829
2021-11-16 03:44:41 +00:00
Wang Meng Yang
6322632a37 Merge branch 'bugfix/add_warning_print_timer' into 'master'
NimBLE: Modified timer not started / running warning print

See merge request espressif/esp-idf!15177
2021-11-15 08:32:47 +00:00
Roland Dobai
766aa57084 Build & config: Remove leftover files from the unsupported "make" build system 2021-11-11 15:32:36 +01:00
Omar Chebib
44df880c12 Merge branch 'feature/move_ipc_to_esp_system' into 'master'
IPC: Move ipc sources to esp_system

Closes IDF-2160

See merge request espressif/esp-idf!15234
2021-11-11 06:57:44 +00:00
Wang Meng Yang
534cd5bb31 Merge branch 'bugfix/fix_custmoer_issues' into 'master'
bugfix/fix_3_controller_issues

Closes ESPCS-721, IDFGH-5407, IDFGH-5712, and IDFGH-6082

See merge request espressif/esp-idf!15821
2021-11-11 03:39:37 +00:00
Jiang Jiang Jian
3a443d523f Merge branch 'bugfix/fix_memory_leak_controller_deinit' into 'master'
ESP32: Fix memory leak in controller deinit function

See merge request espressif/esp-idf!15449
2021-11-11 03:36:18 +00:00
Yang Zhao
66fa67cde6 Fix the issue of device name len limited 2021-11-11 11:35:36 +08:00
Jiang Jiang Jian
c6ad0e4658 Merge branch 'bugfix/power_down_bluetooth_module_when_deinit' into 'master'
component/bt: Power down bluetooth module when deinit

Closes WIFI-4180

See merge request espressif/esp-idf!15716
2021-11-11 03:23:46 +00:00
Omar Chebib
9d5923a13e IPC: Move ipc sources to esp_system
IPC shall be put back into esp_system as it is an 'OS additions'.
2021-11-11 10:30:01 +08:00
Rahul Tank
897926d21c NimBLE: Modified timer not started / running warning print
Current check for valid timer throws a print which can mislead to be a crash. Modified the same

 Closes: https://github.com/espressif/esp-idf/issues/7550
2021-11-10 12:44:39 +05:30
jincheng
74e121af88 fix HCI_Read_Clock error
fix HCI_Create_Connection_Cancel error
fix ASSERT_WARN during epr
2021-11-09 14:37:13 +08:00
baohongde
11656377af components/bt: Fix the issue caused by the power off the bt power domain 2021-11-09 12:03:49 +08:00
morris
16677b0d3c global: make periph enable/disable APIs private
peripheral enable/disable usually should be managed by driver itself,
so make it as espressif private APIs, not recommended for user to use it
in application code.
However, if user want to re-write the driver or ports to other platform,
this is still possible by including the header in this way:
"esp_private/peripheral_ctrl.h"
2021-11-08 10:37:47 +08:00
Cao Sen Miao
599227a1b6 ESP8684: Add esp8684 target to other repo for passing build 2021-11-06 17:33:45 +08:00
Xie Wen Xiang
579aa4bd90 Merge branch 'bugfix/fix_crash_when_shutdown_bt' into 'master'
component/bt: fix crash when shutdown bt

See merge request espressif/esp-idf!15705
2021-11-05 03:00:09 +00:00
Wang Meng Yang
328450b8c2 Merge branch 'bugfix/fix_ble_prefered_ext_conn_parameter_detection' into 'master'
component/bt: check the ble ext conn parameter

See merge request espressif/esp-idf!15767
2021-11-04 12:23:42 +00:00
Island
417ef24b06 Merge branch 'bugfix/ble_mesh_host_init' into 'master'
ble_mesh: nimble: return error if init host twice

See merge request espressif/esp-idf!13065
2021-11-03 02:25:03 +00:00
lly
a1535faad5 ble_mesh: nimble: return error if init host twice 2021-11-02 20:40:49 +08:00
lly
277a5947ee ble_mesh: stack: Apply the errata E16350 from Bluetooth SIG 2021-11-02 20:39:56 +08:00
xiewenxiang
f0ef891901 component/bt: check the ble ext conn parameter 2021-11-02 14:33:24 +08:00
xiewenxiang
9b16f5d831 component/bt: fix crash when shutdown bt 2021-11-02 10:29:10 +08:00
Chinmay Chhajed
da0234ca01 Merge branch 'bugfix/ble_conn_latency_max_value' into 'master'
BLE: Set connection max latency value to 499.

Closes BT-2025

See merge request espressif/esp-idf!15706
2021-10-29 12:16:55 +00:00
Chinmay Chhajed
7caa6ca45f BLE: Set connection max latency value to 499. 2021-10-29 14:24:45 +05:30
baohongde
e6ceedf3a0 component/bt: Power down bluetooth module when deinit 2021-10-29 10:42:23 +08:00
lly
eeb9a9bd2c ble_mesh: stack: Update license of esp specific files 2021-10-28 21:20:27 +08:00
lly
fc97277e2f ble_mesh: stack: Update the license of provisioner_main.c 2021-10-26 17:44:36 +08:00
wangjialiang
0578c3a126 ble_mesh: stack: Fix heartbeat filter with accept list 2021-10-26 17:43:53 +08:00
Wei Tian Hua
23dd7a4a29 Merge branch 'bugfix/remove_assert_when_inq_done' into 'master'
component_bt: fix crash after inquiry has finished

Closes IDFGH-4967 and IDFGH-5850

See merge request espressif/esp-idf!13505
2021-10-25 10:03:28 +00:00
Chinmay Chhajed
0319dcd23d Merge branch 'bugfix/nimble_x_component_key_check' into 'master'
NimBLE: Compare only x component of public key before pairing.

Closes BT-1928

See merge request espressif/esp-idf!15035
2021-10-22 12:37:02 +00:00
xiongweichao
d5c3342a46 Remove assert when inq done
Closes https://github.com/espressif/esp-idf/issues/6759
2021-10-21 20:08:37 +08:00
Xie Wen Xiang
4b2396e7fc Merge branch 'bugfix/btdm_fix_some_bluedroid_issues' into 'master'
Fix some bluedroid issues

Closes BT-1926 and FCS-743

See merge request espressif/esp-idf!15170
2021-10-21 03:18:22 +00:00
xiewenxiang
5e21788283 component/bt: Modify the bluetooth device name length limits 2021-10-20 16:19:28 +08:00
xiewenxiang
29a097504d component/bt: set ext adv param failed when stop ext adv 2021-10-20 15:41:00 +08:00
Yang Zhao
a7247db6b4 Update esp32 bt-lib
1. Fix the scan failed issue.
2. Fix connection failed with LG 5.0 phone
2021-10-19 21:43:17 +08:00
Wang Meng Yang
ca8d432462 Merge branch 'bugfix/btdm_ble_data_length_update_fail' into 'master'
Fix data length update failed

Closes BT-1924

See merge request espressif/esp-idf!15499
2021-10-18 03:06:26 +00:00
Li Shuai
46dedca23c ci: replace old header with new SPDX header style 2021-10-14 10:51:10 +08:00
baohongde
e684b3f2a6 Power Management: Initialize backup memory for MAC and Baseband power up/down 2021-10-14 10:51:10 +08:00
baohongde
17d719bad7 Power Management: power up/down BT power domain when BT init/deinit 2021-10-14 10:51:09 +08:00
xiewenxiang
76372097bb component/bt: fix data length update failed 2021-10-13 19:58:21 +08:00
Rahul Tank
7f9a15f298 ESP32: Fix memory leak in controller deinit function
Added change to dealloc s_pm_lock in controller deinit as it gets allocated
during init procedure.

Closes https://github.com/espressif/esp-idf/issues/7653
2021-10-08 14:35:47 +05:30
Wang Meng Yang
f0ffeb1c65 Merge branch 'bugfix/a2dp_no_audio_transmitted' into 'master'
bugfix/fix wrong clock_id in function `time_now_us`

Closes IDFGH-5862

See merge request espressif/esp-idf!15315
2021-10-08 05:59:57 +00:00
Jiang Jiang Jian
65682ad63c Merge branch 'bugfix/bt_legacy_paring_wrong_pin_code_err' into 'master'
bugfix/fix the crash when using legacy paring with wrong pin code

Closes IDFGH-5856

See merge request espressif/esp-idf!15235
2021-09-30 01:12:34 +00:00
Jiang Jiang Jian
168ecb275c Merge branch 'bugfix/fix_macro_conversion' into 'master'
Nimble: Fix logging level mismatch

See merge request espressif/esp-idf!14477
2021-09-30 01:09:23 +00:00
Wang Meng Yang
10d083a4c1 Merge branch 'bugfix/bt_x_component_key_check' into 'master'
BT: Fix for CVE-2021-37577.

Closes BT-1938

See merge request espressif/esp-idf!15228
2021-09-24 06:16:30 +00:00
Rahul Tank
67bb97cbf3 Nimble: Removed Critical debug level from menuconfig, since it internally maps
to level Error.
2021-09-24 11:11:36 +05:30
Chinmay Chhajed
29d306e6ff NimBLE: Compare only x component of public key before pairing. 2021-09-23 18:30:01 +05:30
Jiang Jiang Jian
91818884cc Merge branch 'bugfix/stack_init_check' into 'master'
Nimble: Check stack status before executing stack command

Closes BT-1367

See merge request espressif/esp-idf!14869
2021-09-23 04:26:54 +00:00
jincheng
52e7b99630 fix wrong clock_id in function time_now_us
Close https://github.com/espressif/esp-idf/issues/7561
2021-09-23 09:47:35 +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
Zim Kalinowski
73fc400ac0 Merge branch 'feature/github-7582' into 'master'
code formatting updated

See merge request espressif/esp-idf!15267
2021-09-22 09:43:35 +00:00
Rahul Tank
1ad7d0dac4 Nimble: Check stack status before executing stack command 2021-09-21 12:41:45 +08:00
Chinmay Chhajed
a977618f55 BT: Check only for same X component of public key in BR/EDR. 2021-09-20 23:24:24 +08:00
ajit1433
ae8fac38fa
code formatting updated 2021-09-18 23:14:09 +05:30
xiewenxiang
bebc5d543b component/bt: Fixed default LE Event Mask 2021-09-17 17:12:16 +08:00
baohongde
b310c062cd components/bt: move config BT_RESERVE_DRAM from bluedroid to ESP32 controller 2021-09-16 20:26:35 +08:00
baohongde
eb176c3453 Fix bt init error with psram 2021-09-15 10:57:45 +08:00
baohongde
05768e9878 components/bt: Combine 3 Bluetooth controller menu 2021-09-15 10:57:37 +08:00
baohongde
6fc4bf7145 components/bt: Fix link error of Kconfig 2021-09-13 15:45:27 +08:00
baohongde
006a10b050 components/doc: Update doc about high-level interrupt
some bugfix.
2021-09-09 20:40:09 +08:00
baohongde
57eeb4d953 components/driver: support static allocation of FreeRTOS queues used by ISR routine 2021-09-09 11:29:19 +08:00
baohongde
e2fb413329 components/bt: add config option to choose Bluetooth intterupt level. 2021-09-09 11:29:17 +08:00
baohongde
8a4696d25a components/os: Fix live lock int bt isr using ocd multicore debug
components/os: Fix live lock in bt isr immediately
2021-09-09 11:29:08 +08:00
baohongde
d1db2df316 components/bt: High level interrupt in bluetooth
components/os: Move ETS_T1_WDT_INUM, ETS_CACHEERR_INUM and ETS_DPORT_INUM to l5 interrupt

components/os: high level interrupt(5)

components/os: hli_api: meta queue: fix out of bounds access, check for overflow

components/os: hli: don't spill registers, instead save them to a separate region

Level 4 interrupt has a chance of preempting a window overflow or underflow exception.
Therefore it is not possible to use standard context save functions,
as the SP on entry to Level 4 interrupt may be invalid (e.g. in WindowUnderflow4).

Instead, mask window overflows and save the entire general purpose register file,
plus some of the special registers.
Then clear WindowStart, allowing the C handler to execute without spilling the old windows.
On exit from the interrupt handler, do everything in reverse.

components/bt: using high level interrupt in lc

components/os: Add DRAM_ATTR to avoid feature `Allow .bss segment placed in external memory`

components/bt: optimize code structure

components/os: Modify the BT assert process to adapt to coredump and HLI

components/os: Disable exception mode after saving special registers

To store some registers first, avoid stuck due to live lock after disabling exception mode

components/os: using dport instead of AHB in BT to fix live lock

components/bt: Fix hli queue send error

components/bt: Fix CI fail

# Conflicts:
#	components/bt/CMakeLists.txt
#	components/bt/component.mk
#	components/bt/controller/bt.c
#	components/bt/controller/lib
#	components/esp_common/src/int_wdt.c
#	components/esp_system/port/soc/esp32/dport_panic_highint_hdl.S
#	components/soc/esp32/include/soc/soc.h
2021-09-09 11:29:06 +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
Wei Tian Hua
00dfe84c58 Merge branch 'bugfix/hf_disc_acl_no_disc' into 'master'
bugfix/acl can't disconnect when hfp_client disconnect

See merge request espressif/esp-idf!12819
2021-09-03 06:01:50 +00:00
Wang Meng Yang
e09818bd33 Merge branch 'bugfix/btdm_fix_some_Document_Description_Error' into 'master'
component/bt: fix some ble document description error

See merge request espressif/esp-idf!14816
2021-09-03 01:40:15 +00:00
XieWenxiang
461f2bd186 component/bt: fix some ble document description error 2021-09-01 20:39:13 +08:00
liaowenhao
124169a7dd bugfix acl doesn't disconnect when hfp_client disconnect 2021-08-24 10:53:25 +08:00
Wang Meng Yang
29754cf8c0 Merge branch 'bugfix/esp32c3_check_if_allow_light_sleep' into 'master'
Fix that when EXT CRYS is configured but not detected, light sleep is still allowed to be used

Closes BT-1877

See merge request espressif/esp-idf!14723
2021-08-19 00:18:53 +00:00
Wang Meng Yang
7df2a22faa Merge branch 'bugfix/spp_memory_leak' into 'master'
Fix spp memory leak

Closes IDFGH-5508

See merge request espressif/esp-idf!14319
2021-08-19 00:12:51 +00:00
liulinyan
f5a12f4900 Merge branch 'bugfix/ble_mesh_cve_recommendation' into 'master'
ble_mesh: Update the SIG recommendations for CVE issues

See merge request espressif/esp-idf!14832
2021-08-18 02:46:38 +00:00
lly
f6c3b51b13 ble_mesh: Update the SIG recommendations for CVE issues 2021-08-17 19:43:47 +08:00
Chinmay Chhajed
f167a2a3d1 bt: Remove unused function esp_bt_get_mac.
Closes https://github.com/espressif/esp-idf/issues/7410
2021-08-17 15:07:51 +05:30
Wang Meng Yang
a77aaf296a Merge branch 'bugfix/bt_spp_timer_collision' into 'master'
Fix timer collision in role switch

Closes IDFGH-5464

See merge request espressif/esp-idf!14575
2021-08-17 02:10:44 +00:00
xiongweichao
ba7252d2ea Fix that when EXT CRYS is configured but not detected, light sleep is still allowed to be used 2021-08-16 16:51:54 +08:00
Wang Meng Yang
bdd4b45f6a Merge branch 'bugfix/btdm_auto_update_PPCP_attribute_value' into 'master'
component/bt: fix bluedroid host auto update PPCP attribute value

See merge request espressif/esp-idf!14746
2021-08-16 07:25:50 +00:00
jincheng
a523dd3ede fix timer collision in role switch
Closes https://github.com/espressif/esp-idf/issues/7203
2021-08-16 08:54:37 +08:00
xiewenxiang
2e5f44afa3 component/bt: Fixed ble conn will crash durning erase flash 2021-08-13 17:57:33 +08:00
Yang Zhao
931da79804 1.Update the esp32 bt lib.The last update is still the old one,so update it again.
2.The controller may miss the sleep time caculated before. So it will stuck
  in the loop to get the deep sleep HW flag. Then the watchdog issue happen.
2021-08-11 14:05:45 +08:00
Wang Meng Yang
189ccc5493 Merge branch 'bugfix/fix_deep_sleep_miss_bug_mr_master' into 'master'
Fixed missing the sleep time

See merge request espressif/esp-idf!14550
2021-08-10 11:15:55 +00:00
XieWenxiang
30ccfdb3b9 component/bt: fix bluedroid host auto update PPCP attribute value 2021-08-10 17:18:49 +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
Yang Zhao
d1f4b74812 The controller may miss the sleep time caculated before. So it will stuck
in the loop to get the deep sleep HW flag. Then the watchdog issue happen.
2021-08-09 13:13:51 +08: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
Wang Meng Yang
226c6ab6de Merge branch 'bugfix/fix_scan_timeout_mr_master' into 'master'
Fix the scan timeout report

See merge request espressif/esp-idf!14325
2021-07-20 07:53:52 +00:00
Wang Meng Yang
d48dee8027 Merge branch 'bugfix/a2dp_deint_crash_master' into 'master'
component_bt: fix a2dp deinit crash

Closes BT-1722

See merge request espressif/esp-idf!14360
2021-07-20 03:02:03 +00:00
xiongweichao
7960110729 components/bt: fix spp memory leak
closes https://github.com/espressif/esp-idf/issues/7238
2021-07-19 21:19:49 +08:00
Yang Zhao
6aa44a8a89 This is to fix the hardware bug. The device may report scan event
timeout when scaning.If check this error,then reset the rwble core.
2021-07-19 20:56:30 +08:00
Omar Chebib
a7b6ec85b8 Merge branch 'feature/move_memory_layout_to_heap' into 'master'
G0: Memory layouts are now part of heap components

Closes IDF-1264

See merge request espressif/esp-idf!14028
2021-07-19 06:23:19 +00:00
xiongweichao
b1bceb6b42 Not initialized or in the process of de-initialization, calling API will return ERR 2021-07-19 11:06:21 +08:00
xiongweichao
55fe021ddb fix a2dp deinit crash 2021-07-19 11:06:21 +08:00
xiongweichao
fbab2fc0e3 Add remove sniff when peer not accepted sniff mode 2021-07-16 11:31:13 +08:00
sushant.chougule
4c3d527b2f component/bt: Fix BLE controller crash during reset/reboot 2021-07-15 22:35:37 +05:30
Omar Chebib
c4f57af6c9 G0: Memory layouts are now part of heap components 2021-07-15 11:38:23 +10:00
Rahul Tank
e81facd3e8 Nimble: Add fix for crash in esp_timer deletion
Added change in nimble submodule to handle crash in case of non-started
timer is attempted to be deleted.
2021-07-13 16:20:49 +08:00
zwj
f5fcfec2cb Fixed ESP32S3 BLE controller init failed 2021-07-06 18:04:04 +08:00
Rahul Tank
3159ba1d5a Add esp_timer_is_active function for Nimble stack to use esp_timer instead of FreeRTOS timer 2021-06-30 10:06:40 +05:30
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
Angus Gratton
c02aa6d0ae Merge branch 'bugfix/switch_jump_tables' into 'master'
build system: always build with -fno-jump-tables & -fno-tree-switch-conversion

Closes IDF-3007

See merge request espressif/esp-idf!13458
2021-06-29 04:13:08 +00:00
Jiang Jiang Jian
910d3cfe06 Merge branch 'bugfix/correct_gatt_max_macro_name' into 'master'
Bluedroid: Fixed issue of option not being set due to incorrect macro

See merge request espressif/esp-idf!13945
2021-06-29 03:24:27 +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
Wang Meng Yang
0b42c8fc73 Merge branch 'bugfix/fix_c3_s3_some_bugs_06_15' into 'master'
Bugfix/fix c3 s3 some bugs 06 15

See merge request espressif/esp-idf!14018
2021-06-27 23:45:22 +00:00
Wang Meng Yang
6ecffb02aa Merge branch 'bugfix/ble_start_scan_crash_issue_mr_master' into 'master'
ble start scan crash issue

See merge request espressif/esp-idf!13798
2021-06-25 10:31:01 +00:00
zwj
97188e8068 support hw recorrect 2021-06-25 15:30:02 +08:00
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
Marius Vikhammer
ee2f8b1a62 build system: always build with -fno-jump-tables & -fno-tree-switch-conversion
Jump tables placed in flash would cause issue with code that needed to be ran from IRAM.

These optimizations are now always disabled.
2021-06-24 14:54:10 +08:00
wangmengyang
a024de7cac component/bt: fixed the assert in checking hardware sleep state during wake-up
The hardware sleep state change can take some time after wake-up interrupt. Use busy waiting instead of directly assert
2021-06-24 10:35:40 +08:00
wangmengyang
aff1696c4e components/bt: fixed two bugs
1. Use correct addresses of Bluetooth Low Power Clock registers on Chip 7.2.8 ESP32-S3
2. Disabled CS-RXDONEMSK to avoid RX interrupt flooding during scan event in coexistence scenario
2021-06-23 07:06:28 +08:00
Wang Meng Yang
d685e85ff4 Merge branch 'bugfix/spp_connect_20_fail' into 'master'
component_bt: fix spp acceptor deadlock

Closes IDFGH-5172

See merge request espressif/esp-idf!13940
2021-06-22 12:21:10 +00:00
Wang Meng Yang
9ee25986a8 Merge branch 'bugfix/fix_a2dp_sink_blocked' into 'master'
Bugfix/Fix a2dp Sink Blocked Bugs

Closes IDFGH-4920, IDFGH-5348, and BT-1740

See merge request espressif/esp-idf!12776
2021-06-22 11:33:31 +00:00
xiongweichao
96aff16dd3 fix spp acceptor deadlock
Closes: https://github.com/espressif/esp-idf/issues/6948
2021-06-22 15:05:27 +08:00
“YangZhao”
7bec64eaa3 If the scan window set as 4 slots and the scan interval set as 5 slots
,then the device will crash when starting scanning.This commit is to fix
this bug.
2021-06-21 21:14:42 +08:00
liqigan
fd83938f39 fix a2dp sink RxSbcQ bugs
Closes https://github.com/espressif/esp-idf/issues/6712
Closes https://github.com/espressif/esp-idf/issues/7100
2021-06-21 20:02:36 +08:00
sushant.chougule
8f7ed33ba3 bt/component: Fix MIC error issue during start_encryption procedure in esp32c3 ble controller 2021-06-21 17:03:02 +05:30
Island
cdad1eaa9c Merge branch 'feat/ble_mesh_make_unprov_beacon_interval_configurable' into 'master'
ble_mesh: stack: Make unprovisioned beacon interval configurable

Closes IDFGH-4930

See merge request espressif/esp-idf!12811
2021-06-18 11:57:45 +00:00
Wang Meng Yang
e245d4c9cd Merge branch 'bugfix/bta_hf_client_co_cb_ptr_macro' into 'master'
bugfix/bta_hf_client_co_cb_ptr requires HFP_DYNAMIC_MEMORY macro to be used

See merge request espressif/esp-idf!12335
2021-06-18 09:03:33 +00:00
wangjialiang
fbacede604 ble_mesh: stack: Fix crash for net_key_del when subnet is NULL 2021-06-18 11:52:00 +08:00
wangjialiang
7bfae982e4 ble_mesh: stack: Make unprovisioned beacon interval configurable.
Closes https://github.com/espressif/esp-idf/issues/6722
2021-06-18 11:52:00 +08:00
wangjialiang
d4232ee8f9 ble_mesh: stack: Fix AuthValue Leak and Predictable AuthValue in Bluetooth Mesh Provisioning Leads to MITM 2021-06-17 17:05:01 +08:00
Wang Meng Yang
0ee043a8a7 Merge branch 'bugfix/active_ext_scan_performance_in_coex' into 'master'
bugfix/active_ext_scan_performance_in_coex

See merge request espressif/esp-idf!13543
2021-06-17 01:32:16 +00:00
Rahul Tank
9013edfd93 Bluedroid: Fixed issue of option not being set due to incorrect macro
name.
2021-06-10 22:06:26 +08:00
wangjialiang
48979803e8 ble_mesh: stack: Add check the value of Provisioning Random & Confirmation sent and received by provisioner 2021-06-09 03:24:35 +00:00
xiewenxiang
96811de932 component/bt: fix enable gattc nvs cache lead to crash 2021-06-07 17:28:12 +08:00
wangmengyang
775465c140 components/bt: fixed performance issue for extended active scan in coexistence scenario: use the same priority for Rx of AUX_ADV_IND and AUX_SCAN_RSP 2021-06-07 11:31:15 +08:00
Jiang Jiang Jian
5cbea220b0 Merge branch 'feature/decouple_esp_phy' into 'master'
esp_phy: decouple esp_phy component from esp_wifi and bt

See merge request espressif/esp-idf!13742
2021-06-04 05:20:17 +00:00
Shu Chen
6061a547e5 esp_phy: decouple esp_phy component from esp_wifi and bt
* add esp-phy-lib submodule
* move libphy.a and phy_init.c from esp_wifi to esp_phy
* move librtc.a from esp_wifi to esp_phy
* move libbtbb.a from bt to esp_phy
* corresponding updates to build system
2021-06-03 16:17:31 +08:00
Angus Gratton
dc6b950257 doc: Add performance guides for execuion speed, binary size, RAM usage
Closes https://github.com/espressif/esp-idf/issues/7007
Closes https://github.com/espressif/esp-idf/issues/6715
Closes https://github.com/espressif/esp-idf/issues/3781
Closes https://github.com/espressif/esp-idf/issues/2566
2021-06-03 13:55:34 +10: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
liaowenhao
6bd7f30199 bugfix/fix crash when lmp flooding 2021-05-24 12:08:03 +08:00
Jiang Jiang Jian
da988bed0f Merge branch 'bugfix/btdm_delete_adv_priority_high' into 'master'
components/bt: Delete BLE ADV priority high

Closes BT-1573

See merge request espressif/esp-idf!13054
2021-05-24 03:58:32 +00:00
Mahavir Jain
f339506324 bt: use generic SPIRAM config option for memory alloc policy 2021-05-17 10:43:42 +00:00
baohongde
721a0c3415 components/bt: Delete BLE ADV priority high 2021-05-17 17:07:14 +08:00
Prasad Alatkar
03634ea64b NimBLE: Update NimBLE submodule to reattempt conn and to fix vulnerability
* Add workaround to overcome connection establishment failure error.

* Fix vulnerability during public key exchange in secure connection
2021-05-13 19:10:19 +05:30
Jiang Jiang Jian
95dfdf7680 Merge branch 'nimble/fix_broadcaster_role' into 'master'
NimBLE: Add custom logging support, fix build error for broadcaster role, NVS peer_dev_records fix

See merge request espressif/esp-idf!13204
2021-05-13 10:01:12 +00:00
Prasad Alatkar
3dfcaee9bd NimBLE: Add custom logging support and fix build error for broadcaster role
* Fix bug in nvs deletion of `ble_dev_record`.
2021-05-13 18:01:01 +08:00
Jiang Jiang Jian
71325aaa46 Merge branch 'bugfix/invalid_feat_page_exec' into 'master'
bt controller: Fixed handling for invalid feature page.

See merge request espressif/esp-idf!13292
2021-05-13 09:02:42 +00:00
Jiang Jiang Jian
7b2f2c2a86 Merge branch 'bugfix/ag_use_dynamic_memory_error' into 'master'
Fix ag use dynamic memory error

Closes BT-1574

See merge request espressif/esp-idf!13094
2021-05-13 07:56:45 +00:00
Chinmay Chhajed
ce4743d9d3 bt controller: Fixed handling for invalid feature page. 2021-05-11 09:00:37 +00: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
xiongweichao
d38a91ee95 Remove btc_hf_idx_by_bdaddr in both btc_hf_init and btc_hf_deinit functions 2021-05-10 11:11:02 +08:00
xiongweichao
be6b25b9d9 fix ag use dynamic memory error 2021-05-10 10:56:46 +08:00
wangjialiang
a5e12d9b63 ble_mesh: stack: Fix provisioning input or output count number should be at least 1
Closes https://github.com/espressif/esp-idf/issues/6863
2021-05-06 06:49:04 +00:00
wangmengyang
59c0825ed8 Added example(ESP32-C3), to use Bluetooth Controller through HCI UART transport 2021-04-30 15:25:10 +00:00
wangmengyang
666a73d79c components/bt: bug-fixes in BLE controller and BLE baseband
1. Removed the interrupt lock operation during controller enable/disable/reset, to avoid trigger interrupt watchdog time-out due to use of mutex/semaphore in coex_st_set

2. update libbtbb.a to fix the Rx performance issue for CODED PHY, especially in coexistence scenario
2021-04-28 12:05:49 +00:00
wangmengyang
d2324c162a components/bt: Minor fix for the range of GATTC number of reconnections. 2021-04-28 12:05:49 +00:00
zwj
3c06fea8a1 fix esp32c3 and esp32s3 ble disconnect due to connection paramters update 2021-04-25 20:18:21 +08:00
wangmengyang
d703424ef7 component/bt: add another bt-lib submodule and refactor the directories 2021-04-22 07:41:46 +08:00
wangmengyang
b81c687327 remove original esp32-bt-lib submodule 2021-04-21 19:51:32 +08:00
“YangZhao”
1def09cc99 bugfix: Fix the issue that the controller do not report the timeout
disconnect event. This issue is caused by modem sleep.The sleep interrupt
will come the second time before the CLKN interrupt. If we disable the sleep
interrupt when it comes in the first time, the CLKN will never come.
2021-04-21 14:49:44 +08:00
Wang Meng Yang
c94916de8f Merge branch 'bugfix/optimize_c3_multi_con_and_add_connection_retry' into 'master'
optimize c3 multi con and add connection retry

See merge request espressif/esp-idf!12983
2021-04-20 14:48:11 +00:00
Island
3e05abe7bb Merge branch 'bugfix/endianness_in_output_or_input_oob' into 'master'
ble_mesh: stack: Fix endianness error in output or input oob data of number

See merge request espressif/esp-idf!13160
2021-04-20 13:09:01 +00:00
wangjialiang
dd0fbb2f5e ble_mesh: stack: Fix endianness error in output or input oob data of number
Closes https://github.com/espressif/esp-idf/issues/6862
2021-04-20 06:25:52 +00:00
Prasad Alatkar
7d4cfb6d53 NimBLE: Add max connection config option for ESP32C3 2021-04-20 02:41:58 +00: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
Jiang Jiang Jian
920b3a0929 Merge branch 'feature/configure_max_server_profiles_count' into 'master'
esp32: Added an option in menuconfig to configure maximum gatt services

Closes BT-1508

See merge request espressif/esp-idf!12769
2021-04-19 06:31:09 +00:00
zwj
facadc86d8 support 727 esp32s3 BLE 2021-04-15 22:02:58 +08:00
xiongweichao
4aafb1fd80 modify E8192 ELx200 ELx40 log level to LOGD 2021-04-13 17:08:23 +08:00
Marius Vikhammer
0633ee3e18 docs: fix doxygen compile warnings for doxygen 1.9.1
Newer versions of doxygen will give warnings for comments in
INPUT lists

Delete all comment lines to fix these warnings, our folder structure
stil gives an OK overview of what we are including
2021-04-09 11:57:03 +08:00
Rahul Tank
6395eae955 esp-idf: Added an option in menuconfig to configure maximum gatt services
Currently Max GATT services count cannot be configured externally and
hence user needs to modify code ,everytime the count is to be
modified.

 Added an option in menuconfig to provide a way to user to set the count.

Fixes: https://jira.espressif.com:8443/browse/BT-1508
2021-04-08 10:42:47 +00:00
Renz Bagaporo
e6edf34e82 esp32: move esp_clk functions 2021-03-31 19:17:33 +08:00
Jiang Jiang Jian
80d0f6c860 Merge branch 'nimble/add_error_prints_acl_buf' into 'master'
NimBLE: Add error prints for ACL buffer exhaustion in NPL

See merge request espressif/esp-idf!12665
2021-03-31 03:20:16 +00:00
Jiang Jiang Jian
bd4e34b15a Merge branch 'bugfix/btdm_incorrectly_spelled' into 'master'
component/bt: fix Spelling mistakes

Closes IDFGH-4886, IDFGH-4910, and IDFGH-4635

See merge request espressif/esp-idf!12814
2021-03-29 05:07:54 +00:00
Jiang Jiang Jian
bcbf1d2c3c Merge branch 'bugfix/btdm_add_controller_support_RPA' into 'master'
add option to enable/disable esp32 controller RPA

See merge request espressif/esp-idf!12832
2021-03-26 04:19:50 +00:00
Jiang Jiang Jian
6c070f49a8 Merge branch 'bugfix/btdm_fix_multi-con_pair_failed' into 'master'
fix multi-connection pair failed

Closes BT-1490

See merge request espressif/esp-idf!12877
2021-03-26 04:18:56 +00:00
Jiang Jiang Jian
e5f8e12db1 Merge branch 'bugfix/btdm_synchronize_multiple_branch_of_bt_lib' into 'master'
Bugfix/btdm synchronize multiple branch of bt lib

Closes BT-1535

See merge request espressif/esp-idf!12868
2021-03-26 04:15:42 +00:00
Jiang Jiang Jian
a24ae68d48 Merge branch 'nimble/mbedtls_aes_free_dma' into 'master'
NimBLE: Free AES context after use by calling `mbedtls_free_aes` (Needed for C3)

Closes BT-1435

See merge request espressif/esp-idf!12363
2021-03-25 12:42:32 +00:00
baohongde
77fc60ede1 components/bt: Synchronize multiple branch of bt lib 2021-03-25 14:39:28 +08:00
baohongde
36b89a9f0b components/bt: Fix assert without sw coexist enabled 2021-03-25 14:39:07 +08:00
baohongde
7c2ff2ad3f component/coex: Decouple Wi-Fi and bluetooth with coexist to reduce binary file size 2021-03-25 14:39:07 +08:00
Prasad Alatkar
b4861a11e6 NimBLE: Free AES context after use by calling mbedtls_free_aes
- Update NimBLE submodule to resolve issue observed while using mbedTLS as
  crypto stack during security exchanges.

Closes BT-1435, BT-1434
2021-03-24 13:26:36 +00:00
Prasad Alatkar
5d80d551cf NimBLE: Add error prints for ACL buffer exhaustion in NPL 2021-03-24 13:25:38 +00:00
zwj
dc3a5a9335 fix multi-connection pair failed 2021-03-24 14:58:21 +08:00
zwj
6e343bead2 add option to enable/disable esp32 controller RPA 2021-03-24 14:42:35 +08:00
“YangZhao”
8e282c7fe5 Fix the bug of modem sleep which may lead to the crash issue "assert(-218959118,0)" 2021-03-24 11:39:00 +08:00
XieWenxiang
f9cdd1d6c9 component/bt: Modify some ambiguous descriptions 2021-03-23 23:08:05 +08:00
Jiang Jiang Jian
5978352cf9 Merge branch 'bugfix/ble_tx_power_mapping' into 'master'
Bluetooth: Tx power level for ESP32C3 and IRAM_ATTR fix for ESP32S3 controller

See merge request espressif/esp-idf!12651
2021-03-23 03:04:30 +00:00
Angus Gratton
54edd4fc58 Merge branch 'feature/wdt_c3' into 'master'
wdt: Fix RTC_SLOW_CLK for chips, corrects WDT timeout.

Closes IDF-2118 and IDF-2332

See merge request espressif/esp-idf!12796
2021-03-22 06:48:58 +00:00
liaowenhao
048f527883 bugfix/bta_hf_client_co_cb_ptr requires HFP_DYNAMIC_MEMORY macro to be used 2021-03-22 03:07:49 +00:00
KonstantinKondrashov
aa1338bf23 wdt: Fix timeout and RTC_SLOW_CLK
RTC_SLOW_CLK
ESP32:    150kHz
ESP32-S2:  90kHz
ESP32-S3: 150kHz
ESP32-C3: 150kHz
2021-03-19 00:15:18 +08:00
Jiang Jiang Jian
d01c951d46 Merge branch 'bufix/ag_deep_copy_crash' into 'master'
components/bt: Fix crash in btc_hf_arg_deep_copy when name or number is NULL

Closes BT-1355

See merge request espressif/esp-idf!12338
2021-03-18 09:49:57 +00:00
wangmengyang
3df07164c1 components/bt: shorten some log messages for bluedroid 2021-03-17 16:52:34 +08:00
wangmengyang
ab8e488c38 component/bt: [ESP32S3] fix missing IRAM_ATTR for function in libbtdm_app.a 2021-03-17 16:52:34 +08:00
wangmengyang
528964f12c fixed incorrect Tx power mappings for ESP32C3 chip 2021-03-17 16:52:26 +08:00
zwj
b3a2fedfde fix ble connection event report remote address error 2021-03-12 11:49:52 +08:00
Jiang Jiang Jian
a8f6a7a28e Merge branch 'bugfix/c2h_fc_param_fix_ble' into 'master'
Fix for C2H flow control param check when only BLE mode is configured.

See merge request espressif/esp-idf!12672
2021-03-10 17:22:03 +00:00
Chinmay Chhajed
1d54d9ac13 Fix for C2H flow control param check when only BLE mode is configured. 2021-03-10 15:06:49 +05:30
Angus Gratton
39a2d531f0 Merge branch 'feature/ldgen_mapping_extensions' into 'master'
ldgen: mapping flags extensions

Closes IDFGH-2524

See merge request espressif/esp-idf!12035
2021-03-09 22:43:08 +00:00
baohongde
33df1358ef Fix issues during light sleep and DFS 2021-03-09 13:49:59 +08:00
Jiang Jiang Jian
ffe5e45c77 Merge branch 'bugfix/btdm_controller_task_watchdog_in_wifi_test' into 'master'
Fix controller task watchdog in Wi-Fi test

Closes WIFI-3391

See merge request espressif/esp-idf!12628
2021-03-08 07:02:16 +00:00
Jiang Jiang Jian
b88a156ce5 Merge branch 'bugfix/btdm_crash_when_esp_restart' into 'master'
components/bt: Fix crash in Bluetooth when esp_restart

See merge request espressif/esp-idf!12566
2021-03-05 11:53:03 +00:00
baohongde
df146f5cd9 Fix controller task watchdog in Wi-Fi test 2021-03-05 11:25:03 +08:00
Angus Gratton
70e13752ae Merge branch 'feature/rtc_time_get' into 'master'
rtc: Clean up for S2,S3,C3

Closes IDF-2569

See merge request espressif/esp-idf!12336
2021-03-05 01:16:15 +00: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
Jiang Jiang Jian
6677cd5498 Merge branch 'component_bt/optimize_spp_stop_server' into 'master'
component_bt/Optimize SPP Stop Server API

Closes BT-960

See merge request espressif/esp-idf!11124
2021-03-04 03:34:44 +00:00
liqigan
408a1490a9 add API esp_spp_stop_srv_scn to stop a specific server 2021-03-03 15:02:23 +08:00
liqigan
825c2024d0 fix l2cap repeat cid 2021-03-03 14:50:05 +08:00
Angus Gratton
cfde7adb7f esp_ble_mesh: Use standard ESP-IDF asserts
Smaller binary size, means that config options for silent assert or disable
assert will apply
2021-03-03 10:26:57 +11:00
Angus Gratton
0d26c89b6b btc_common: Redefine BTC assert macro to use standard assert
Allows assert to be disabled, made silent, etc.

Progress towards https://github.com/espressif/esp-idf/issues/6306
2021-03-03 10:26:57 +11: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
Angus Gratton
d6f4d99d93 core system: Fix warnings in compilation when assertions are disabled
Adds a CI config for hello world that sets this, to catch future regressions
2021-03-03 10:26:57 +11:00
xiongweichao
d39756d8e7 components/bt: Fix crash in btc_hf_arg_deep_copy when name or number is NULL 2021-03-01 12:54:21 +00:00
KonstantinKondrashov
b31bf01484 rtc: Clean up for S2,S3,C3 2021-03-01 16:51:15 +08:00
baohongde
2e7405e8aa components/bt: Fix crash in Bluetooth when esp_restart 2021-03-01 14:39:35 +08:00
Renz Bagaporo
10c5226095 ldgen: use uppercase keywords for flags 2021-03-01 14:19:34 +08:00
Renz Bagaporo
dbdc17cced ldgen: rename emit to surround 2021-03-01 14:19:34 +08:00
Renz Bagaporo
c6f0d47758 esp32: move bt linker script placements to ldgen 2021-03-01 14:19:34 +08:00
gengyuchao
0d1eb8a331 Fix IRAM_ATTR missing 2021-02-26 20:31:47 +08:00
zwj
f344a65af5 fix crash caused by spp pairing cancel 2021-02-18 21:10:25 +08:00
Island
b88ec36635 Merge branch 'bugfix/ignore_null_valued_comb_key' into 'master'
component/bt: Added check for NULL valued combination key.

See merge request espressif/esp-idf!12239
2021-02-09 19:49:25 +08:00
Island
3f821b1d65 Merge branch 'bugfix/ble_mesh_server_model_deinit' into 'master'
ble_mesh: stack: Fix deinit server models with no matching id

See merge request espressif/esp-idf!12312
2021-02-09 16:26:38 +08:00
Chinmay Chhajed
368ba6b077 component/bt: Added check for NULL valued combination key. 2021-02-09 12:09:32 +05:30
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
wangmengyang
44dd496bea update esp32c3 btbb lib 21-02-08 and set coexist state when in scan(initiating) mode 2021-02-08 21:19:59 +08:00
zwj
52909b69b7 fix esp32c3 can't enable adv flow control func 2021-02-08 16:33:20 +08:00
lly
d3cc004803 ble_mesh: stack: Fix deinit server models with no matching id 2021-02-07 11:12:25 +08:00
wangmengyang
2dd730d35c component/bt: [esp32c3] modify Bluetooth coexistence options 2021-02-05 09:16:29 +00:00
Jiang Jiang Jian
6a7781b92a Merge branch 'bugfix/fix_a2dp_underun' into 'master'
bugfix/component_bt: Fix A2DP Underrun Issue

Closes AUD-2681

See merge request espressif/esp-idf!12093
2021-02-04 19:28:07 +08:00
Jiang Jiang Jian
c1aacb2efc Merge branch 'bugfix/btdm_add_ble_connection_params_check' into 'master'
Bugfix/btdm add ble connection params check

See merge request espressif/esp-idf!12193
2021-02-04 17:32:42 +08:00
lly
0c6e61d258 ble_mesh: stack: Fix mbedtls aes ctx not deallocated 2021-02-04 11:24:54 +08:00
lly
0d95760fe4 ble_mesh: stack: Fix hw aes no dma channel for c3 2021-02-03 08:45:06 +00:00
lly
bd2d63ff96 ble_mesh: stack: Enable duplicate scan for c3 2021-02-03 08:45:06 +00:00
zwj
d76d708bc3 add connection parameter check 2021-01-29 15:29:57 +08:00
Jiang Jiang Jian
28faf93c51 Merge branch 'feature/esp32c3_power_down' into 'master'
esp32c3 : power down MAC and BB only if both Wi-Fi and BT power down

Closes FC3-99

See merge request espressif/esp-idf!12076
2021-01-28 23:27:19 +08:00
baohongde
eef66789d4 Mac BB power down in light sleep
components/bt: Do not use feature: timer support isr dispatch method

disable controller after wake up finished.

protect critical section of power down

choose clk in sleep

components/coex: mac bb power down in light sleep

components/coex: Macro changed

components/os: protect reserved interrupt number

update phy to phy_version 300,6e46ba7,Jan 25 2021

some bugfix
2021-01-28 22:28:04 +08:00
Jiang Jiang Jian
9eae54f3be Merge branch 'bugfix/fix_a2dp_sink_crash_due_to_ble5.0_code' into 'master'
fix a2dp sink crash due to ble 5.0 code

Closes BT-1358, BT-1354, and BT-1356

See merge request espressif/esp-idf!12170
2021-01-28 19:41:54 +08:00
wangmengyang
ee480b7776 Refactor Bluetooth init/deinit mechanism
free osi_funcs struct memory duiring failure of controller_init when necessary

components/bt: use s_lp_stat.phy_enabled to control the on/off of phy module

clean up style for controller_disable

clean up some empty functions and unnecessary comments

Added async wakeup src "BTDM_ASYNC_WAKEUP_SRC_TMR"

remove use of assert in controller_init, set error code upon some exceptions

move stop esp_timer early to phase0, add state variable wakeup_timer_started
2021-01-28 19:27:17 +08:00
wangmengyang
06ea8a3028 remove use of macro "CONFIG_SPIRAM_USE_MALLOC" 2021-01-28 19:25:03 +08:00
wangmengyang
086b36d737 Refactor Bluetooth sleep mechanism
Refactor bluetooth hardware PowerUp/PowerDown functions

component/bt: fix use of a deprecated MACRO "CONFIG_ESP32_WIFI_SW_COEXIST_ENABLE"

component/bt: fix sleep wakeup in controller disable procedure

remove use of s_pm_lock_sem

1. Modified the waking up approach from async to sync: post a message to controller task upon vhci downstream packets or controller disable, and in response, controller task goes through the wake-up procedure
2. Added Controller status check for the esp_vhci APIs
3. Adjust the procedure during controller_init, check the validity of arguments first

Some minor modifications for bluetooth sleep control and configuration

1. use variable flag s_btdm_allow_light_sleep to control the use of s_light_sleep_pm_lock
2. use variable btdm_lpclk_sel to choose bluetooth sleep clock, support only for external 32kHz crystal temporarily

component/bt: improve async_wakeup function

1. check power state first and then decide if wakeup needs to be performed
2. change the meaning of the return value, if wakeup request is posted to controller task, then return true, otherwise return false

put sleep control logics in controller init/deinit/enable/disable together

Use s_lp_cntl struct: replace bool-typed variable sleep_backup_en with s_lp_cntl.mac_bb_pd

Use s_lp_cntl struct: replace bool-typed variable s_btdm_allow_light_sleep with s_lp_cntl.no_light_sleep

Use s_lp_cntl struct: replace global variable btdm_lpclk_sel with s_lp_cntl.lpclk_sel

create semaphore s_wakeup_req_sem only when low power mode is required

Use s_lp_cntl struct: use s_lp_cntl.wakeup_timer_required to control the wakeup timer

use s_lp_stat to replace original state variable sleep_backup_done and s_pm_lock_acquired

one minor change for mac_bb_pd settings init: return error status if memeory allocation failed
2021-01-28 19:23:09 +08:00
Jiang Jiang Jian
4ab76197e9 Merge branch 'bugfix/bta_hf_client_sco_co_out_data' into 'master'
bugfix/if bta_hf_client_sco_co_out_data is called, it will crash when sco disconnected

Closes AUD-2714

See merge request espressif/esp-idf!12179
2021-01-28 18:02:25 +08:00
wangmengyang
9742aa6f05 component/bt: handle sleep wakeup event in the context of controller task instead of timer task 2021-01-28 16:04:21 +08:00
Jiang Jiang Jian
24f0bbded9 Merge branch 'bugfix/esp32s3beta2_ble_coexist_status_set' into 'master'
bugfix/esp32s3beta2_ble_coexist_status_set

See merge request espressif/esp-idf!12137
2021-01-27 21:37:51 +08:00
liaowenhao
e502893f18 bugfix/if bta_hf_client_sco_co_out_data is called, it will crash when sco disconnected 2021-01-27 19:46:13 +08:00
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
zhiweijian
90d5413623 fix read multi char failed(GATT_27001) 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
wangmengyang
51be1af028 add coexist hook functions and fix bugs for coexistence 2021-01-27 06:37:04 +00:00
weitianhua
c347b0a937 Update bt_discovery demo and README
1. Use bt_app_gap_init function
2. Add Security Simple Pair doc
3. Update README

Update SPP demo

1. Add input module for bt_spp_initiator demo to show the security simple pair features
2. Update README of bt_spp_acceptor and bt_spp_initiator demo.

Format comment in esp_a2dp_api.h

Format comment in esp_avrc_api.h

Format comment in esp_spp_api.h

Fix bt_discovery build err

Update HFP API guide error

Remove BTA_AV_DEBUG

Remove Trailing Whitespace & End of Files
2021-01-27 14:17:12 +08:00
weitianhua
1404879bf4 Fix A2DP Underrun Issue 2021-01-25 17:44:11 +08:00
weitianhua
bfad85a372 Add init & deinit event for a2dp 2021-01-25 16:30:09 +08:00
Jiang Jiang Jian
f7c9f1afd7 Merge branch 'bugfix/avrc_set_player_value_cmd_event_unhandle' into 'master'
bugfix/fix unhandle RC vendor PDU when tg receive set_player_app_value cmd

Closes BT-711

See merge request espressif/esp-idf!11807
2021-01-20 23:39:57 +08:00
Jiang Jiang Jian
ffa29f8098 Merge branch 'feature/hfp_console' into 'master'
Feature/modify hfp console style by using esp console

Closes BT-1052

See merge request espressif/esp-idf!10973
2021-01-20 23:39:45 +08:00
Island
b7c404d3ff Merge branch 'bugfix/ble_mesh_proxy_client_net_resend' into 'master'
ble_mesh: stack: Fix proxy client may fail to resend msg

See merge request espressif/esp-idf!9882
2021-01-20 19:21:16 +08:00
Island
1f91e321f1 Merge branch 'bugfix/ble_mesh_node_set_name_status_check' into 'master'
ble_mesh: stack: Remove node set device name return status check

See merge request espressif/esp-idf!12071
2021-01-20 19:20:58 +08:00
Jiang Jiang Jian
d017c21131 Merge branch 'nimble/support_wl_DLE_esp32c3' into 'master'
NimBLE: Support whtelist remove, packet length set APIs

Closes BT-1271 and BT-1242

See merge request espressif/esp-idf!12069
2021-01-20 17:17:34 +08:00
lly
3ce6887aaf ble_mesh: stack: Remove node set device name return status check 2021-01-20 14:48:24 +08:00
Prasad Alatkar
f401e9716f NimBLE: Support APIs for whitelist remove and set packet length in controller 2021-01-20 11:58:33 +05:30
lly
690642be0e ble_mesh: stack: Use different random for each provisioning 2021-01-20 14:09:44 +08:00
lly
16f5438810 ble_mesh: stack: Fix proxy client may fail to resend msg 2021-01-20 06:04:31 +00:00
Jiang Jiang Jian
53e1a7f661 Merge branch 'nimble_esp32c3_support' into 'master'
ESP32C3 NimBLE support

See merge request espressif/esp-idf!12046
2021-01-20 13:57:38 +08:00
Prasad Alatkar
f959028486 NimBLE: Fix host flow control in NimBLE porting layer.
- Register `ble_hs_flow_acl_free` callback in NimBLE porting layer.
2021-01-19 17:03:00 +05:30
Chinmay Chhajed
62225cc47a NimBLE: BLE 5.0 related configuration changes
Added some changes like checking idf_target = BT_SOC_SUPPORT_5_0
and menuconfig option to enable/disable host based privacy.
2021-01-19 17:02:56 +05:30
lly
0edb86ddb0 ble_mesh: stack: Fix compile warning when log is disabled 2021-01-19 02:09:58 +00:00
lly
80bee1da1f ble_mesh: stack: Add prefix BLE_MESH_ for log related macros 2021-01-19 02:09:58 +00:00
Jiang Jiang Jian
f5e7504000 Merge branch 'nimble/update_nimble-1.3.0-idf' into 'master'
NimBLE: Update NimBLE to latest 1.3.0 release

See merge request espressif/esp-idf!9917
2021-01-18 20:29:10 +08:00
Island
c65a24063d Merge branch 'update/ble_mesh_set_hsl_states' into 'master'
ble_mesh: stack: Enable updating lighting hsl state

See merge request espressif/esp-idf!12025
2021-01-18 13:20:59 +08:00
lly
187fb9d959 ble_mesh: stack: Fix compile warning with BIT macro 2021-01-18 08:59:14 +08:00
lly
3aabf571a8 ble_mesh: stack: Update mesh max conn macro when using bluedroid 2021-01-18 00:54:11 +00:00
Prasad Alatkar
7252c99a14 BLE Mesh: Fix compilation for NimBLE-1.3.0 upgrade by typecasting adv data to void 2021-01-15 16:57:29 +00:00
Prasad Alatkar
8224aa69a2 NimBLE: Update NimBLE to latest 1.3.0 release 2021-01-15 16:57:29 +00:00
zwj
ea42d8e043 fix bluedroid deinit crash 2021-01-15 21:08:14 +08:00
lly
8aae9860ce ble_mesh: stack: Enable updating lighting hsl state 2021-01-15 20:27:43 +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
Island
1e73d90c29 Merge branch 'bugfix/bluedroid_avoid_same_bdaddr_conn' into 'master'
Bluedroid: Do not connect if peer BD_ADDR is same as own BD_ADDR.

See merge request espressif/esp-idf!11806
2021-01-14 14:47:21 +08:00
liaowenhao
6c0e3fe23c bugfix:unhandle event when tg receive set_player_app_value cmd 2021-01-08 20:58:35 +08:00
liaowenhao
08dc78412e fix double malloc for SCO link when bta_ag_sco_co_open is also called in bta_ag_rfc_open 2021-01-07 11:37:24 +00:00
liaowenhao
60e2eb8dfc bugfix/fixed the warning info always being printed when entering the cona command in msbc mode 2021-01-07 11:37:24 +00:00
lly
d0901c81f8 ble_mesh: stack: Fix using wrong | for OR between macros 2021-01-07 19:17:45 +08:00
lly
847e408a82 ble_mesh: stack: Fix Node ID adv with wrong timeout 2021-01-06 06:02:18 +00:00
Jiang Jiang Jian
eb9c2d584f Merge branch 'bugfix/fix_tx_issue_after_esp_restart' into 'master'
components/bt: Shutdown Bluetooth before esp_restart.

See merge request espressif/esp-idf!11698
2021-01-06 12:32:03 +08:00
Jiang Jiang Jian
b790a1866f Merge branch 'bugfix/btdm_blufi_send_custom_data_will_congested_after_connection_is_broken' into 'master'
component/bt: fix Blufi sends customer data will congested when connection is broken

See merge request espressif/esp-idf!11845
2021-01-06 12:29:20 +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
Jiang Jiang Jian
e784469966 Merge branch 'bugfix/spp_data_send_delay' into 'master'
Add API to config QoS

See merge request espressif/esp-idf!9493
2021-01-05 10:32:51 +08:00
Bao Hong De
64d30fa6c4 Add API to config QoS 2021-01-05 10:32:47 +08:00
XieWenxiang
ba89eeabfa component/bt: fix Blufi sends customer data will congested when connection is broken 2020-12-31 14:45:23 +08:00
Angus Gratton
db4fb49432 esp_common: Fix issue with SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY not visible on c3
Create a common symbol name to use from linker.lf fragments
2020-12-31 15:20:05 +11: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
Jiang Jiang Jian
52e66cb143 Merge branch 'bugfix/fix_spp_vfs_dynamic_memory_bugs' into 'master'
component_bt/fix spp vfs demo crash when use dynamic memory

See merge request espressif/esp-idf!11502
2020-12-23 12:36:44 +08:00
baohongde
3b0fc48ab4 components/bt: Shutdown Bluetooth before esp_restart. 2020-12-21 20:08:10 +08:00
lly
ac93a38990 ble_mesh: stack: Support reporting normal ble adv packets 2020-12-21 09:08:25 +00:00
lly
a6ebe48e6e ble_mesh: stack: Add a btc file for ble coex functions
Previously if starting/stopping BLE advertising when BLE Mesh
is enabled, the corresponding events will be notified through
the callback registered by esp_ble_mesh_register_prov_callback().

With this commit, the func esp_ble_mesh_register_ble_callback()
needs to be invoked for resgitering the callback used for BLE
coexistence related functionalities (i.e. ADV/SCAN).
2020-12-21 09:08:25 +00:00
lly
1bb3f693d5 ble_mesh: stack: Move ble scan funcitons to a single file 2020-12-21 09:08:25 +00:00
lly
9be0120d94 ble_mesh: stack: Optimize handling received mesh adv packets 2020-12-21 09:08:25 +00:00
gengyuchao
247484c454 bugfix: clear the timer after remote reject when respond the parameters update 2020-12-17 22:19:44 +08:00
wangcheng
386a8e37f1 components/bt:fix exl200, add btdm_disable_adv_delay, fix RPA addr update error. 2020-12-17 10:57:54 +08: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
Wei Tian Hua
6b7c878581 Free ACL RX Buf in EM when disconnection 2020-12-16 18:02:39 +08:00
liqigan
478cef9b75 fix spp vfs demo crash when use dynamic memory 2020-12-09 19:46:43 +08:00
lly
fb531815b0 ble_mesh: stack: Move bt_mesh_rand to mesh_common.c 2020-12-08 15:13:04 +08:00
lly
19c3f38b36 ble_mesh: stack: Remove useless BT_DBG_ENABLED in a few files 2020-12-08 15:13:04 +08:00
lly
b77563abb0 ble_mesh: Replace zephyr integer types with C99 types [Zephyr] 2020-12-08 15:13:04 +08:00
lly
162e11cff3 ble_mesh: stack: Update ARRAY_SIZE definition 2020-12-08 15:13:04 +08:00
Island
4f082154e0 Merge branch 'feat/ble_mesh_multiple_nvs_namespace' into 'master'
ble_mesh: stack: Provisioner supports multiple nvs namespaces

Closes BLEMESH-260

See merge request espressif/esp-idf!11355
2020-12-07 14:43:04 +08:00
lly
a90e3cdf95 ble_mesh: stack: Provisioner supports multiple nvs namespaces
Now Provisioner can use different NVS namespaces to store
different instances of mesh information, for example, for
different user accounts.
2020-12-04 20:31:25 +08:00
Sachin Parekh
be5563207d esp32: Provision to redirect .bss to external ram through linker fragments
Include external ram section in the linker template to process it
through linker script generation mechanism. This enables redirection of .bss section to external memory using linker fragments

libnet80211, libpp, libbt, liblwip: Redirect .bss through fragments
2020-12-04 06:32:38 +00: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
Artem Godlevskyi
3caa9699ae 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-11-27 11:50:03 +00:00
Prasad Alatkar
922a994896 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-11-27 11:50:03 +00:00
Jiang Jiang Jian
079247b42a Merge branch 'bugfix/blufi_config_potential_double_free' into 'master'
Bugfix/blufi config potential double free

Closes BCI-249, BCI-241, BCI-244, and BT-1174

See merge request espressif/esp-idf!9980
2020-11-27 13:44:37 +08:00
Jiang Jiang Jian
4985310b29 Merge branch 'bugfix/fix_crash_of_divide_zero' into 'master'
Fix crash caused by dividing zero

Closes AUD-2450

See merge request espressif/esp-idf!11100
2020-11-27 12:01:13 +08:00
lly
992ceca71b ble_mesh: stack: Need uuid when adding device for provisioning 2020-11-25 20:51:23 +08:00
wangcheng
d1bf93e055 component/bt: Add a macro to control the compilation of blufi. 2020-11-24 10:43:18 +08:00
wangcheng
714d88e426 component/bt: Fix a potential double free error. 2020-11-24 10:22:40 +08:00
wangcheng
709ad66d44 blufi: fix an error caused by incorrect conn_id parameters. 2020-11-24 10:22:32 +08:00
lly
db4b87a771 ble_mesh: stack: Provisioner supports receiving heartbeat 2020-11-23 01:28:28 +00:00
weitianhua
56f0978caa Add protection for interval_min when it comes to zero 2020-11-19 11:05:40 +08:00
lly
2e13e618b5 ble_mesh: stack: Update connection interval to 15ms 2020-11-17 11:58:23 +00:00
lly
6169636769 ble_mesh: stack: Update connection parameters used by Central 2020-11-17 11:58:23 +00: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
Angus Gratton
e82eac4354 cmake: Apply cmakelint fixes 2020-11-11 07:36:35 +00:00
Jiang Jiang Jian
5f49ad24a9 Merge branch 'bugfix/fix_assert_in_passkey_reply' into 'master'
Bugfix/fix assert in passkey reply

Closes BT-1090

See merge request espressif/esp-idf!10962
2020-11-11 11:35:35 +08:00
Jiang Jiang Jian
b9ca112d56 Merge branch 'bugfix/fix_crash_caused_by_calling_deinit_directly' into 'master'
Fix crash caused by calling a2dp_deinit directly

Closes BT-1129

See merge request espressif/esp-idf!11129
2020-11-11 11:35:03 +08:00
Island
a885a13582 Merge branch 'bugfix/ble_mesh_wrong_func_declaration' into 'master'
ble_mesh: stack: Fix wrong declaration of node bind AppKey func

See merge request espressif/esp-idf!11175
2020-11-11 10:59:57 +08:00
weitianhua
ed2654bdf3 Remove dummy assert when receive passkey requst 2020-11-10 15:58:24 +08:00
weitianhua
08eace5a26 Fix crash cause by calling a2dp deinit when connected 2020-11-10 07:25:57 +00:00
lly
e543dc9a3b ble_mesh: stack: Fix wrong declaration of node bind AppKey func 2020-11-10 14:05:19 +08:00
gengyuchao
5aecf71021 Fix two bugs:
1.Fix supervision timeout in LLC DISC busy statue can not disconnect issue.
 2.Solve the problem that the ble terminate ack packet may lose with a high probability in coex mode.
2020-11-10 03:02:57 +00:00
wangcheng
e5af56db41 components/bt: fix hci timeout, add timer to monitor scan evt. 2020-11-06 14:04:17 +08:00
Jiang Jiang Jian
a88989fee8 Merge branch 'bugfix/fix_clkn_overflow_issue' into 'master'
Fix BT controller dead issue caused by clk overflow

See merge request espressif/esp-idf!11012
2020-11-05 23:08:46 +08:00
lly
549dc2a411 ble_mesh: stack: Add node local netkey/appkey func 2020-11-04 03:25:02 +00:00
lly
1f61b67ec3 ble_mesh: test: Fix node test function not update role flag 2020-10-29 15:48:06 +08:00
weitianhua
1de3b17192 Fix BT controller dead issue caused by clk overflow 2020-10-29 10:49:30 +08: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
wangcheng
6d7c9907c3 components/bt: fixed memory damage caused by bluetooth memory release 2020-10-28 06:59:03 +00:00
wangcheng
8cf0c1c3b8 components/bt: fix assert(10, 9), when the AFPM happens 2020-10-28 06:59:03 +00:00
lly
5f146455f3 component/bt: Fix gatt clcb use-after-free issue 2020-10-28 02:42:28 +00:00
Jiang Jiang Jian
161bff3b11 Merge branch 'bugfix/tx_prog_dram_crash' into 'master'
components/bt: fixed tx_prog insert error(master)

See merge request espressif/esp-idf!10910
2020-10-26 11:33:20 +08:00
lly
fc071c10a6 ble_mesh: stack: Add a Kconfig option to make Health Server model optional 2020-10-23 02:04:21 +00:00
lly
9620a1a568 ble_mesh: stack: Split model Kconfig menu into foundation and others 2020-10-23 02:04:21 +00:00
lly
9176fe996c ble_mesh: stack: Add Kconfig options to make server models optional 2020-10-23 02:04:21 +00:00
lly
a1f1a6b484 ble_mesh: stack: Use Kconfig option to make client models optional 2020-10-23 02:04:21 +00:00
lly
d13e0635a8 ble_mesh: stack: Make some internal static functions inline 2020-10-23 02:04:21 +00:00
lly
051f02ee80 ble_mesh: stack: Add a Kconfig option to make deinit optional 2020-10-23 02:04:21 +00:00
lly
675c94a9d4 ble_mesh: stack: Introduce a new header file mesh_config.h 2020-10-23 02:04:21 +00:00
wangcheng
94fae76de1 components/bt: fixed tx_prog insert error 2020-10-21 20:22:17 +08:00
Jiang Jiang Jian
303587103a Merge branch 'bugfix/btdm_bluedroid_enable_takes_long_time' into 'master'
Bugfix/btdm bluedroid enable takes long time

Closes BT-1022

See merge request espressif/esp-idf!10266
2020-10-21 12:32:25 +08:00
Jiang Jiang Jian
b3ce1db97a Merge branch 'bugfix/fix_spp_read_flow_control' into 'master'
component_bt/fix spp flow control and vfs write

Closes BT-1011

See merge request espressif/esp-idf!10331
2020-10-20 20:26:19 +08:00
andreachiara
0b9d270804 esp_ble_mesh: api: fixed comment about autoresp 2020-10-19 10:48:57 +08:00
baohongde
3b82670a50 components/bt: Fix waking up fail while sleeping 2020-10-14 20:20:57 +08: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
baohongde
3f97f1d67a components/bt: Make sleep avaliable in hli(for future use) 2020-10-13 19:45:03 +08:00
Jiang Jiang Jian
b8d26ca389 Merge branch 'bugfix/assert_no_IRAM_ATTR' into 'master'
components/bt: btdm fix cache disable crash

See merge request espressif/esp-idf!10778
2020-10-12 16:58:26 +08:00
lly
0d3c724281 ble_mesh: stack: Make mesh buf debug option invisible 2020-10-12 02:26:47 +00:00
lly
d3aa32c2ec ble_mesh: stack: Add mesh device properties v2 definitions
Also fixes wrong characteristic value length of some device
properties.
2020-10-12 00:39:58 +00:00
lly
0b57cdf85b ble_mesh: stack: Move device property to model common part 2020-10-12 00:39:58 +00:00
wangcheng
49a52cda6e components/bt: btdm fix cache disable crash 2020-10-11 15:14:34 +08:00
lly
68a6ccba76 ble_mesh: stack: Store kr phase after value changed [Zephyr] 2020-10-09 08:52:01 +00:00
lly
e286cd845f ble_mesh: stack: Fix rpl not check by proxy cfg [Zephyr] 2020-10-09 08:52:01 +00:00
Chinmay Chhajed
3c0f06adb2 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-05 12:14:47 +00:00
baohongde
628655b6be components/coex: Some bugfix about ble dynamic prio
Rewrite ble dynamic prio to fix ble disconn in conn_param_update/channel_map_update
Rewrite ble dynamic prio in connection establishment
Fix ble dynamic prio with latency
Fix status bit set error when conn fail
2020-09-29 21:08:13 +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
liqigan
eff892933c add event when calling spp API failed 2020-09-29 17:15:11 +08:00
Jiang Jiang Jian
96d59ff3e9 Merge branch 'bugfix/fix_bredr_read_rssi_delta' into 'master'
Bugfix/Fix Read Rssi Delta Bug in Bredr

Closes IDFGH-3739

See merge request espressif/esp-idf!10574
2020-09-29 16:47:43 +08:00
Island
a46ab4ae84 Merge branch 'bugfix/channel_map_send_time' into 'master'
component/bt: Insert the llcp packet to the top of the tx_preg linked list.

Closes BT-993

See merge request espressif/esp-idf!10170
2020-09-28 21:49:48 +08:00
Jiang Jiang Jian
caba103d51 Merge branch 'bugfix/add_clear_bond_complete_evt' into 'master'
componenet_bt/bugfix: add remove bond device complete event

Closes BT-1013

See merge request espressif/esp-idf!10342
2020-09-28 14:39:40 +08:00
Jiang Jiang Jian
07f7ae7df0 Merge branch 'bugfix/bredr_bugfix_release_for_qa_dummy_disconnect' into 'master'
component_bt/bugfix: fix a2dp test case dummy and disconnect

Closes BT-706

See merge request espressif/esp-idf!10184
2020-09-27 21:15:43 +08:00
baohongde
acce9e5fea components/bt: Replace task post with btc_inter_profile_call, when post message from btc_dm to btc_gap 2020-09-27 19:55:12 +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
baohongde
ecd75ec652 components/bt: Fix clear bond fail when connected without ble included 2020-09-27 19:55:12 +08:00
xiongweichao
4e4c86b267 add remove bond device complete event 2020-09-27 19:55:12 +08:00
liqigan
ba51da8c91 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-09-27 10:44:18 +08:00
wangcheng
8ddbadafe7 component/bt: Insert the llcp packet to the top of the tx_preg linked list. 2020-09-25 18:27:10 +08:00
Renz Bagaporo
6462f9bfe1 esp32, esp32s2: create esp_pm component 2020-09-25 05:24:10 +00:00
xiongweichao
b0c4988d69 1.revert dummy command
2.fix send MEDIA_CTRL command in disconnect
2020-09-25 11:14:24 +08:00
xiongweichao
84cacaba51 1.fix test case dummy
2.fix sink send media control ESP_A2D_MEDIA_CHECK_SRC_RDY
2020-09-25 10:54:13 +08:00
lly
2607662054 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-24 06:29:22 +00:00
Xia Xiaotian
bdbe74693f esp_wifi: refactor wifi code in order to adapter to new chips 2020-09-24 10:15:50 +08:00
Xia Xiaotian
2e0c60461c esp_wifi: refactor PHY access
- Simplify PHY access API
- Move coexist initializing and deinitializing out from PHY API
  to Wi-Fi and Bluetooth
- Remove coexist pause and resume for they are no longer needed.
2020-09-22 15:00:05 +08:00
Jiang Jiang Jian
cfc4be0f06 Merge branch 'bugfix/confirmed_bugfix_from_baidu_proj' into 'master'
component_bt/bugfix: Confirmed bugfix from Baidu project

See merge request espressif/esp-idf!10450
2020-09-22 11:38:29 +08:00
lly
e14868ff30 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-09-21 11:46:52 +00:00
Jiang Jiang Jian
65c94dfb4c Merge branch 'bugfix/add_disconn_req_action_when_no_link' into 'master'
component_bt/bugfix: add_disconn_req_action_when_no_link

See merge request espressif/esp-idf!9751
2020-09-18 12:21:50 +08:00
lly
cf1f5fe5ad ble_mesh: stack: Check if mesh stack initialized before init vendor client 2020-09-16 02:41:49 +00:00
weitianhua
c598b816ba Confirmed bugfix from Baidu project 2020-09-15 19:36:20 +08:00
weitianhua
31df07c5d7 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-14 17:22:41 +08:00
lly
b453c1268a ble_mesh: stack: Use settings_core_erase when deinit 2020-09-14 08:40:12 +00:00
lly
825ceb726d ble_mesh: stack: Fix storing next net_idx and app_idx 2020-09-14 08:40:12 +00:00
lly
f34c7df26d 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-09-14 08:40:12 +00:00
lly
e18ea178b8 ble_mesh: stack: Split model settings store and clear 2020-09-14 08:40:12 +00:00
lly
f8c3818182 ble_mesh: stack: Erase netkey and appkey with key index 2020-09-14 08:40:12 +00:00
lly
80b16c58bb ble_mesh: stack: Add clear hb_pub in settings 2020-09-14 08:40:12 +00:00
lly
88cc07b6ca 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-09-14 08:40:12 +00:00
lly
f010c36366 ble_mesh: stack: Use erase settings functions 2020-09-14 08:40:12 +00:00
lly
5ad4166d41 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-09-14 08:40:12 +00:00
lly
2bb65fac60 ble_mesh: stack: Add role check before enabling device 2020-09-14 08:40:12 +00:00
lly
ace471c266 ble_mesh: stack: Define a type for mesh nvs handle 2020-09-14 08:40:12 +00:00
weitianhua
57b695be10 Add global header and change declaration position 2020-09-11 14:31:18 +08:00
weitianhua
04a7771f33 Remove uneccessary macro
Separate AVRC from A2DP when AVRC not Initialized
2020-09-11 14:31:18 +08:00
weitianhua
af52df8b83 Rewrite a2dp clean_up function 2020-09-11 14:31:18 +08:00
weitianhua
87bf47bd90 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-11 14:31:18 +08:00
lly
1037736300 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 00:47:43 +00:00
Jiang Jiang Jian
74e932c73f Merge branch 'bugfix/btdm_spp_null_ptr_with_dynamic_memory' into 'master'
components/bt: Fix SPP using NULL point with dynamic memory

Closes BT-1024

See merge request espressif/esp-idf!10188
2020-09-10 17:38:53 +08:00
Ivan Grokhotkov
b6467257b9 Merge branch 'feature/cmock_component' into 'master'
cmock as component replacing unity

See merge request espressif/esp-idf!9859
2020-09-10 16:06:20 +08:00
lly
8a3ccd855f ble_mesh: nimble: Fix updating ccc handle with wrong value 2020-09-08 00:47:42 +00:00
Island
122874bf86 Merge branch 'bugfix/ble_mesh_remove_assert' into 'master'
ble_mesh: stack: Avoid unnecessary assert in mesh stack

See merge request espressif/esp-idf!10118
2020-09-07 21:45:27 +08:00
baohongde
898baf20f8 components/bt: Fix SPP using NULL point with dynamic memory 2020-09-07 15:41:30 +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
Jiang Jiang Jian
b89d1a47f0 Merge branch 'bugfix/change_pcm_config_position' into 'master'
bugfix/ Change PCM config to the right position

See merge request espressif/esp-idf!10185
2020-09-05 13:48:04 +08:00
wangcheng
d635320871 component/bt: Fixed the watchdog timeout of btu task during multi-connection 2020-09-04 16:21:40 +08:00
lly
d6947d0699 ble_mesh: stack: Avoid using assert in mesh stack 2020-09-03 07:17:50 +00:00
lly
043abf5750 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-03 02:02:33 +00:00
Jakob Hasse
20c068ef3b cmock: added cmock as component
* changing dependencies from unity->cmock
* added component.mk and Makefile.projbuild
* ignore test dir in gen_esp_err_to_name.py
* added some brief introduction of CMock in IDF
2020-09-02 16:38:37 +08:00
Jiang Jiang Jian
36720504f9 Merge branch 'bugfix/add_protection_for_spp_api' into 'master'
componnet_bt:/ Add protection for btc and some comment correction

Closes BT-899 and BTCI-78

See merge request espressif/esp-idf!9329
2020-09-02 12:01:34 +08:00
weitianhua
9b57366908 Change PCM config to the right position 2020-09-01 16:05:01 +08:00
Island
cfd13d8c90 Merge branch 'bugfix/btdm_blufi_data_sequence_not_reset_after_disconnect' into 'master'
component/bt: fix Blufi sends data after disconnecting the seq still increase

See merge request espressif/esp-idf!10217
2020-09-01 15:38:26 +08:00
XieWenxiang
e92c2f553b component/bt: fix Blufi sends data after disconnect the seq still increase 2020-09-01 09:54:14 +08:00
Jiang Jiang Jian
16e0ff273c Merge branch 'bugfix/enter_sniff_mode_attr_err' into 'master'
bugfix/enter_sniff_mode_attr_err

See merge request espressif/esp-idf!9407
2020-08-31 14:28:57 +08:00
xiewenxiang
5979111109 component/bt: add link role param for gatt connection event 2020-08-28 08:47:54 +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
weitianhua
d43f3539ee Workaround for a hardware bug in Slave sniff mode. Because of Slave dose not start a sniff timeout count when slave send a ACL package. 2020-08-26 15:00:29 +08:00
wangcheng
6a9becd75f Fixed assert(9, 10), When rx and evt_end interrupts exist at the same time, use the information of rx to determine the execution order 2020-08-23 13:42:40 +00:00
baohongde
060a36352c components/bt: Add mode change event 2020-08-12 09:20:04 +00:00
lly
0fcd0bb6b8 ble_mesh: stack: Client model related code clean 2020-08-06 08:45:22 +00:00
lly
e924e5f2f4 ble_mesh: stack: Rename cfg & health client status recv func 2020-08-06 08:45:22 +00:00
lly
36d714ec59 ble_mesh: stack: Check client msg result in common func 2020-08-06 08:45:22 +00:00
lly
02eaaca3d6 ble_mesh: stack: Fix no events for some error conditions 2020-08-06 08:45:22 +00:00
lly
5f6f61f634 ble_mesh: stack: Move client role set to the msg function 2020-08-06 08:45:22 +00:00
lly
ad39479804 ble_mesh: stack: Remove some not used client parameters 2020-08-06 08:45:22 +00:00
lly
1d6f653640 ble_mesh: stack: Remove some not used variables & functions 2020-08-06 08:45:22 +00:00
lly
7542c86d9c ble_mesh: stack: Update client model msg send 2020-08-06 08:45:22 +00:00
Jiang Jiang Jian
97b47f117b Merge branch 'bugfix/bluedroid_ble_provisioning_gatt_deregister_fix' into 'master'
Bluedroid: Fix BLE provisioning failure with bluedroid stack

See merge request espressif/esp-idf!9833
2020-08-05 23:50:14 +08:00
Island
313f4a97d6 Merge branch 'bugfix/btdm_blufi_send_longer_custom_data_will_congested' into 'master'
component/bt: fix Blufi sends longer customer data  will will lead congested

See merge request espressif/esp-idf!9887
2020-08-03 20:54:23 +08:00
XieWenxiang
fa729f3805 component/bt: fix Blufi sends longer customer data will will lead congested 2020-08-03 14:55:12 +08:00
Jiang Jiang Jian
2ad8f8c9d2 Merge branch 'bugfix/ADV_UNDERRUN_assert_1024' into 'master'
components/bt: Fix ble assert(1024,0), ADV_UNDERRUN error

Closes BT-726

See merge request espressif/esp-idf!9479
2020-07-30 21:18:11 +08:00
sushant.chougule
70eb9abdee Bluedroid: Fix BLE provisioning failure with bluedroid stack 2020-07-28 21:54:05 +05:30
Ivan Grokhotkov
16c73edc67 Merge branch 'refactor/add_alias_name_for_ets_common_api' into 'master'
esp_rom: extract common ets apis into esp_rom_sys.h

See merge request espressif/esp-idf!9701
2020-07-28 15:04:55 +08:00
Jiang Jiang Jian
1ec35ba5a7 Merge branch 'bugfix/bt_linkup_fallback_event' into 'master'
Bluedroid: Fixes cases having fallback to link up event.

Closes BT-944

See merge request espressif/esp-idf!9671
2020-07-27 16:09:42 +08:00
morris
2917651478 esp_rom: extract common ets apis into esp_rom_sys.h 2020-07-27 15:27:01 +08:00
wangcheng
43f1e43215 component/bt: Fix ble IFS_UNDERRUN, ADV_UNDERRUN error 2020-07-27 04:09:17 +00:00
sushant.chougule
a7d8d2c8da Bluedroid: Fix gatt clcb allocation and deallocation error 2020-07-25 01:48:48 +00:00
Prasad Alatkar
0b56a27e4a NimBLE: Add Non-Resolvable private address support and misc bug fixes
- 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-22 14:10:01 +05:30
Chinmay Chhajed
4a0c137188 Bluedroid: Fixes cases having fallback to link up event.
Signed-off-by: Chinmay Chhajed <chinmay.chhajed@espressif.com>
2020-07-17 17:11:33 +05:30
lly
4be5563fdb ble_mesh: stack: Fix recv health current status incorrectly 2020-07-17 02:53:40 +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
Jiang Jiang Jian
170b4c9eff Merge branch 'bugfix/fix_get_bond_device_list' into 'master'
bugfix/fix esp_bt_gap_get_bond_device_list bug

Closes BT-852 and BTCI-88

See merge request espressif/esp-idf!9542
2020-07-15 15:50:32 +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
Jiang Jiang Jian
0376b23c7c Merge branch 'component/seperate_bta_jv_l2c' into 'master'
component_bt:/ separate BTA_JV_L2CAP for less bin size

See merge request espressif/esp-idf!9158
2020-07-15 11:38:16 +08:00
weitianhua
8f84930c5c Redesign Kconfig.in BT components 2020-07-14 11:01:02 +08:00
weitianhua
4167fc3438 Enable pcm config 2020-07-14 10:25:13 +08:00
Island
b6b4d41044 Merge branch 'bugfix/tx_rx_data_length' into 'master'
components/bt: Change the default value of conn_max_tx_octets to 251.

See merge request espressif/esp-idf!9409
2020-07-13 19:17:08 +08:00
Jiang Jiang Jian
583f6e5e16 Merge branch 'docs/fix_event_typo' into 'master'
docs/fix event typo

Closes IDFGH-3488

See merge request espressif/esp-idf!9376
2020-07-12 21:23:50 +08:00
Island
9a71a74d2d Merge branch 'bugfix/ble_mesh_misc_updates' into 'master'
Bugfix/ble mesh misc updates

Closes BLEMESH-223

See merge request espressif/esp-idf!9492
2020-07-10 21:50:16 +08:00
wangcheng
b60c496296 components/bt: Change the default value of conn_max_tx_octets to 251. 2020-07-10 19:48:32 +08:00
Jiang Jiang Jian
0ca62e4f16 Merge branch 'bugfix/fix_ag_return_result' into 'master'
bugfix/Fix error of AG API return line

Closes BTCI-102

See merge request espressif/esp-idf!9565
2020-07-10 16:51:32 +08:00
Jiang Jiang Jian
7639f20fa5 Merge branch 'bugfix/buff_semaphore_not_free' into 'master'
component/bt: Fixed ble memory leak issue, buff_semaphore was not released.

See merge request espressif/esp-idf!9507
2020-07-10 16:18:55 +08:00
lly
b94ce120d6 ble_mesh: stack: Only keep func pointer for very common log
Currently only keep func pointer for the followings:
- Invalid parameter (mesh btc & mesh stack)
- Out of memory (mesh btc & mesh stack)
- Unknown act (mesh btc)
- Invalid model user data (mesh stack)
- BT_DBG("%s", __func__) (mesh btc & mesh stack)
- A few other specific situations (buf ref debug, send status check)
2020-07-10 14:14:01 +08:00
lly
f4846cca4b ble_mesh: stack: Make proxy server & client functions clear 2020-07-10 14:12:58 +08:00
weitianhua
c40953f4e0 Fix error of AG API return line
Closes https://github.com/espressif/esp-idf/issues/5554
2020-07-10 10:50:27 +08:00
lly
82d4bd280b ble_mesh: stack: Add proxy cfg pdu length check 2020-07-10 00:57:09 +00:00
lly
aeb44745bf ble_mesh: stack: Rework using dev flag to check scan status
Different bluetooth host has different behaviors, so it's better
to maintain a scan check mechanism of BLE Mesh itself.
Fixes an issue when only PB-GATT is enabled for node, which will
output a scan error log when the device is provisioned.
2020-07-10 00:57:09 +00:00
lly
fd6071a0fc ble_mesh: stack: Add more checks about input prov bearers 2020-07-10 00:57:09 +00:00
Island
5d970c0e8c Merge branch 'feat/ble_mesh_use_iram_for_mem_alloc' into 'master'
Feat/ble mesh use iram for mem alloc

See merge request espressif/esp-idf!9449
2020-07-09 23:06:27 +08:00
boblane
4293f0320f fix esp_bt_gap_get_bond_device_list bug
Closes https://github.com/espressif/esp-idf/issues/5395
2020-07-09 11:58:10 +08:00
weitianhua
abbf19926e Seperate BTA_JV_L2CAP for less bin size 2020-07-08 17:50:19 +08:00
lly
8005d07e07 ble_mesh: stack: Add two application macros for TTL 2020-07-08 08:30:54 +00:00
lly
edb088e5db ble_mesh: stack: Update send_ttl in btc when recv a msg
Update send_ttl mainly for server models. When a server model
receives a message, and the status is required to be replied
by the application, we need to set send_ttl to the msg context.
If send_ttl is not updated in btc, and the applcation does not
set the TTL either, then the status will be replied with TTL=0,
which may cause the client side (e.g. the phone App) failed to
receive the status.

Closes https://github.com/espressif/esp-idf/issues/5300
2020-07-08 08:30:54 +00:00
Jiang Jiang Jian
5da526a0cb Merge branch 'bugfix/bt_acl_tx_handler_skip' into 'master'
Fixes ACL TX handler functioning.

Closes BCI-204

See merge request espressif/esp-idf!9459
2020-07-08 16:02:53 +08:00
lly
076fee8dde ble_mesh: stack: Rename mesh adv queue and relay queue 2020-07-08 01:45:01 +00:00
lly
f5fcee186f ble_mesh: stack: Use macros for adv task name & prio 2020-07-08 01:45:01 +00:00
lly
89715d7010 ble_mesh: stack: Make freertos static allocation visible 2020-07-08 01:45:01 +00:00
lly
cba3733d29 ble_mesh: stack: Add a option of using IRAM for memory allocation 2020-07-08 01:45:01 +00:00
wangcheng
7d39074d57 component/bt: Fixed ble memory leak issue, buff_semaphore was not released. 2020-07-07 21:00:56 +08:00
Chinmay Chhajed
9bac16fcec Fixes ACL TX handler functioning.
ACL TX handler was never being called. Changed it's caller function so
that it is called properly.
2020-07-02 17:11:29 +05:30
lly
6ca4ea1a1f ble_mesh: stack: Update some fast prov functions 2020-07-01 13:26:06 +00:00
lly
64e76ee019 ble_mesh: stack: Move fast prov functions to a single file 2020-07-01 13:26:06 +00:00
Island
a97a16202e Merge branch 'bugfix/ble_mesh_compile_error' into 'master'
bugfix: ble mesh proxy compile error

See merge request espressif/esp-idf!9334
2020-07-01 11:17:26 +08:00
Island
b91f05ba74 Merge branch 'bugfix/ble_mesh_set_recv_rssi' into 'master'
Bugfix/ble mesh set recv rssi

Closes IDFGH-3556 and BMCI-96

See merge request espressif/esp-idf!9381
2020-07-01 11:13:25 +08:00
Jiang Jiang Jian
f84ddd983d Merge branch 'feature/bt_secure_conn_downgrade_check' into 'master'
Bluedroid: Authentication fixes in Legacy and Secure Connection.

Closes BLE-60

See merge request espressif/esp-idf!8541
2020-06-30 11:24:55 +08:00
lly
6aef6c5f1c ble_mesh: stack: Copy recv_rssi for other received messages
Follow the commit: 2b80cb6883,
copy the recv_rssi for other mesh messages.
2020-06-29 20:07:42 +08:00
mbroek
2b80cb6883 When a generic mesh model message is received "bt_mesh_generic_server_cb_evt_to_btc" copies the
ctx values to cb_params for the mesh stack.

recv_rssi was not copied.

This means the rssi could not be read when receiving generic server messages using ble_mesh.
2020-06-29 19:54:23 +08:00
liminyang
02f3d39858 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 11:57:36 +08:00
lly
c8112454c3 ble_mesh: stack: Fix compile error when only proxy enabled
Also remove some redundant CONFIG_BLE_MESH_PROXY checks, because
when the following options are satisfied, the CONFIG_BLE_MESH_PROXY
option will be selected mandatorily.
2020-06-28 23:09:47 +00:00
Chinmay Chhajed
e3350e7861 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-06-25 15:37:01 +05:30
lly
973f2481ec ble_mesh: ci: Fix failing to compile when using make 2020-06-24 09:43:33 +08:00
Island
3266511582 Merge branch 'bugfix/ble_mesh_split_tinycrypt' into 'master'
Bugfix/ble mesh split tinycrypt

See merge request espressif/esp-idf!9098
2020-06-23 19:07:31 +08:00
Island
07b15b0d36 Merge branch 'bugfix/ble_mesh_get_node_with_name' into 'master'
ble_mesh: Get node info with pre-configured node name

Closes BMCI-88

See merge request espressif/esp-idf!9089
2020-06-23 19:04:06 +08:00
Island
33282d9c94 Merge branch 'bugfix/ble_mesh_check_subnet_before_update_beacon_sent' into 'master'
ble_mesh: Check if subnet exists before updating beacon_sent

Closes BLEMESH-198

See merge request espressif/esp-idf!8709
2020-06-23 19:03:50 +08:00
Island
1420b6dd89 Merge branch 'bugfix/ble_mesh_bt_hex' into 'master'
ble_mesh: Fix wrong log output with bt_hex

See merge request espressif/esp-idf!9119
2020-06-23 19:02:58 +08:00
Island
371d590ca7 Merge branch 'bugfix/ble_mesh_not_define_bool' into 'master'
Bugfix/ble mesh not define bool

Closes IDFGH-3078 and BMCI-71

See merge request espressif/esp-idf!9135
2020-06-23 19:02:05 +08:00
Island
b73101d436 Merge branch 'bugfix/ble_mesh_check_model_status' into 'master'
ble_mesh: stack: Check model status with variable length

See merge request espressif/esp-idf!9257
2020-06-23 19:01:52 +08:00
lly
9e293b2e1f ble_mesh: Mark platform related default RNG as 0 2020-06-23 06:19:08 +00:00
lly
763f3ace61 ble_mesh: Remove the previously added redundant aes files 2020-06-23 06:19:08 +00:00
lly
d08425fdd1 ble_mesh: Update CMake and make files for tinycrypt 2020-06-23 06:19:08 +00:00
lly
eecf9cc595 ble_mesh: Update tinycrypt header file include guards
Add BLE_MESH in the macro to make it specific for BLE Mesh.
2020-06-23 06:19:08 +00:00
lly
eb7b2b5ae0 ble_mesh: Format source and header files of tinycrypt 2020-06-23 06:19:08 +00:00
lly
ff7f088ebb ble_mesh: Port full implementation of tinycrypt [Zephyr]
- Original code is here: https://github.com/zephyrproject-rtos/tinycrypt
- Also this fixes the compile error when NimBLE and ESP BLE Mesh
  both uses the tinycrypt.
2020-06-23 06:19:08 +00:00
lly
4ae7efb4c0 ble_mesh: Get node info with pre-configured node name
Also add a function to get the entry of the nodes table.

Closes https://github.com/espressif/esp-idf/issues/5397
2020-06-20 05:47:19 +00:00
lly
8bfccba598 ble_mesh: Check if subnet exists before updating beacon_sent
- Before updating the "beacon_sent" of a subnet, we need to check
  if the subnet still exists, especially for a Provisioner.
- Fix a bug which will cause Provisioner failed to send Secure
  Network Beacon if no device is provisioned
2020-06-20 05:32:13 +00:00
lly
ba5da8b086 ble_mesh: stack: Check model status with variable length 2020-06-19 21:30:55 +08:00
wangcheng
7bad9b77cc components/bt:Fix instant reverse and add ble connect paramter check. 2020-06-18 11:21:46 +08:00
baohongde
140b696009 components/bt: Fix ble disconnect due to instant of channel map update is too small 2020-06-17 03:52:32 +00:00
baohongde
75ca740d04 Set AFH in time(075dd35)
Send LMP_channelClassification immediately
Fix first LMP_set_AFH not using host value
2020-06-17 03:52:32 +00:00
baohongde
fd8f2c1a32 components/coex: Fix ble connecting fail in coexist 2020-06-17 03:52:32 +00:00
Jiang Jiang Jian
8c7c3ff899 Merge branch 'bugfix/btdm_ESP_BT_GAP_DISCOVERY_STOPPED_evt_come_twice' into 'master'
Bugfix/fix event bug in GAP API

Closes BT-594 and BT-595

See merge request espressif/esp-idf!8808
2020-06-16 21:22:40 +08:00
Jiang Jiang Jian
d93b8b2939 Merge branch 'bugfix/blufi_buffer_overflow_report' into 'master'
Bugfix/blufi buffer overflow report

See merge request espressif/esp-idf!9177
2020-06-16 15:58:25 +08:00
lly
d7bd5c002e ble_mesh: Fix wrong log output with bt_hex
- This issue was introduced in the commit: a788e7cd3d
  which updated the bt_hex() function incorrectly.
- And in bt_hex(), we use 2 for the two-dimensional array, because currently
  at most two bt_hex() will be used at the same time. Also this will save
  some DRAM compared with using 4.
2020-06-16 06:32:12 +00:00
wangcheng
999ca60657 blufi: When the format of the received data packet is wrong, reply with an error response 2020-06-15 19:33:28 +08:00
Wang Cheng
c65bd02d87 components/bt: Add a detailed description for the user to distinguish the function of the query buffer api. 2020-06-15 18:52:48 +08:00
Geng Yu Chao
c453c2b919 Update the limited of function esp_ble_get_sendable_packets_num. 2020-06-15 18:02:34 +08:00
wangcheng
e87a42f46c components/bt: Add api to query the number of available buffers for the current connection 2020-06-13 14:27:48 +08:00
wangcheng
9c7896f2c2 components/bt: Fixed the problem of incomplete data packets caused by disordered acl data packets 2020-06-13 14:25:51 +08:00
wangcheng
d767adcbfa components/bt: Consider link_xmit_data_q in congest events to prevent excessive memory usage 2020-06-13 14:22:30 +08:00
lly
a0f1a43edc ble_mesh: Remove boolean type definitions 2020-06-11 16:17:49 +08:00
Nikolaos Strikos
c04cfc2545 ble_mesh: Do not #define bool when compiling in C++ 2020-06-11 16:13:26 +08:00
Island
b2a0e63ca8 Merge branch 'bugfix/ble_mesh_remove_relay_dependency' into 'master'
ble_mesh: Remove relay option dependency

See merge request espressif/esp-idf!9024
2020-06-03 15:20:24 +08:00
Island
ae2898f12e Merge branch 'bugfix/ble_mesh_rework_prov_pdu_len_check' into 'master'
ble_mesh: Rework prov pdu length check

See merge request espressif/esp-idf!8993
2020-06-03 15:10:14 +08:00
lly
5ced2206b4 ble_mesh: Remove relay option dependency
When the relay functionality of a node is not enabled, this
issue will cause the node failing to send messages to fixed
group.
2020-06-02 19:05:16 +08:00
Jiang Jiang Jian
702f768814 Merge branch 'feature/btdm_add_clear_white_list_API' into 'master'
component/bt: add clear white list API

See merge request espressif/esp-idf!8845
2020-06-02 14:53:30 +08:00
zhiweijian
6d593eb6fc component/bt: add clear white list API 2020-06-02 11:29:51 +08:00
Island
bcbf2f2275 Merge branch 'bugfix/ble_mesh_model_recv_fix' into 'master'
Bugfix/ble mesh model recv fix

See merge request espressif/esp-idf!8988
2020-06-02 11:00:07 +08:00
lly
c6e9d789b7 ble_mesh: Rework prov pdu length check 2020-06-01 20:44:52 +08:00
lly
e41eae1b07 ble_mesh: correct the return type [Zephyr] 2020-06-01 14:08:21 +08:00
lly
1e29d86dd3 ble_mesh: Add net_buf_simple_init_with_data [Zephyr] 2020-06-01 13:57:41 +08:00
lly
8a8caebf51 ble_mesh: Optimize model recv operations [Zephyr]
Previously the model recv operation is a littl fuzzy.
With the changes, the model recv operation is splitted into:
- find op
- check app_idx
- check dst
- check length
- update info & handle message
2020-06-01 13:57:33 +08:00
lly
9063821f01 ble_mesh: Config and health client btc fixes
Fix an issue which may cause no error code is returned
when sending config client or health client messages
with invalid parameters.
2020-05-29 21:10:13 +08:00
lly
409ea309f9 ble_mesh: Add more checks of net_idx & app_idx 2020-05-29 21:10:13 +08:00
lly
47609970db ble_mesh: Optimize some send & recv logs 2020-05-29 21:10:13 +08:00
lly
9aae4d3ba3 ble_mesh: Local model (un)subscribes group address 2020-05-29 09:40:19 +00:00
lly
2190c2c368 ble_mesh: Define a macro for invalid company id 2020-05-29 09:40:19 +00:00
liqigan
6cf659f293 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-05-28 14:47:51 +08:00
Jiang Jiang Jian
8f2d1e7f92 Merge branch 'bugfix/collection_of_confirmed_fixes_from_baidu_project' into 'master'
Bugfix/collection of confirmed fixes from baidu project

Closes BT-826, BT-542, BCI-31, BCI-34, BT-840, and AUD-1857

See merge request espressif/esp-idf!8675
2020-05-28 12:23:58 +08:00
lly
6768c2b7a1 ble_mesh: Check the result of creating timer 2020-05-27 09:30:34 +00:00
Island
3b85d4ef24 Merge branch 'bugfix/ble_mesh_sync_zephyr_fixes' into 'master'
Bugfix/ble mesh sync zephyr fixes

Closes BLEMESH-215

See merge request espressif/esp-idf!8912
2020-05-27 17:26:00 +08:00
Island
d82f3372a0 Merge branch 'bugfix/ble_mesh_not_use_same_private_key' into 'master'
ble_mesh: Not using pre-initialized private key

Closes BLEMESH-214

See merge request espressif/esp-idf!8905
2020-05-27 17:25:39 +08:00
Island
02376b97d4 Merge branch 'bugfix/ble_mesh_uses_deprecated_config' into 'master'
ble_mesh: Fix using old config for duplicate scan

Closes BLEMESH-213

See merge request espressif/esp-idf!8898
2020-05-27 17:23:55 +08:00
Island
7b12d96169 Merge branch 'bugfix/ble_mesh_comp_data_store_restore' into 'master'
ble_mesh: Same func for storing/restoring comp data

See merge request espressif/esp-idf!8882
2020-05-27 17:23:21 +08:00
lly
0cfb6c138b ble_mesh: Transport tx fields overflow [Zephyr]
The transport segmented TX nack and seg_pending fields must be at least
6 bits to avoid overflow for 32 segment messages. This change rearranges
the seg_tx fields to gather all state flag fields in one byte, while
making the counter fields whole bytes.
2020-05-26 11:42:31 +08:00
lly
f863a1b328 ble_mesh: Friend with unknown appkey [Zephyr]
Ensures that friend messages are enqueued, even if the packet is
received with an appkey is unknown to the friend. Previously, sdu_recv
would return EINVAL if the appkey was unknown, which would prevent the
lower transport layer from adding the packet to the friend queue. This
is irrelevant for the logic in lower transport, and should not be
returned as an error.
2020-05-26 11:16:01 +08:00
lly
05c287e05c ble_mesh: Not using pre-initialized private key 2020-05-26 10:46:22 +08:00
lly
3c1487be0e ble_mesh: Fix using old config for duplicate scan 2020-05-25 16:48:15 +08:00
Angus Gratton
084e170a8f Merge branch 'refactor/esp_ipc' into 'master'
Split esp_ipc to a seaparate component

Closes IDF-1295

See merge request espressif/esp-idf!8520
2020-05-25 15:03:04 +08:00
lly
bbbdbb8699 ble_mesh: Same func for storing/restoring comp data 2020-05-25 13:27:08 +08:00
lly
af37aee5bf ble_mesh: Fix Provisioner failed to publish 2020-05-22 15:32:12 +08:00
liqigan
55f6a927b5 btdm:fix emit ESP_BT_GAP_DISC_STATE_CHANGED_EVT event when call API esp_bt_gap_start_discovery
closes BT-594

See merge request espressif/esp-idf!8808
2020-05-20 22:43:44 +08:00
lly
b1f3843ed6 ble_mesh: Clear two more vars during proxy server deinit 2020-05-20 11:35:26 +00:00
lly
d5b126667a ble_mesh: Add missing sdkconfig.h 2020-05-20 11:35:26 +00:00
lly
4e60919a66 ble_mesh: Init device name during proxy server init
Device name will be reset when deinit mesh stack. If not
initializing device name during the next mesh stack init,
it will fail to set the device name when using bluedroid.
2020-05-20 11:35:26 +00:00
lly
a0ce8c64b0 ble_mesh: Add init flag for friend init/deinit
Since bt_mesh_friend_init() will only be invoked when
a device is provisioned or Provisioner is enabled, so
we add a flag to indicate if the friend functionality
is initialized in case deinit before initialization.
2020-05-20 11:35:26 +00:00
Jiang Jiang Jian
05f4668ad0 Merge branch 'nimble/update_nimble_submodule' into 'master'
NimBLE: Include upstream fixes and use macros for log level filtering

See merge request espressif/esp-idf!8448
2020-05-20 11:23:46 +08:00
Darian Leung
11d96b39d0 esp_ipc: Move to new component
This commit moves esp_ipc into a separate component.
2020-05-18 16:51:45 +08:00
weitianhua
8fc05d0665 Fix ASSERT for RXDESC and save the log for debug 2020-05-18 06:51:51 +00:00
weitianhua
8d1032ccac Fix ASSERT in ld_acl at line 302 forclkoff1 and localval 2020-05-18 06:51:51 +00:00
weitianhua
77cc105c72 Fix ld_acl schedule bug to parity shift 2020-05-18 06:51:51 +00:00
weitianhua
55877684a0 Fix ASSERT(64,0) in rwble.c 2020-05-18 06:51:51 +00:00
weitianhua
0811851378 Fix ASSERT in ld_pscan.c at line 1032 2020-05-18 06:51:51 +00:00
weitianhua
b20f254483 Free lmp tx buf in EM in the procedure of handling LMP_detach_Req when not received the last acknowledge from peer device and seperate them by ACL State 2020-05-18 06:51:51 +00:00
weitianhua
190ff3ae37 Fix that when slave initiate unsniff procedure and meet transaction collision, no mode change event is repoerted 2020-05-18 06:51:51 +00:00
weitianhua
70fa5b4ac5 Fix int_wdt due to disable interrupt too long time 2020-05-18 06:51:51 +00:00
weitianhua
c18ed5cbee Fix Connection fail in loop 2020-05-18 06:51:51 +00:00
weitianhua
7aeb3d329a Set AFH in BTDM Task when WiFi changes channel 2020-05-18 06:51:51 +00:00
weitianhua
e0e1154b62 Fix ASSERT(25,0) in lc_task.c 2020-05-18 06:51:51 +00:00
weitianhua
899e49b90e Disable frequent warning log in ld_acl 2020-05-18 06:51:51 +00:00
weitianhua
b45f2d3913 Move default log level to WARNING instead ERROR in BT Controller 2020-05-18 06:51:51 +00:00
Jiang Jiang Jian
bef57a8ddc Merge branch 'bugfix/V3.1.7_ble_bug_mr' into 'master'
component/bt: fix notify malloc failed , fix no BLE_AUTH_CMPL_EVT and fix bluedroid btc deinit crash

See merge request espressif/esp-idf!8729
2020-05-16 19:52:34 +08:00
zhiweijian
ec6c7558ef add congest direct callback and fix malloc failed when multi_connection notify performance test 2020-05-15 15:35:39 +08:00
lly
25a6ea9600 ble_mesh: Remove patch for the bug of an App 2020-05-14 10:24:15 +08:00
Angus Gratton
6ccd7dbc59 Merge branch 'nimble/config_option_sdkconfig_rename' into 'master'
Add NimBLE config options in sdkconfig.rename

Closes IDF-1650

See merge request espressif/esp-idf!8653
2020-05-14 09:30:16 +08:00
wangcheng
418b32e71b master missing BLE_AUTH_CMPL_EVT after restart 2020-05-13 20:33:24 +08:00
wangcheng
a5ac789725 fix bta_dm_deinit_cb crash 2020-05-13 20:18:27 +08:00
Island
c946ca8b45 Merge branch 'bugfix/ble_mesh_node_old_version_to_new' into 'master'
ble_mesh: Fix mesh node device role restore

Closes BLEMESH-188

See merge request espressif/esp-idf!8314
2020-05-12 20:36:55 +08:00
Island
1d22f17da3 Merge branch 'bugfix/ble_mesh_not_ignore_msg_in_fast_prov' into 'master'
ble_mesh: Not ignore msg when fast prov is enabled

Closes BLEMESH-196

See merge request espressif/esp-idf!8698
2020-05-12 20:36:41 +08:00
lly
f7ef701856 ble_mesh: Fix mesh node device role restore
Old version of BLE Mesh has no device role storage, because
previously we only support storing mesh node info.
If the binary of the node is upgraded from old version to a
new version (support storing provisioner info), the mesh info
of the node will not be restored because mesh role does not
exist in the flash.
2020-05-12 19:25:57 +08:00
lly
6b9c0dda08 ble_mesh: Fix typos 2020-05-12 16:23:13 +08:00
lly
d937b415e3 ble_mesh: Not ignore msg when fast prov is enabled
When fast provisioning is enabled, Provisioner shall not
ignore messages from the nodes whose addresses are not in
the provisioning database. Because other nodes which are
not provisioned by the Primary Provisioner will send node
address messages to the Primary Provisioner.
2020-05-12 11:22:07 +08:00
Prasad Alatkar
2ef489005b NimBLE: Include upstream fixes and use macros for log level filtering
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-11 05:36:50 +00:00
lly
c2fd80b8f4 ble_mesh: Fix not update prov addr in fast prov
When using fast provisioning, the Provisioner functionality
will be enabled. Unicast addresses within the pre-allocated
range will be used for provisioning nodes. And during the
address assignment, the allocated unicast address will be
checked that if it's duplicated with other nodes addresses
and the Provisioner's own addresses.
So before starting using fast provisioning, we need to update
the Provisioner address.
2020-05-11 02:29:18 +00:00
lly
97f11600e3 ble_mesh: net_key_status only pull one key idx [Zephyr]
Fixes bug where the config client's net_key_status handler would attempt
to pull two key indexes from a message which only holds one.
2020-05-11 02:29:18 +00:00
lly
9d7adc3e1b ble_mesh: Update client message timeout calculation
Since the behavior of sending segmented messages has been
changed properly, the calculation of timeout value which
will be used when sending an acknowledged message by a
client model also needs to be updated.
2020-05-11 02:29:18 +00:00
lly
5e59233cc0 ble_mesh: Add lock for segmented msg operations
Add mutex to protect some variables of the mesh segmented
messages.
Currently the timeout handler of mesh will be executed in
the btc task, while the received mesh messages will be
handled in the btu task. In case some variables are set to
NULL when handled in the btu task, meanwhile these variables
are also accessed in the timeout handler, so we add mutex to
protect these variables and related operations.
2020-05-11 02:29:18 +00:00
lly
9e5fec73f8 ble_mesh: Fix dereferencing pointer before checking for NULL [Zephyr]
The publication context is checked for NULL in bt_mesh_model_publish()
however it was dereferenced before that. Move the assignment to
ctx.send_rel to the same place where other ctx members are set.
2020-05-11 02:29:18 +00:00
lly
d7a671ab7a ble_mesh: Optimize some mesh log output 2020-05-11 02:29:18 +00:00
lly
52493a1644 ble_mesh: Fix restore when revoke keys [Zephyr]
Store keys (NetKey and AppKey) again after revoking.
2020-05-11 02:29:18 +00:00
lly
8ea6714a96 ble_mesh: Spit mesh_util.h into different header files
Split mesh_util.h into mesh_byteorder.h, mesh_compiler.h,
mesh_ffs.h and mesh_util.h based on the classification of
Zephyr, which will make further porting more clear.
2020-05-11 02:29:18 +00:00
lly
52a30c8f4a ble_mesh: Split mesh os related into a separate file 2020-05-11 02:29:18 +00:00
lly
01a8a6c150 ble_mesh: Split mesh mutex into a separate file 2020-05-11 02:29:18 +00:00
lly
c493be489f ble_mesh: Rename mesh_kernel.* to mesh_timer.* 2020-05-11 02:29:18 +00:00
lly
25dfee4bdd ble_mesh: Add and use transport macro definitions [Zephyr] 2020-05-11 02:29:18 +00:00
lly
df525bf0b3 ble_mesh: Friend SeqAuth cleanup [Zephyr]
The Friend queue uses the message SeqAuth to determine whether the
message is already in the queue. To facilitate this, the SeqAuth is
passed around as a pointer throughout the transport modules. In the
bt_mesh_ctl_send functions, this parameter is also exposed in the API,
but the internal usage is inconsistent and buggy. Also, no one actually
uses this parameter.

- Removes seq_auth param from bt_mesh_ctl_send, instead passing NULL
  directly to the friend module, to enforce its addition to the queue.
- Makes the seq_auth pointer const throughout the friend module.
2020-05-11 02:29:18 +00:00
lly
cd58874a9b ble_mesh: Rework msg_cache [Zephyr]
Changes the behavior of the message cache to optimize for cache
capacity. Previously, the message cache's primary function was to avoid
decrypting messages multiple times, although the cache's main function
in the spec is to avoid message rebroadcasting. Optimizing for minimal
decryption causes us to fill the network cache faster, which in turn
causes more cache misses, potentially outweighing the advantage.

Now stores src + seq in message cache instead of field hash value. This
cuts cache size in two, while including more of the sequence number than
before.

Adds messages to the cache only after the packet is successfully
decrypted. This reduces noise in the cache, and ensures that no
invalid deobfuscations are added.

Additionally, this fixes a bug where multiple calls to net_decrypt with
the same packet failed, as the message cache found its own entry from
the previous call.
2020-05-11 02:29:18 +00:00
lly
ef8206cdc6 ble_mesh: Segmented TX to groups [Zephyr]
Implements several changes to the transport layer segmented tx to
improve group message performance:
- Moves retransmit counter to tx context instead of per packet. As every
  unacked packet is sent every retransmit, the retransmit counters would
  be the same in each segment. This makes it easier to control progress.
- Delays the scheduling of the retransmit until the completion of the
  last segment by adding a seg_pending counter. This is essentially the
  same as the old behavior, except that the old behavior might retrigger
  the sending before all segments are finished if the advertising is
  slow.
- Allows the group transmits to stop as soon as all retransmits have
  been exhausted, instead of timing out waiting for acks that won't
  come. This allows group tx to finish without error.
- Fixes a bug where a failed TX would block IV update.
- Cancels any pending transmissions of acked segments.
- Reduces log level for several common group tx scenarios that aren't
  erronous.
2020-05-11 02:29:18 +00:00
lly
fd9a16805a ble_mesh: Add comment explaining use of byte order [Zephyr]
Add comment that explains why a different byte order is used for the
3-byte opcode on the CID part of the opcode.
2020-05-11 02:29:18 +00:00
lly
4d1d5261cc ble_mesh: Use 24-bit functions [Zephyr]
Use 24-bit functions for byteorder and net_buf in order to make the
byteorder used more readable.
2020-05-11 02:29:18 +00:00
lly
da99734ba8 ble_mesh: Optimize net_buf_simple routines [Zephyr]
Use sys_put_xyz() helpers instead of memcpy() whenever possible. This
brings in straight-line inline code for pushes and adds of known,
small sizes.
2020-05-11 02:29:18 +00:00
lly
4fd1b2db0e ble_mesh: Add PRIu64 & PRIx64 in mesh_types.h 2020-05-11 02:29:18 +00:00
lly
fb84166cbd ble_mesh: Add push functions for supported bit-variants [Zephyr]
Add push functions for bit-widths supported by add and pull functions.
2020-05-11 02:29:18 +00:00
lly
ee1eb994b7 ble_mesh: Add support for 64 bit data type [Zephyr]
This enables pulling and pushing values in 64 bit format.
2020-05-11 02:29:18 +00:00
lly
b186be52f0 ble_mesh: Add support for 48 bit data type [Zephyr]
This enables pulling and pushing values in 48 bit format.
2020-05-11 02:29:18 +00:00
lly
23c8bbcbf5 ble_mesh: Add 48 bit variants [Zephyr]
This adds sys_*_*48 functions that operation on a 48 bits values.
2020-05-11 02:29:18 +00:00
lly
4e1d3974fb ble_mesh: Add support for 24 bit data type [Zephyr]
This enables pulling and pushing values in 24 bit format.
2020-05-11 02:29:18 +00:00
lly
26dbfdcb9d ble_mesh: Add 24 bit variants [Zephyr]
This adds sys_*_*24 functions that operation on a 24 bits values.
2020-05-11 02:29:18 +00:00
lly
95440c4d28 ble_mesh: Group resends in proxy nodes [Zephyr]
Resend transport segments for groups on the advertiser interface, even
if a connected proxy node holds the group.
2020-05-11 02:29:18 +00:00
lly
1f47cfff7f ble_mesh: Typo in condition in comp_add_elem of cfg_srv [Zephyr]
Vendor model IDs take up four (not two) bytes in the composition
2020-05-11 02:29:18 +00:00
lly
31b175e372 ble_mesh: GATT Proxy Spec 1.0.1 changes [Zephyr]
Backport of https://github.com/apache/mynewt-nimble/pull/724

Mesh spec 1.0.1 changes proxy disabling behavior to only affect the
relaying from proxy nodes. Previously, disabling proxy would shut down
all proxy and node activity.

Tweaks from the original commit:
- Removed redundant call to bt_mesh_adv_update() in gatt_proxy_set()
- Removed invalid ref to 4.2.11.1 in node_identity_set()

---

According to Mesh Profile Spec 1.0.1, Section 4.2.11:
"If the Proxy feature is disabled, a GATT client device can connect
over GATT to that node for configuration and control. Messages from
the GATT bearer are not relayed to the advertising bearer."

Moreover some notes have been removed from the spec compared to
version 1.0:

Mesh Profile Spec 1.0, Section 4.2.11:

"Upon transition from GATT Proxy state 0x01 to GATT Proxy state 0x00
the GATT Bearer Server shall disconnect all GATT Bearer Clients."

"The Configuration Client should turn off the Proxy state as the last
step in the configuration process."

Mesh Profile Spec 1.0, Section 4.2.11.1:

"When the GATT Proxy state is set to 0x00, the Node Identity state
for all subnets shall be set to 0x00 and shall not be changed."
2020-05-11 02:29:18 +00:00
lly
e385197c27 ble_mesh: Support reliable sending when publishing [Zephyr]
Until now the choice of reliable sending (segmented messages with
acks) was implicitly dependent on the size of the payload. Add a new
member to the bt_mesh_model_pub to force using segment acks even when
the payload would fit a single unsegmented message.
2020-05-11 02:29:18 +00:00
lly
cc549897d5 ble_mesh: Check device uuid when init provisioning 2020-05-11 02:29:18 +00:00
lly
ca3d1637ca ble_mesh: Fix provisioning buffer initialization [Zephyr]
When PB-GATT support has been enabled the provisioning code "borrows"
the buffer from the proxy code. However, the way that initialization
was happening the proxy buffers were initialized only after
provisioning initialization, resulting in a corrupted buffer with
buf->data pointing to NULL. Reorder the initialization calls so that
proxy is done first and provisioning only after it.
2020-05-11 02:29:18 +00:00
lly
6c868a070b ble_mesh: Skip publish if update fails [Zephyr]
Allow models to skip a periodic publish interval by returning an error
from the publish update callback.

Previously, an error return from publish update would cancel periodic
publishing. This can't be recovered from, and as such, no valid model
implementation could return an error from this callback, and there was
no way to skip a periodic publish.
2020-05-11 02:29:18 +00:00
lly
aad8908d9c ble_mesh: Enable Segmented Control Messages [Zephyr]
The function bt_mesh_ctl_send() used to support maximum length of
11 bytes. The segmentation complies with the BLE Mesh Standard.
The ack is disabled in case of non unicast address.
2020-05-11 02:29:18 +00:00
Hrishikesh Dhayagude
f67902a5dd Add NimBLE config options in sdkconfig.rename 2020-05-08 12:04:46 +05:30
lly
eaeb465767 ble_mesh: Fix node not erase info completely
Previously only mesh node info is supported to be stored
in flash. So when trying to reset the node, we only need
to judge if the BLE_MESH_VALID flag is set.
Currently we support storing both node & Provisioner info
in flash, when trying to erase the node info from flash,
the BLE_MESH_NODE flag will be checked. So we need to set
bt_mesh.flags to 0 when all the erase operations are done.
2020-04-30 06:42:54 +00:00
Island
18950d5780 Merge branch 'bugfix/ble_mesh_provisioner_check_key' into 'master'
ble_mesh: Check if appkey exist before deleting it

See merge request espressif/esp-idf!8332
2020-04-29 21:12:14 +08:00
Jiang Jiang Jian
922a0fa485 Merge branch 'feature/esp-hid-component' into 'master'
ESP-HID Component

See merge request espressif/esp-idf!6908
2020-04-29 17:24:02 +08:00
Hristo Gochkov
25281ef4de Add HID Support to IDF
- Adds HID Host support in Buedroid
- Adds BLE HID Host and Device support
- Adds some general HID utilities and definitions to help integrate with other stacks and native USB
2020-04-29 17:24:01 +08:00
Jiang Jiang Jian
aad3b0e3a2 Merge branch 'bugfix/coex_fix_wifi_performance_when_ble_conn' into 'master'
Coexistence: Add coexist API to enable BLE connection dynamic priority

See merge request espressif/esp-idf!8466
2020-04-28 19:55:31 +08:00
Island
8ef0b66a3b Merge branch 'bugfix/ble_mesh_compile_error_o2' into 'master'
ble_mesh: Fix compile error when -O2 (performance) is chosen

Closes BLEMESH-187

See merge request espressif/esp-idf!8217
2020-04-28 17:29:09 +08:00
baohongde
95f47a2d4d Coexistence: Add coexist API to enable BLE connection dynamic priority 2020-04-28 16:16:27 +08:00
lly
c8a7d20946 ble_mesh: Check if appkey exist before deleting it 2020-04-27 06:27:35 +00:00
lly
fab9b944a4 ble_mesh: Add length check for some mesh operations 2020-04-27 14:24:07 +08:00
lly
c77b7394ed ble_mesh: Fix compile error when -O2 (performance) is chosen 2020-04-27 14:24:07 +08:00
lly
75cf2d7a17 ble_mesh: Fix time scene wrong macro name 2020-04-27 04:17:04 +00:00
Island
feb7f9683c Merge branch 'bugfix/ble_mesh_add_missing_cpp' into 'master'
ble_mesh: Add missing #ifdef __cplusplus

Closes BLEMESH-194

See merge request espressif/esp-idf!8310
2020-04-27 11:47:44 +08:00
Island
1e12673b3c Merge branch 'feat/ble_mesh_sensor_model_example' into 'master'
ble_mesh: Add ble mesh sensor model examples

Closes BLEMESH-190

See merge request espressif/esp-idf!8253
2020-04-27 11:47:06 +08:00
Island
71dc5eb276 Merge branch 'doc/ble_mesh_fixes' into 'master'
doc: Fix some ble mesh description

Closes BLEMESH-189

See merge request espressif/esp-idf!8240
2020-04-27 11:43:48 +08:00
lly
91d70cd128 ble_mesh: Add missing #ifdef __cplusplus 2020-04-26 06:50:35 +00:00
lly
77bb7806a0 ble_mesh: Fix client local parameters not initialized 2020-04-26 06:25:08 +00:00
lly
713581ae87 ble_mesh: Continue node info restore even if failure happens
During BLE Mesh Provisioner initialization, the stack will restore
the nodes information if settings storage is enabled.
Previously when a failure happens (e.g. found the same uuid) during
the restore procedure, the information of the following nodes will
not be restored and error will be directly returned.
But this will introduce some problem with user experience, because
some newly provisioned nodes information will not be restored and
Provisioner will not be able to control those nodes.
So we change the operation here, when a failure happens during the
restore procedure, Provisioner will only ignore the information of
the current node and continue restoring other nodes information.
2020-04-26 06:25:08 +00:00
lly
73804ef4d3 ble_mesh: Remove some redundant functions 2020-04-26 06:25:08 +00:00
lly
f37bc1a515 ble_mesh: Notify unprovisioned device beacon to application layer
With this change, if a Provisioner has provisioned the maximum
number of nodes, it can still report the unprovisioned device
beacon from other nodes to the application layer. And this will
be more reasonable compared with the previous implementation.
Previously when the node array of Provisioner is full, no beacon
from unprovisioned devices will be reported, only some warning
logs will be given.
2020-04-26 06:25:08 +00:00
lly
88b0cd918a ble_mesh: Check if assigned node address is duplicated
Previously only check the node address when it is assigned by the
application layer. Here we also check the address when the address
is allocated internally. And this will be useful when some mesh
internal tests are performed.
2020-04-26 06:25:08 +00:00
lly
7486616382 ble_mesh: Update next alloc address when node info is added 2020-04-26 06:25:08 +00:00
lly
a4d9259912 ble_mesh: Fix Provisioner provisioning deadlock 2020-04-26 06:25:08 +00:00
lly
8d57ebf57d ble_mesh: Remove BLE_MESH_MAX_STORED_NODES option
Previously the BLE_MESH_MAX_STORED_NODES option is added for
internal mesh test, which will be a little confusing for the
users to understand.
Here we remove this option, instead the BLE_MESH_MAX_PROV_NODES
will be used for all the cases. For mesh internal test, when
the test function is called to add some nodes info, the info
will be stored in the array of provisioned nodes directly.
2020-04-26 06:25:08 +00:00
lly
ec2324edbe ble_mesh: Associate replay protection list size with nodes count
The replay protection list of Provisioner should be at least equal
to the number of nodes with the precondition that each node contains
only one element.
The help information of replay protection list is updated, and the
maximum number of nodes for Provisioner is adjusted based on the
replay protection list size.
2020-04-26 06:25:08 +00:00
lly
2f6a4140fa doc: Fix some ble mesh description 2020-04-26 06:22:33 +00:00
lly
e8c5f5dc03 ble_mesh: Add some common macros for sensor model 2020-04-26 06:08:44 +00:00
lly
361dd8b29c ble_mesh: Allow empty sensor series column value 2020-04-26 06:08:44 +00:00
lly
561191d50f ble_mesh: Check if same sensor (settings) property id exists 2020-04-26 06:08:44 +00:00
lly
3862f0e784 ble_mesh: Allow empty sensor settings exist 2020-04-26 06:08:44 +00:00
sushant.chougule
4cd6f09427 components/bt: Fix for HCI desync deadlock issue in BLE controller 2020-04-02 09:54:16 +00:00
Jiang Jiang Jian
20a972d91e Merge branch 'feat/ble_mesh_ble_adv_simultaneously' into 'master'
ble_mesh: Support BLE advertising simultaneously

Closes BLEMESH-125

See merge request espressif/esp-idf!7802
2020-04-02 12:17:42 +08:00
lly
a919e20c1a ble_mesh: Support BLE advertising simultaneously 2020-04-02 01:03:25 +00:00
Prasad Alatkar
be8c847b06 NimBLE: Reset master and slave states on host reset
Closes IDFGH-2743 & IDFGH-2956
2020-04-01 10:09:26 +00:00
xiewenxiang
5d0b6da6a0 component/bt: fix don't dequeue the command queue after process the read_by_type_req 2020-03-31 15:10:01 +08:00
Jiang Jiang Jian
79e92b0e6a Merge branch 'bugfix/ble_mesh_add_test_function' into 'master'
ble_mesh: Add ble mesh white list test function

See merge request espressif/esp-idf!8046
2020-03-27 19:53:54 +08:00
Prasad Alatkar
38fc242914 NimBLE: Fix build failures due to non static declarations in RPA feature
CLoses IDFGH-2891
2020-03-27 14:06:55 +08:00
Prasad Alatkar
2bc28bbd5a NimBLE: Fix NIMBLE_HS_FLOW_CTRL_TX_ON_DISCONNECT in esp_nimble_cfg and bleprph README 2020-03-27 14:05:32 +08:00
Angus Gratton
88bf21b21e Merge branch 'nimble/iram_allocation_strategy' into 'master'
NimBLE: Add support to IRAM allocation strategy

See merge request espressif/esp-idf!8015
2020-03-27 13:54:25 +08:00
lly
45d43f005a ble_mesh: Add ble mesh white list test function
Using the ble mesh white list test functions, a node can choose to
only receive mesh messages from a specific node and relay the
messages for it. Messages from other nodes will be ignored.
2020-03-25 11:30:08 +08:00
Jiang Jiang Jian
c71445a9b9 Merge branch 'bugfix/coex_wakeup_delay_with_dfs' into 'master'
components/coex: Fix wakeup delay with DFS

See merge request espressif/esp-idf!8053
2020-03-25 11:29:18 +08:00
Renz Bagaporo
3d0967a58a test: declare requirements and include dirs private 2020-03-23 10:58:50 +08:00
baohongde
1bcce4e7db components/coex: Fix wakeup delay with DFS 2020-03-20 17:58:05 +08:00
Hrishikesh Dhayagude
67a6fd6f3b NimBLE: Add support to IRAM allocation strategy
Added IRAM allocation provision under nimble_platform_mem_malloc()
2020-03-19 04:47:39 +00:00
lly
ac2ef797fe ble_mesh: Fix ble mesh nimble host deinit 2020-03-16 12:45:58 +08:00
Jiang Jiang Jian
df56535b7a Merge branch 'bugfix/compiler_err_when_performance_optimization_enabled' into 'master'
Bugfix/compiler err when performance optimization enabled

Closes BT-688

See merge request espressif/esp-idf!7958
2020-03-13 19:41:59 +08:00
lly
2ed1724fc2 ble_mesh: Move dev_role to the end of model_pub 2020-03-12 17:48:09 +08:00
lly
5a90ea3048 ble_mesh: Use the right netkey during iv update 2020-03-12 17:43:19 +08:00
lly
37466d957d ble_mesh: Use the right net_idx & app_idx for publish 2020-03-12 17:43:19 +08:00
lly
1795107533 ble_mesh: Check buf->ref before unref the buffer 2020-03-12 17:43:19 +08:00
lly
2b80649a79 ble_mesh: Fix mesh memory use-after-free issue 2020-03-12 17:43:19 +08:00
lly
08080edb1b ble_mesh: Add ble mesh deinit in btc task 2020-03-12 17:43:19 +08:00
lly
9d3ad04667 ble_mesh: Free beacon timer when deinit mesh 2020-03-12 17:43:19 +08:00
lly
13ab2f4015 ble_mesh: Use lock for mesh timer operations 2020-03-12 17:43:19 +08:00
weitianhua
0d2790a429 Remove (x2) variable in BCM_STRNCPY_S and BCM_STRCPY_S when performance optimization enabled 2020-03-12 16:20:58 +08:00
weitianhua
b86f4d4f00 Fix mem_start uninitialized error when compiler optimization performance enabled 2020-03-12 15:07:03 +08:00
gengyuchao
df3f2f4cb0 bugfix/fix_controller_disable_re_enable_crash 2020-03-09 17:40:06 +08:00
Prasad Alatkar
48bd2d74b4 NimBLE: Add Host based privacy (RPA) feature support
- This feature removes dependency on controller to use privacy (RPA)
2020-03-06 11:02:18 +08:00
Jiang Jiang Jian
1e95cf3111 Merge branch 'bugfix/btdm_assert_when_create_connection_cancel' into 'master'
components/bt: Fix assert when create conntion cancel

See merge request espressif/esp-idf!7816
2020-03-05 14:52:36 +08:00
Prasad Alatkar
ee1ab95b98 NimBLE: Fix check for static random address & add MSYS_1 in menuconfig
Closes BT-522 & BT-523
2020-03-05 13:53:04 +08:00
baohongde
d2aa4a1e50 components/bt: Fix assert when create conntion cancel 2020-02-28 20:13:41 +08:00
wangmengyang
3428a1ad0b component/bt: set non-zero initial value for bt sleep clock cycle to avoid div-by-zero error in function "btdm_us_2_lpcycles" when BT modem sleep is not enabled 2020-02-28 11:36:48 +08:00
lly
134f57b8e0 ble_mesh: Calc incomplete timeout based on msg info 2020-02-26 17:42:04 +08:00
lly
087bafe5b9 ble_mesh: Start the timer when starting to send the client message 2020-02-26 17:41:46 +08:00
lly
90f8a54a71 ble_mesh: No timeout for client message to non-unicast address 2020-02-26 17:41:30 +08:00
lly
97eca35805 ble_mesh: Unify client application and lower transport layer timeout 2020-02-26 17:41:11 +08:00
lly
e24645c791 ble_mesh: Allow maximum 377 octets payload 2020-02-26 17:40:46 +08:00
lly
828bfeac88 ble_mesh: Reset transport info when node is removed 2020-02-26 17:40:23 +08:00
lly
48343a8a8f ble_mesh: Provisioner ignores msg from removed node 2020-02-26 17:39:55 +08:00
lly
7cd08b5824 ble_mesh: Miscellaneous modifications
1. Add an API to set Provisioner static oob value
2. Add an API to deinit BLE Mesh stack
3. Add an API to set Provisioner unicast address
4. Add an API to provision devices with fixed address
5. Add an API to store node composition data
6. Add an API to get node with device uuid
7. Add an API to get node with unicast address
8. Add an API to delete node with device uuid
9. Add an API to delete node with unicast address
10. Add an API for Provisioner to update local AppKey
11. Add an API for Provisioner to update local NetKey
12. Support Provisioner persistent functionality
13. Fix Provisioner entering IV Update procedure
14. Fix an issue which may cause client failing to send msg
15. Use bt_mesh.flags to indicate device role
16. Remove several useless macros
17. Callback RSSI of received mesh provisioning packets
18. Modify the Provisioner disable function
19. Change some log level from debug to info
20. Add parameters to Provisioner bind AppKey completion event
21. Fix node ignoring relay messages issue
22. Support using a specific partition for BLE Mesh
23. Fix compile warning when proxy related macros are disabled
24. Clean up BLE Mesh stack included header files
25. NULL can be input if client message needs no parameters
26. Fix compile warning when BT log is disabled
27. Initilize BLE Mesh stack local variables
28. Support using PSRAM for BLE Mesh mutex, queue and task
29. Add a menuconfig option to enable using memory from PSRAM
30. Clean up sdkconfig.defaults of BLE Mesh examples
2020-02-26 17:37:44 +08:00
weitianhua
477e584f7d 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-02-25 18:03:54 +08:00
Jiang Jiang Jian
7092613eea Merge branch 'bugfix/btdm_check_EXT_CRYS_state_for_sleep_clk' into 'master'
bugfix/btdm_check_EXT_CRYS_state_for_sleep_clk

Closes BT-582

See merge request espressif/esp-idf!7439
2020-02-21 21:21:54 +08:00
wangmengyang
d6e672ed51 component/bt: fall back to main XTAL as Bluetooth sleep clock when EXT 32K CRYS is configured but not detected 2020-02-20 14:34:28 +08:00
Jiang Jiang Jian
959b0295f3 Merge branch 'bugfix/coex_a2dp_stuck_after_creating_anther_connection' into 'master'
components/coex: Fix a2dp stuck after creating another connection

See merge request espressif/esp-idf!7651
2020-02-20 14:15:22 +08:00
Jiang Jiang Jian
a512d6e15a Merge branch 'bugfix/coex_fix_misspell_in_kconfig' into 'master'
components/coex: Fix misspell in Kconfig

See merge request espressif/esp-idf!7670
2020-02-20 14:15:04 +08:00
baohongde
d11a86076f Fix bugs about role switch
Jitter in FHS
Jitter in first PULL
Receive EDR packet fail after role switch
2020-02-19 20:14:47 +08:00
baohongde
6ca361fd2b components/coex: Fix a2dp stuck after creating anther connection 2020-02-19 07:14:26 +00:00
baohongde
364a9dece0 components/coex: Fix misspell in Kconfig 2020-02-19 11:41:03 +08:00
Jiang Jiang Jian
a06f025e61 Merge branch 'bugfix/coex_watchdog_timeout_with_sleep_enabled' into 'master'
components/coex: Fix watchdog timeout when sleep enabled

See merge request espressif/esp-idf!7419
2020-02-18 20:55:30 +08:00
Jiang Jiang Jian
6d03758ac4 Merge branch 'bugfix/ble_mesh_fix_compile_error_with_cpp' into 'master'
ble_mesh: Fix compile error with c++ files

Closes BMCI-52

See merge request espressif/esp-idf!7579
2020-02-18 20:43:55 +08:00
baohongde
66a01ef490 components/coex: Fix watchdog timeout when sleep enabled
Fix crash without enabling sw coex
2020-02-18 03:35:24 +00:00
blueMoods
6a922ea07c components/bt: change HCI task size back 2020-02-18 03:06:09 +00:00
Jiang Jiang Jian
7d39f435a3 Merge branch 'bugfix/ble_crash_irq_miss' into 'master'
Fix ble crash issue triggered by ble event irq miss(0x20000) (819979b9)

See merge request espressif/esp-idf!7490
2020-02-14 19:53:49 +08:00
Jiang Jiang Jian
928438056d Merge branch 'bugfix/btdm_hfp_ag_crash_in_unknown_at_cmd' into 'master'
components/bt: Fix connection fail and crash when receive unknown AT cmd

Closes BT-565

See merge request espressif/esp-idf!7389
2020-02-14 19:46:46 +08:00
Jiang Jiang Jian
d058be6720 Merge branch 'bugfix/btdm_error_type_in_config_eir_evt' into 'master'
components/bt: Fix error EIR type in config eir event

Closes BT-593

See merge request espressif/esp-idf!7404
2020-02-14 16:38:08 +08:00
sushant.chougule
74c7db3f49 Fix ble crash issue triggered by ble event irq miss(0x20000) (d2a1d18d) 2020-02-13 16:16:21 +05:30
Jiang Jiang Jian
b42fc77e11 Merge branch 'bugfix/ble_mesh_utf_8_comma' into 'master'
ble_mesh: Kconfig included a UTF-8 comma

See merge request espressif/esp-idf!7574
2020-02-13 11:10:43 +08:00
lly
326ccfca88 ble_mesh: Fix compile error with c++ files 2020-02-12 21:24:32 +08:00
Chinmay Chhajed
6d96217204 Future events scheduling error in case of wifi and bluetooth.
After this commit, global interrupts will be disabled before taking
current time for scheduling further bluetooth events. Earlier disabling
interrupts was taking some time because of which WiFi events were
interrupting in current bluetooth scheduling.

Signed-off-by: Chinmay Chhajed <chinmay.chhajed@espressif.com>
2020-02-12 20:04:21 +08:00
lly
bfb27addda ble_mesh: Kconfig included a UTF-8 comma 2020-02-12 18:21:09 +08:00
Jiang Jiang Jian
7f4309d0f1 Merge branch 'feature/esp32_5p0_code_optimize' into 'master'
controller flash code optimize

See merge request espressif/esp-idf!7409
2020-02-11 17:29:08 +08:00
Angus Gratton
11fac8637a docs: Resolve doxygen & Sphinx warnings 2020-02-07 16:37:45 +11:00
Konstantin Kondrashov
739eb05bb9 esp32: add implementation of esp_timer based on TG0 LAC timer
Closes: IDF-979
2020-02-06 14:00:18 +08:00
Prasad Alatkar
bc7ce8e584 Update NimBLE submodule to fix bug in ble_hs_hci_rx_evt 2020-02-04 12:27:47 +05:30
Mahavir Jain
9ee50266cc Merge branch 'nimble/misc_host_flow_ctrl_changes' into 'master'
NimBLE: Misc fixes in NimBLE host flow control and `blecent` example

See merge request espressif/esp-idf!7042
2020-02-03 13:59:45 +08:00
June
4f9c3e977e controller flash code optimize
fix ld file to link 3 bt rom functions
2020-01-31 06:29:46 +00:00
Prasad Alatkar
4047f7e180 NimBLE: Misc changes in host flow control, ble_gap_unpair, ble_hs_hci_rx_evt & example
- 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-01-31 10:46:55 +05:30
Roland Dobai
5454c268f7 Docs: Omit kconfig configurations not available for the target 2020-01-30 10:30:06 +01:00
Hrishikesh Dhayagude
91c8f324a9 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-01-23 00:55:51 +08:00
baohongde
097777ed66 components/bt: Fix error EIR type in config eir event 2020-01-20 20:46:05 +08:00
Tian Hao
30fbd99ad0 fix bug sleep may cause HCI timeout
When Host run different cpu and sleep enable, it may cause hci
timeout about 10s.
2020-01-20 17:44:03 +08:00
Tian Hao
f351effdb2 fix Kconfig use mistake cause some config not effect
1. Fix bluedroid task pinned_to_core un-effected
2. other minor sdkconfig bugs
2020-01-20 17:43:36 +08:00
baohongde
5ca4c85497 components/bt: Fix connection fail and crash when receive unknown AT cmd 2020-01-20 11:32:26 +08:00
June
19730c81f0 esp32 5p0 new features support 2020-01-17 10:34:54 +00:00