Commit Graph

1017 Commits

Author SHA1 Message Date
baohongde
152a4f46d6 components/bt: Fix two bugs about pairing
1. Fix Legacy Pairing failed without remote device name
2. Fix discovery no device after disabling SSP
2018-12-21 20:52:46 +08:00
wangmengyang
a9dae85d03 component/bt: use a pm_lock to prevent light sleep when bluetooth is enabled due to current imcompatibility 2018-12-18 15:40:27 +08:00
zhiweijian
bd9eb5255d Component/bt: fix receive adv pkt when enable duplicate scan 2018-12-17 15:55:38 +08:00
wangmengyang
29da5b2e17 component/bt: add DRAM_ATTR attribute to global variables(mainly bss segment) in bt.c which can be accessed in ISRs 2018-12-14 21:21:22 +08:00
wangmengyang
1c4bbaa567 component/bt: bugfix of bluetooth modem sleep not being able to work with Dynamic Frequency Scaling
1. start an esp_timer on entering sleep to acquire pm_lock before wake up from modem sleep
2. decrease the clock division of XTAL fed to bluetooth low power clock from 32us to 2us period to allow to work under 240MHz Max CPU frequency
3. decrease the minimum sleep duration threshold to allow shorter bluetooth modem sleep period, especially for BLE with short connection interval
4. reconfigure bluetooth baseband(BT-BB) settings after PHY/RF init upon waking up from modem sleep to avoid packet RX/TX performance degradation
2018-12-14 21:21:22 +08:00
Tian Hao
129f1df461 fix bug that there's very low ratio to cause BLE assert(65536, 0) in rwble.c at line 222 2018-12-14 17:52:31 +08:00
zhiweijian
ee99795f3d Component/bt: fix save keys when auth mode without bond 2018-12-13 15:49:02 +08:00
zhiweijian
f4b64a491b Component/bt: fix auth_mode error when reconnection in SMP 2018-12-13 15:36:51 +08:00
Tian Hao
ce5b2709ab fix bug that there's very low ratio to cause BLE assert(32768, 0) in rwble.c at line 222 2018-12-06 21:17:49 +08:00
Tian Hao
155e48bbde component/bt and esp32: fix two bluetooth bugs that caused by coexist module
1. Fix interrupt watchdog timeout in bluetooth "btdm_bb_isr"
    2. Fix BLE assert(512) or assert(1536)  in rwble.c at line 222
    3. Update librtc.a to fix BLE assert(512) in rwble.c at line 222

    The #1 and #2 occurs random.
    The #3 bug occurs in certain scenario:
    	1. If Wifi start softap and BLE is working
    	2. If wifi start station, but do not use normal station operation, such
    		as just use espnow, while BLE is working
    	3. Any other scenario, that wifi works without use software coexist
    		operation, while BLE is working(such as do advertising and ...)

    4. update libcoexist.a version to v1.1.2
2018-12-03 22:09:04 +08:00
zhiweijian
34064b4302 Component/bt: fix accept specified sec auth error 2018-11-29 20:49:54 +08:00
Jiang Jiang Jian
09b2cd7d26 Merge branch 'bugfix/btdm_add_check_peer_addr_type_in_set_adv_params_v3.1' into 'release/v3.1'
Component/bt: add check peer addr type in set adv params (backport v3.1)

See merge request idf/esp-idf!3735
2018-11-23 20:14:15 +08:00
Jiang Jiang Jian
195f7274c4 Merge branch 'bugfix/btdm_controller_disable_v3.1' into 'release/v3.1'
Fix two bugs when disable bluetooth controller(backport v3.1)

See merge request idf/esp-idf!3693
2018-11-20 17:00:38 +08:00
zhiweijian
dfd46965ae Component/bt: add check peer addr type in set adv params 2018-11-19 17:21:28 +08:00
baohongde
8e0bb3ec81 components/bt: Some errors in comment 2018-11-16 15:38:22 +08:00
Tian Hao
dbd225c673 Fix two bugs when disable bluetooth controller
1. Fix the bug that disable controller suddenly cause crash when ble is working
2. Fix the bug that when disable controller, it will cause wifi cannot RX, TX timeout, buffer lack and etc.
2018-11-13 17:49:06 +08:00
baohongde
ac124ee89c components/bt: Point ACL RX buffer ptr to ACL RX buffer if ACL RX buffer ptr is null(backprot 3.1)
1. When WIFI task or other high priority task blocks the Bluetooth task, ACL RX buffer will use up, ACL RX buffer ptr will point to null and will never point to a valid adress. Causing errors in Bluetooth.
2. hcimsgs.h used whether flow control is on or off
2018-11-09 03:26:36 +00:00
Jiang Jiang Jian
69b6eabef0 Merge branch 'bugfix/btdm_add_profile_descriptor_list_for_spp_v3.1' into 'release/v3.1'
component/bt: Add profile descriptor list for SPP(backport 3.1)

See merge request idf/esp-idf!3602
2018-11-08 17:27:21 +08:00
Jiang Jiang Jian
8c16be1edc Merge branch 'bugfix/btdm_name_buffer_allocation_size_differs_v3.1' into 'release/v3.1'
components/bt: Fix the different size of name buffer allocation size(backport 3.1)

See merge request idf/esp-idf!3588
2018-11-08 17:24:53 +08:00
Jiang Jiang Jian
7cc2445b9a Merge branch 'bugfix/btdm_sniff_anchor_point_calculation_error_for_v3.1' into 'release/v3.1'
bugfix/btdm_sniff_anchor_point_calculation_error_for_v3.1(backport v3.1)

See merge request idf/esp-idf!3614
2018-11-06 17:12:39 +08:00
wangmengyang
cfef8291bb component/bt: bugfix of two issues of sniff mode in classic bluetooth
1. resolve the error in calculating sniff anchor point that result in connection supervision timeout
2. resolve the issue of user case that requires sniff attempt is larger than 0xff
2018-11-06 12:02:18 +08:00
Jiang Jiang Jian
725978b817 Merge branch 'bugfix/btdm_allow_a2dp_codec_dynamic_alloc_for_v3.1' into 'release/v3.1'
bugfix/btdm_allow_a2dp_codec_dynamic_alloc_for_v3.1(backport v3.1)

See merge request idf/esp-idf!3600
2018-11-06 11:57:04 +08:00
baohongde
539064b93c component/bt: Add profile descriptor list for SPP(backport 3.1)
A cherry-pick of MR !2691
2018-11-01 10:36:11 +08:00
wangmengyang
82e69475ca component/bt: allow dynamic allocation of SBC encoder/decoder buffer used in A2DP to save internal DRAM 2018-10-31 17:54:51 +08:00
baohongde
7a05ef2002 components/bt: Fix the different size of name buffer allocation size(backport 3.1)
A cherry-pick of MR !3587
Close https://github.com/espressif/esp-idf/issues/2615
2018-10-31 10:56:16 +08:00
zhiweijian
143c0bdaf9 Component/bt: add ble disconnect when ACCEPT_SPECIFIED_SEC_AUTH failed 2018-10-26 14:10:32 +08:00
zhiweijian
e5f2f1ba78 Component/bt: add only accept sepecified Authentication 2018-10-26 11:58:25 +08:00
zhiweijian
89ee65e1c6 Component/bt: add set default passkey function 2018-10-26 11:55:18 +08:00
zwj
4b5cf90a95 component/bt: fix remove bond list failed 2018-10-25 05:32:01 +00:00
Tian Hao
e982c25b40 coexist : fix coexist bugs related to coex hw blocking
1. fix some bugs by previous coex hw blocking bugfix,
   such like, rwble.c (64, 0) line 222
2. fix bug that ble scan performance is very low when software coexist
   is working.
3. update libcoexist version to v1.1.0
2018-10-17 18:30:39 +08:00
Angus Gratton
027e081622 Merge branch 'bugfix/misc_v3_1_backports' into 'release/v3.1'
Multiple v3.1 backports

See merge request idf/esp-idf!3378
2018-10-10 15:01:13 +08:00
Jiang Jiang Jian
f11ac037c4 Merge branch 'bugfix/btdm_watchdog_timeout_after_pair_with_iphone_v3.1' into 'release/v3.1'
component/bt: Fix BTU task watchdog timeout after pair with iphone (backport 3.1)

See merge request idf/esp-idf!3396
2018-09-30 14:39:09 +08:00
wangmengyang
e353d09630 component/bt: bugfix that hci down stream datapath is unblocked too early on waking up from sleep
This issue can cause the controller to stuck after sleep interrupt happens and clock interrupt enabled
2018-09-28 14:31:49 +08:00
Ivan Grokhotkov
5205b31186 Merge branch 'bugfix/btdm_coex_hw_blocking_v3.1' into 'release/v3.1'
component/bt : fix coexist hardware blocking bug

See merge request idf/esp-idf!3363
2018-09-28 11:57:26 +08:00
baohongde
de0a323bef component/bt: Fix BTU task watchdog timeout after pair with iphone (backport 3.1)
A cherry-pick of MR !3366

Create a new pending queue, then re-submit pending requests in old pending queue,preventing new events being inserted into it.

Closes https://github.com/espressif/esp-idf/issues/2191
2018-09-28 11:04:44 +08:00
Tian Hao
ebdc82d3d2 component/bt : fix coexist hardware blocking bug
fix the bug following:
1. after disable bluetooth controller, wifi cannot TX/RX any packets.
2. when software coexist working, there's a little ratio cause wifi task
watchdog timeout
3. when software coexist working, there's a little ratio cause bluetooth
cannot receive anything.

feature:
1. add libbtdm_app.a git commit local and remote checking

Known issues:
1. there's still a bug occurs with a very very low ratio cause bluetooth
   cannot receive anything. The reproduce interval may great than 3days
   ~ 1week via 7x24 hours heavy testing.
2018-09-27 20:56:46 +08:00
Ivan Grokhotkov
d6547595d7 bt: build unit tests only when CONFIG_BT_ENABLED=1 2018-09-27 11:31:10 +08:00
zhiweijian
5bb12070d9 Component/bt: fix get bond list error sometimes 2018-09-27 02:33:33 +00:00
baohongde
cc0a73c156 component/bt: Fix bug of remove bond device fail when BLE and BT are connectd at the same time (backport 3.1)
A cherry-pick of MR !2767
2018-09-26 14:23:05 +08:00
Jiang Jiang Jian
4107361a3a Merge branch 'bugfix/btdm_fix_crash_when_test_multi_connect_v3.1' into 'release/v3.1'
Component/bt: fix crash when test multi_connect(backport v3.1)

See merge request idf/esp-idf!3313
2018-09-20 14:02:12 +08:00
Jiang Jiang Jian
e8aa442305 Merge branch 'bugfix/btdm_fix_save_error_key_in_smp_when_reconnect_v3.1' into 'release/v3.1'
Component/bt: fix save error key in smp when reconnect(backport v3.1)

See merge request idf/esp-idf!3289
2018-09-20 10:58:01 +08:00
zhiweijian
72f9d15a57 Component/bt: fix iPhoneX error when getting wifi list 2018-09-19 15:21:57 +08:00
zhiweijian
78dca32a28 Component/bt: fix crash when test multi_connect 2018-09-19 14:26:55 +08:00
zhiweijian
53d75901a9 Component/bt: fix save error key in smp when reconnect 2018-09-17 20:13:30 +08:00
Jiang Jiang Jian
8f665c3393 Merge branch 'bugfix/btdm_enable_modem_sleep_by_default_for_v3.1' into 'release/v3.1'
bugfix/btdm_enable_modem_sleep_by_default_for_v3.1(backport v3.1)

See merge request idf/esp-idf!3275
2018-09-17 16:17:46 +08:00
baohongde
ea3b2716fd component/bt: Unlock reserve of SCN 1 for HFP (backport v3.1)
A cherry-pick of MR !3269
2018-09-17 11:01:58 +08:00
Jiang Jiang Jian
760772ec4b Merge branch 'bugfix/ble_adv_data_tx_power_v3.1' into 'release/v3.1'
fix TX power value in ble adv data is incorrect

See merge request idf/esp-idf!3187
2018-09-16 14:54:59 +08:00
wangmengyang
c6d2fc6807 component/bt: enable bluetooth modem sleep as default setting 2018-09-14 17:01:45 +08:00
wangmengyang
4c240064ab component/bt: stop to inititate AVRC connection when A2DP connection fails to set up
AVRCP connection binds to A2DP in current implementation, despite the two profiles are\
independent according to specification. AVRCP connection is not necessary to set-up \
if A2DP connection fails to establish
2018-09-13 17:58:00 +08:00
wangmengyang
da4108dd1e component/bt: stop to initiate AVDTP connection on failure of A2DP service discovery
In opening state of AVDTP connection, if SDP client fails to get valid A2DP service record\
from peer SDP server, then do not initiate AVDTP connection request
2018-09-13 17:58:00 +08:00
wangmengyang
01994059e2 component/bt: bugfix that A2DP sink device can be connected by another A2DP sink device
In pevious implementation, A2DP sink will register an A2DP source Stream End Point(SEP) although the SEP is not\
supposed to be used. Now remove the unused SEP for source so that only one role of A2DP can be supported at one
time. Service record in local SDP server only includes at most one service for A2DP sink role or source
2018-09-13 17:58:00 +08:00
Renz Bagaporo
7edf2bf66c cmake: make main a component again 2018-09-13 11:13:27 +08:00
Tian Hao
a05868f0a8 fix TX power value in ble adv data is incorrect
refence to https://github.com/espressif/esp-idf/issues/2284
Before fixing, the tx power in adv data is always 0xeb(-21dbm).

restriction:
    If change BLE advertising TX power, please call esp_ble_gap_config_adv_data()
    after BLE adv TX power changed.

    Later, will implement set BLE advertising TX power via HCI, then the
    TX power value in adv data can be update automatically after BLE adv
    TX power changed.
2018-09-12 10:19:08 +00:00
Jiang Jiang Jian
35785d08fd Merge branch 'feature/btdm_legacy_paring_v3.1' into 'release/v3.1'
component/bt: Add Legacy Pairing (backport 3.1)

See merge request idf/esp-idf!3193
2018-09-07 14:44:19 +08:00
Jiang Jiang Jian
d193895ec6 Merge branch 'bugfix/btdm_hfp_invalid_hci_sync_pkt_len_for_v3.1' into 'release/v3.1'
bugfix/btdm_hfp_invalid_hci_sync_pkt_len_for_v3.1(backport v3.1)

See merge request idf/esp-idf!3188
2018-09-06 19:52:05 +08:00
baohongde
95c5805088 component/bt: Add Legacy Pairing (backport 3.1)
A cherry-pick of MR !3057
2018-09-04 20:59:03 +08:00
Tian Hao
196793dccb component/bt : fix bug that set discovery mode will stop ble adv
As the bluedroid original implmentation of BR/EDR and BLE dual mode about discovery mode,
when set discovery mode for BR/EDR, it will stop ble advertising.

Reference to https://github.com/espressif/esp-idf/issues/2306
2018-09-04 20:29:36 +08:00
wangmengyang
7c6d447938 component/bt: bugfix for incorrect length of HCI SCO packet size in HFP resulted from uninitialized data buffer length 2018-09-04 20:24:00 +08:00
Jiang Jiang Jian
45e29a817c Merge branch 'bugfix/btdm_update_private_address_v3.1' into 'release/v3.1'
component/bt: Update BLE private address after it's private address interval (backport 3.1)

See merge request idf/esp-idf!3170
2018-09-04 14:10:47 +08:00
Jiang Jiang Jian
dabebbf639 Merge branch 'bugfix/btdm_rfcomm_test_command_cause_crash_v3.1' into 'release/v3.1'
component/bt: Fix bug rfcomm test command cause crash (backport 3.1)

See merge request idf/esp-idf!3169
2018-09-04 14:10:05 +08:00
baohongde
6a2f492832 component/bt: Update BLE private address after it's private address interval (backport 3.1)
A cherry-pick of MR !2987
2018-09-03 14:27:15 +08:00
baohongde
24a03a8d3f component/bt: Fix bug rfcomm test command cause crash (backport 3.1)
A cherry-pick of MR !3080
2018-09-03 14:17:56 +08:00
baohongde
b1da63d645 component/bt: Fix bug of SDP find services by uuid always return success (backport 3.1)
A cherry-pick of MR !3036
2018-09-03 11:52:19 +08:00
Tian Hao
7f8de47631 fix bluetooth security vulnerability of ECDH publick key checking 2018-08-30 11:09:02 +08:00
zhiweijian
a83c918946 Component/bt: fix memory leak in security server 2018-08-29 17:56:14 +00:00
Jiang Jiang Jian
c3ba237846 Merge branch 'bugfix/btdm_fix_crash_when_BLE_do_SMP_con_discon_stress_test_v3.1' into 'release/v3.1'
Component/bt: fix crash when BLE do connect and disconnect stress test(backport v3.1)

See merge request idf/esp-idf!3119
2018-08-30 01:51:33 +08:00
zhiweijian
17c4a76395 component/bt: fix crash when BLE do con and duscon stress test 2018-08-30 00:36:57 +08:00
Jiang Jiang Jian
114b16f0d5 Merge branch 'bugfix/btdm_fix_get_error_adv_sometimes_v3.1' into 'release/v3.1'
Component/bt: fix get error adv packet sometimes(backport v3.1)

See merge request idf/esp-idf!3082
2018-08-29 23:54:36 +08:00
Jiang Jiang Jian
e1fc259600 Merge branch 'bugfix/btdm_a2dp_sink_pcm_buf_size_for_v3.1' into 'release/v3.1'
bugfix/btdm_a2dp_sink_pcm_buffer_size_for_v3.1(backport v3.1)

See merge request idf/esp-idf!3116
2018-08-29 22:54:58 +08:00
Angus Gratton
1d537d29d5 Merge branch 'feature/cmake_v3.1' into release/v3.1 2018-08-29 19:30:06 +08:00
zhiweijian
bfc8142c99 Component/bt: fix get error adv packet sometimes 2018-08-28 14:13:10 +08:00
Jiang Jiang Jian
bcebf3e6f1 Merge branch 'bugfix/btdm_check_slave_feature_before_set_afh_for_v3.1' into 'release/v3.1'
bugfix/btdm_check_slave_feature_before_set_afh(backport v3.1)

See merge request idf/esp-idf!3103
2018-08-28 13:40:56 +08:00
wangmengyang
9f6af0ad4b component/bt: bugfix for incorrect computation of PCM data buffer size in A2DP sink 2018-08-28 10:59:22 +08:00
Jiang Jiang Jian
c060853f70 Merge branch 'bugfix/fix_probable_mem_leak_v3.1' into 'release/v3.1'
components/bt: Fix a probable memory leak for BTA_GATTS_CONF_EVT event (backport v3.1)

See merge request idf/esp-idf!3106
2018-08-28 10:41:42 +08:00
Hrishikesh Dhayagude
7ffd68cac2 components/bt: Fix a probable memory leak for BTA_GATTS_CONF_EVT event (backport v3.1)
Multiple modules register their callback BTA_GATTS_AppRegister().

If any of the callbacks do not free the allocated pointer in
BTA_GATTS_CONF_EVT event, then this can result in memory leak.

So, free the pointer after the callback function is called and remove
the calls to free in the callback functions as it is now not required

Signed-off-by: Hrishikesh Dhayagude <hrishi@espressif.com>
2018-08-27 12:03:20 +05:30
wangmengyang
a47cc3dd46 component/bt: check support of AFH in remote slave device's LM feature then determine whether to send LMP_set_AFH 2018-08-27 11:20:34 +08:00
baohongde
da94560ec5 component/bt: Some timer oneshot will timeout twice (backport v3.1)
A cherry-pick of MR !2979
2018-08-25 15:50:46 +00:00
Angus Gratton
b64815be4c cmake: Fix bt component dependencies 2018-08-20 10:47:55 +10:00
Angus Gratton
7f50bb7e7f Merge branch 'release/v3.1' into feature/cmake_v3.1 2018-08-17 14:14:10 +10:00
yulong
fa8dc32800 component/bt: Fixed the vulnerability released by Bluetooth org when using public key not check in the process of ECDH encryption.
1. Add the 100 times test when the private key is generated by the random number;
2. Add the bt components to the unit-test-app/config directory.
3. Added the bt unit test case to CI.
2018-08-13 19:47:02 +08:00
zhiweijian
281877ada5 Component/bt: fix get bond list error when connection with no bond 2018-08-10 21:00:56 +08:00
wangmengyang
78c083325f component/bt: modify the invalid retransmission setting for SCO link in HFP 2018-08-08 14:40:22 +08:00
baohongde
6210272bfd component/bt: Fix bug of SPP crash on reset
In response to: https://github.com/espressif/esp-idf/issues/1998
2018-08-08 12:03:32 +08:00
Jiang Jiang Jian
1e92ad77c4 Merge branch 'bugfix/btdm_fix_sc_mitm_bond_failed_in_smp_for_iphones_v3.1' into 'release/v3.1'
Component/bt:  fix SC_MITM_BOND failed in smp for iphones for v3.1

See merge request idf/esp-idf!2923
2018-08-05 23:48:29 +08:00
Jiang Jiang Jian
76b9e36f2b Merge branch 'bugfix/btdm_a2dp_disconnect_reason_for_v3.1' into 'release/v3.1'
bugfix/btdm_a2dp_disconnect_reason(backport v3.1)

See merge request idf/esp-idf!2927
2018-08-04 23:48:42 +08:00
zhiweijian
512e4d5836 Component/bt: fix SC_MITM_BOND failed in smp for iphones 2018-08-04 17:02:13 +08:00
wangmengyang
9d8a85e2ab component/bt: bugfix for uncleared LMP transaction collision state after rejecting sniff request from slave 2018-08-03 15:55:23 +08:00
wangmengyang
8a940ccd65 component/bt: retrieve disconnection reason in AVDT when ACL-U link is disconnected 2018-08-03 15:36:44 +08:00
Jiang Jiang Jian
c983bc4d12 Merge branch 'bugfix/btdm_controller_deinit_v3.1' into 'release/v3.1'
bt : fix bug that bluetooth controller init/disable/enable/disable may cause exception(backport v3.1)

See merge request idf/esp-idf!2865
2018-08-03 15:09:58 +08:00
Angus Gratton
485ed4cc22 Merge branch 'bugfix/btdm_fix_queue_block_when_scanning_for_v3.1' into 'release/v3.1'
Component/bt: fix queue blocking when scanning for v3.1

See merge request idf/esp-idf!2893
2018-08-03 07:28:07 +08:00
Tian Hao
e5abec310d bt : fix bug that bluetooth controller init/disable/enable/disable may cause exception
1. when one task do deinit/init/disable/enable, especially different cpu
core, it may cause controller crash in ISR handler
2. fix while BLE is scanning, bluetooth controller is disabled cause BLE
scan is not abort.
2018-08-01 20:08:40 +08:00
Ivan Grokhotkov
bf281b31ec Merge branch 'bugfix/remove_bt_dependency_on_lwip_header_v3.1' into 'release/v3.1'
Bugfix/remove bt dependency on lwip header (backport v3.1)

See merge request idf/esp-idf!2907
2018-08-01 17:40:37 +08:00
zhiweijian
b270638868 Component/bt: fix hci_hal_env.rx_q and xHciH4Queue blocking when scanning 2018-08-01 15:10:28 +08:00
Jiang Jiang Jian
d8a1080bdf Merge branch 'bugfix/btdm_fix_gattc_count_invalid_for_v3.1' into 'release/v3.1'
Component/bt: fix gattc get count invalid and discover included service error for v3.1

See merge request idf/esp-idf!2894
2018-08-01 14:51:08 +08:00
Mahavir Jain
acb3b6fee2 bluedroid: remove dependency on arpa/inet.h include
Signed-off-by: Mahavir Jain <mahavir@espressif.com>
2018-08-01 12:02:11 +05:30
zhiweijian
970502f904 Component/bt: fix gattc get count invalid 2018-07-31 15:38:00 +08:00
wangmengyang
d3cb687936 component/bt: bugfix on the crash during end of sco link resulted from link supervision timeout 2018-07-31 15:35:58 +08:00
Ivan Grokhotkov
cffd28ad83 Merge branch 'bugfix/bt_os_abstraction_layer_v3.1' into 'release/v3.1'
bt: fix OS abstraction layer for correct critical section API usage (backport v3.1)

See merge request idf/esp-idf!2713
2018-07-17 18:53:01 +08:00
Mahavir Jain
f2c543785b bt: fix OS abstraction layer for correct critical section API usage
Signed-off-by: Mahavir Jain <mahavir@espressif.com>
2018-07-13 11:29:40 +08:00
wangmengyang
ea30c54cda component/bt: bugfix for erroneous data reporting always enabled 2018-07-11 20:08:36 +08:00