Commit Graph

2290 Commits

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