Commit Graph

1265 Commits

Author SHA1 Message Date
lly
1ff2d61ddf ble_mesh: Use the right net_idx & app_idx for publish 2020-04-20 18:26:16 +08:00
lly
bb2c0475eb ble_mesh: Check buf->ref before unref the buffer 2020-04-20 18:26:16 +08:00
lly
b5ab64b4d9 ble_mesh: Fix mesh memory use-after-free issue 2020-04-20 18:26:16 +08:00
lly
5c2e8930f9 ble_mesh: Add an API to directly erase mesh info 2020-04-20 18:26:16 +08:00
lly
f34f7bade6 ble_mesh: Add ble mesh deinit in btc task 2020-04-20 18:26:16 +08:00
lly
4790b63e2b ble_mesh: Free beacon timer when deinit mesh 2020-04-20 18:26:16 +08:00
lly
407b9b0a68 ble_mesh: Use lock for mesh timer operations 2020-04-20 18:26:16 +08:00
lly
bad97eb1f9 ble_mesh: Add an API to get Provisioner node table entry 2020-04-20 18:26:16 +08:00
lly
b6bcdad3db ble_mesh: Provisioner supports receiving heartbeat 2020-04-20 18:26:16 +08:00
lly
b6cb812499 ble_mesh: Allow maximum 377 octets payload 2020-04-20 18:26:16 +08:00
lly
f41b9d6d64 ble_mesh: Reset transport info when node is removed 2020-04-20 18:26:16 +08:00
lly
576dcffec1 ble_mesh: Provisioner ignores msg from removed node 2020-04-20 18:26:15 +08:00
lly
8a7c8b2d60 ble_mesh: Provisioner supports multiple nvs namespaces 2020-04-20 18:26:15 +08:00
lly
a58c272b8c ble_mesh: Different vendor models use the same opcode 2020-04-20 18:26:15 +08:00
lly
dfbdddecc1 ble_mesh: Fix compile error with c++ files 2020-04-20 18:26:15 +08:00
lly
46a23d9f8a ble_mesh: Kconfig included a UTF-8 comma 2020-04-20 18:26:15 +08:00
lly
36918e179c ble_mesh: Miscellaneous modifications
1. Add an API to get provisioned node count
2. Update several ble mesh documents
3. Fix some bugs which have been merged
2020-04-20 18:26:15 +08:00
lly
3d49e49210 ble_mesh: Fix an issue which may cause task block 2020-04-20 18:26:15 +08:00
lly
5f04a02bb1 ble_mesh: Miscellaneous updates
1. Use PSRAM for BLE Mesh mutex, queue and task
2. Add a parameter for esp_ble_mesh_deinit()
3. Add a option to enable using memory from PSRAM
4. Provisioner use internal static oob length
5. Update ble mesh tx rx test examples
6. Clear ble coexistence status bit by bit
7. Fix an issue which fails to store comp data
2020-04-20 18:26:15 +08:00
lly
3b935e3fad ble_mesh: Miscellaneous modifications
1. Add local AppKey and NetKey update APIs
2. NULL can be input if message has no parameters
3. Fix compile warning when BT log is disabled
4. Initilize mesh stack local variables
5. Use the latest coexist functions
2020-04-20 18:26:15 +08:00
lly
c4b21e9d47 ble_mesh: Add several APIs for Provisioner
1. Add an API to get node with device uuid
2. Add an API to get node with unicast address
3. Add an API to delete node with device uuid
4. Add an API to delete node with unicast address
2020-04-20 18:26:15 +08:00
lly
cb2cb8fea7 ble_mesh: Add an API to get node info with unicast addr 2020-04-20 18:26:15 +08:00
lly
787ee04a5d ble_mesh: Clean up included header files 2020-04-20 18:26:14 +08:00
lly
db3fa3a100 ble_mesh: Miscellaneous updates
1. Store node name in nvs when Provisioner sets node name
2. Add an API to store node composition data
3. Update lightness last when lightness actual is changed
4. Add ble mesh english/chinese documents
5. Update ble mesh tx/rx test example
6. Add params to provisioner bind appkey comp event
7. Fix node ignoring relay messages issue
8. Fix PreviousAddress endianess in Friend Request
9. Support using a specific partition for ble mesh
10. Fix compile warning when proxy related macros are disabled
11. Not using internal macros in esp_ble_mesh_defs.h
12. No device address needed when PB-ADV is used
2020-04-20 18:26:14 +08:00
lly
3222dfef0e ble_mesh: Miscellaneous modifications
1. Deinit unprov_dev table and fast prov info
2. Fix an issue which may cause failing to send msg
3. Add deinit test into the coex_a2dp_mini example
4. Add an API esp_ble_mesh_provisioner_set_primary_elem_addr
5. Use bt_mesh.flags to indicate device role
6. Fix Provisioner entering IV Update procedure
7. Remove some useless macros
8. Callback rssi of received mesh provisioning packets
9. Modify the Provisioner disable function
10. Provisioner can provision devices with fixed addresses
11. Change some log level from debug to info
12. Add an API for Provisioner to get provisioned node info
2020-04-20 18:26:14 +08:00
lly
d33caa02c8 ble_mesh: Add ble mesh deinit functions 2020-04-20 18:26:14 +08:00
lly
5ef656af35 ble_mesh: Miscellaneous fixes
1. Add buf ref debug in adv_send
2. Use different locks for different items
3. Remove useless CONFIG_BLE_MESH_NODE
4. Modify lock used during provisioning
5. Add lock for message transport
6. Fix memory leak when node is reset
7. Remove static flag in provisioner init
8. Fix Provisioner lock and init issues
9. Rename some Provisioner related functions
10. Add an API to set Provisioner static oob value
2020-04-20 18:26:14 +08:00
lly
5a9a5bed56 ble_mesh: Remove useless implementation in transport.c 2020-04-20 18:26:14 +08:00
lly
f1c222f254 ble_mesh: Fix compile error when using release optimization level 2020-04-20 18:26:14 +08:00
lly
11739fd459 ble_mesh: Add ESP BLE Mesh implementation 2020-04-20 18:26:14 +08:00
baohongde
a172605af4 components/bt: using high level interrupt in lc 2020-04-17 23:16:59 +08:00
baohongde
f490b4ddfe hli: don't spill registers, instead save them to a separate region
Level 4 interrupt has a chance of preempting a window overflow or

underflow exception. Therefore it is not possible to use standard
context save functions, as the SP on entry to Level 4 interrupt may
be invalid (e.g. in WindowUnderflow4).
Instead, mask window overflows and save the entire general purpose
register file, plus some of the special registers. Then clear
WindowStart, allowing the C handler to execute without spilling the
old windows. On exit from the interrupt handler, do everything
    in reverse.
2020-04-17 23:09:50 +08:00
baohongde
712df748da hli_api: meta queue: fix out of bounds access, check for overflow 2020-04-17 23:09:26 +08:00
baohongde
918472f641 Feature: high level interrupt(5) 2020-04-17 23:09:04 +08:00
baohongde
a7a20f2e17 components/bt: Fix a bug that when frame program disable because of 'parity change has been detected on the slave ACL link at slave synchronization algorithm', while now is handling 'the last programmed frame' that cause no acl resched was called after that. 2020-04-17 22:43:45 +08:00
xiewenxiang
7941e591d3 component/bt: fix don't dequeue the command queue after process the read_by_type_req(backport v3.3) 2020-04-17 22:38:16 +08:00
gengyuchao
09c895f0f9 Close L2CAP_WAKE_PARKED_LINK temporary because it may still have some bugs 2020-04-17 22:17:06 +08:00
baohongde
48e6aa916a Fix assert in ld_pscan.c line 1032 2020-04-17 22:16:42 +08:00
gengyuchao
67f1cedbed change btu queue size from 50 to 200 2020-04-17 21:59:29 +08:00
baohongde
0b76a8547f bugfix that when slave initiates unsniff procedure and meet transaction collision, no mode_change_event is reported
Add interrupt protect fpr vhci_env_p->vhci_intr_st
2020-04-17 21:58:45 +08:00
baohongde
92e111eb56 components/bt: Fix int wdt due to disable interrupt too long time 2020-04-17 21:45:20 +08:00
baohongde
7cc89bf83a components/coex: Fix wakeup delay with DFS 2020-04-17 21:40:43 +08:00
baohongde
e1a33408c4 components/coex: Fix coex AFH taskposting err 2020-04-17 21:31:53 +08:00
baohongde
1102d2b1d2 components/bt: Fix conn fail in loop 2020-03-13 13:36:23 +08:00
baohongde
a94ec95d6b components/bt: Disable check due to double isr 2020-03-11 23:26:01 +08:00
baohongde
5eee07f944 components/coex: Set AFH in btdm task when wifi change channel 2020-03-11 14:32:06 +08:00
baohongde
e75cf5d44e Fix some bugs due to interrupt response not timely
1. Fix assert in ld_fm.c line 371 due to double clk isr
2. Fix assert(25, 0) in lc_task.c
3. Fix assert due to different rxlinklbl
4. Fix assert due to different of currentrxdescptr and rxdone is not 0
2020-03-10 20:52:27 +08:00
baohongde
b81de503cd components/bt: disable some frequent logs 2020-03-06 17:00:01 +08:00
baohongde
c38d6a1dc5 components/bt: Fix assert(512,0) 2020-03-06 16:29:28 +08:00
wangmengyang
22b196c4bd component/bt: enable more trace loggings in bluetooth controller
1. add more debugging for issue assertion in ld_sscan.c, line 146
2. modify debug logging level for bluetooth controller, from ERROR to WRANING
2020-03-06 11:27:28 +08:00
baohongde
3d59dd404a Fix no free elt in prog push
ea.c ea_elt_insert will disable all interrupts then get calue of current time
2020-03-03 22:15:36 +08:00
zwj
e479b79462 component/bt: fix ble assert(131072 0) in rwble.c 2020-03-03 21:27:28 +08:00
baohongde
8e6a52008c components/bt: change HCI task size back 2020-02-27 15:04:18 +08:00
baohongde
afb96542dd components/coex: Fix a2dp stuck after creating another connection 2020-02-19 14:49:14 +08:00
baohongde
125e21c3e0 add auto latency to avoid bt stuck when ble connection use small
interval

1. Fix A2DP stuck when BLE's interval is too small
2020-02-19 14:48:58 +08:00
baohongde
1a82857251 components/coex: Fix task watchdog timeout with sleep 2020-01-17 17:42:09 +08:00
baohongde
818ea3e3ce components/coex: backports for coex schm
1. support 40M Wi-Fi when calculate AFH

2. Calculate channel classification according to Host and coex

3. Set BR/EDR/LE coex schm status in controller

4. Only set AFH for BT when WiFi is connected

5. Fix a potential dead lock issue when set AFH

6. Fix WiFi connecting coex schm issue due to periodic timer

7. Complete BT a2dp pause coex schm

8. Increase BT slice when BT a2dp pause in order to receive AVRC event

9. Add more coex schm for BT/BLE
2020-01-14 20:17:46 +08:00
baohongde
be10cc6251 Revert "components/bt: Add API and EVT for set AFH channels(BR/EDR)"
This reverts commit 3b704d2f3a.
2020-01-14 16:05:36 +08:00
baohongde
1a0d6699be components/coex: Fix crash after interrupt restore 2020-01-07 20:05:57 +08:00
baohongde
0d31937a7d components/coex: Fix dead lock 2019-12-28 16:59:44 +08:00
baohongde
04e4f6fbf1 components/coex: Fix cache disable 2019-12-28 12:35:45 +08:00
baohongde
ea6033f0dc components/coex: Set BT AFH when Wi-Fi channel changed 2019-12-27 17:48:36 +08:00
baohongde
c8e5433da3 Add A2DP paused state into schm 2019-12-24 22:11:14 +08:00
baohongde
99951fbcf8 support coex scheme
1. add bugfix of ble and add api to set max adv delay time
2. open full scan and change adv interval check in bluedroid
2019-12-16 15:25:38 +08:00
baohongde
3b704d2f3a components/bt: Add API and EVT for set AFH channels(BR/EDR) 2019-12-16 15:21:20 +08:00
Jiang Jiang Jian
faf96bd108 Merge branch 'bugfix/btdm_run_out_of_frame_element_v3.3' into 'release/v3.3'
components/bt: Fix assert due to no free element form

See merge request espressif/esp-idf!6701
2019-11-27 22:22:33 +08:00
Jiang Jiang Jian
51a49a861a Merge branch 'bugfix/btdm_assert_deinit_a2dp_while_playing_v3.3' into 'release/v3.3'
components/bt: Fix assert when deinit A2DP while playing music

See merge request espressif/esp-idf!6535
2019-11-14 20:12:31 +08:00
baohongde
0f7dc2ec02 components/bt: Fix assert due to no free element form 2019-11-14 15:51:39 +08:00
Xia Xiaotian
9592346090 Coexist: fix some coexist bugs
1. Fix high beacon and broadcast packets loss ratio of WiFi to make
   MDNS test pass.
2. Improve stability of WiFi performance with a little
   sacrifice of throughput.
3. Improve BLE advertising and connection performance with dynamic
   priority. It sacrifices a little WiFi throughput, but achieves balance
   between WiFi and Bluetooth.
4. fix bug bb reset lock flag to avoid bb reset lock unhandle
5. fix bug wifi reset mac cause task watch dog timeout
6. fix bug wifi reset mac position
2019-10-29 17:18:12 +00:00
Jiang Jiang Jian
1dd8411e04 Merge branch 'bugfix/coex_semaphore_take_in_isr_lock_v3.3' into 'release/v3.3'
fix bug that semaphore may schedule out in ISR locking (v3.3)

See merge request espressif/esp-idf!6427
2019-10-30 00:49:42 +08:00
Jiang Jiang Jian
e6a71fe29c Merge branch 'bugfix/btdm_disable_bt_gatt_v3.3' into 'release/v3.3'
components/bt: Disable BR/EDR GATT

See merge request espressif/esp-idf!6506
2019-10-30 00:48:14 +08:00
baohongde
c570e253fe components/bt: Fix assert when deinit A2DP while playing music 2019-10-29 20:04:15 +08:00
wangmengyang
3a5249aea9 bugfix that call of esp_a2d_media_ctrl(ESP_A2D_MEDIA_CTRL_SUSPEND) will not get an ACK from callback on A2DP sink 2019-10-29 10:14:19 +00:00
baohongde
28c19e623f components/bt: Disable BR/EDR GATT 2019-10-29 10:10:52 +00:00
Tian Hao
cabe66195c fix bug that semaphore may schedule out in Critical Section
1. Since BLE full-scan feature for BLE mesh change the controller code cause this problem,
it cause coex semaphore take in "interrupt disable", then it may cause task schedule
and cause crash in freertos
2. Fix newlib lock ISR context and critical section check
3. Fix bt controller ISR context and critical section check
2019-10-29 14:43:00 +08:00
Prasad Alatkar
3545b58986 NimBLE: Port NimBLE stack to IDF Release v3.3 (Backport v3.3)
Includes all the latest NimBLE stack changes from idf-v4.0 with few idf-v3.3
specific modifications.
- Addition of nimble component as submodule (`nimble-1.1.0-idf-v3.3`), contains
  IDF v3.3 specific minor changes.
- Example applications are identical to idf-v4.0
- Modification in `bt/Kconfig` to accommodate NimBLE as a BT host.
2019-10-18 13:23:24 +08:00
Jiang Jiang Jian
46b12a560a Merge branch 'bugfix/btdm_backports_v3.3_0903' into 'release/v3.3'
Bugfix/btdm backports v3.3 0903

See merge request espressif/esp-idf!5983
2019-09-29 16:19:22 +08:00
Prasad Alatkar
9c87165bc8 BT/Bluedroid : Add support to set min encryption key requirement (Backport v3.3)
- Backport(v3.3) of IDF MR!6122
- Modifies `smp_utils.c` to add check on encryption key size received from
  peer.
- Modifies `esp_ble_gap_set_security_param` API to add minimum encryption key
  size requirement.
2019-09-29 16:06:27 +08:00
baohongde
285925a43b components:bt: backports release/v3.3 0903
Remove xtensa/xruntime.h
Fix sending Lmp_feature_req_ext in a loop
Fix 2 bugs in r_ld_fm_sket_isr
fix data loss and send same pkt twice sometimes
fix adv data error in air sometimes
fix adv start/stop crash sometimes
Fix connect fail with some speakers
clear BT/BLE interruots after controller disable
add sco_data_path to be set in sdkconfig and do not reset the value upon HCI reset command
2019-09-23 18:02:28 +08:00
wangmengyang
9e51598ee7 component/bt: fix some performance issues in A2DP source data flow control
1. modify the limit of frames to send to avoid dropping packet on A2DP source due to TX data queue overflow
2. reduce the A2DP source data queue size in order to achieve faster control respnonse
2019-09-20 11:52:46 +00:00
Jiang Jiang Jian
39ac9cb44b Merge branch 'bugfix/btdm_fix_hci_enhance_conn_complete_evt_unpack_error_v3.3' into 'release/v3.3'
component/bt: fix unpack hci enhance connection complete event error(backport v3.3)

See merge request espressif/esp-idf!5281
2019-09-08 23:11:18 +08:00
Jiang Jiang Jian
38e2d3bec6 Merge branch 'bugfix/btdm_mem_leak_v3.3' into 'release/v3.3'
components/bt: Fix memory leak about rfcomm

See merge request espressif/esp-idf!5622
2019-09-08 23:09:24 +08:00
wangmengyang
0ce9d2662d add missing source files to CMakeLists for HFP 2019-09-03 11:51:16 +08:00
wangmengyang
3becdd7850 components/bt: set the minimum encryption key size to be 7 octects for BR/EDR link for preventing KNOB attack
This patch is to address the CVE-2019-9506 vulnerability.
2019-08-28 08:13:30 +00:00
Tian Hao
3ca82d5923 bugfix btdm sleep twice after wakeup request
This problem may cause HCI send command timeout.

When host call VHCI api to do btdm_wakeup_request, then controller
wakeup process will be handled in ISR and controller task context.
As host task priority is lower than controller task and ISR,
it will cause an incorrect behavior that before VHCI take the
rx_flow_on_semaphore, controller sleep again, then VHCI cannot take
the semaphore and has to wait the automatic wakeup.
2019-07-27 18:07:20 +08:00
baohongde
b9f2531e8c components/bt: Fix memory leak about rfcomm 2019-07-25 16:51:40 +08:00
zhiweijian
62e359a4e1 component/bt: fix rxwinsz assert in ble and wifi coex 2019-07-04 20:12:04 +08:00
zhiweijian
0e022b7db9 component/bt: fix unpack hci enhance connection complete event error 2019-06-24 03:23:59 +00:00
Jiang Jiang Jian
f60acb2196 Merge branch 'feature/btdm_add_ble_link_timeout_config_v3.3' into 'release/v3.3'
Component/bt: add ble link timeout config in menuconfig(backport v3.3)

See merge request idf/esp-idf!4825
2019-06-19 14:47:31 +08:00
baohongde
2ee0f98d05 components/bt: Fix assert due to alloc LMP TX buffer failed 2019-06-12 19:49:28 +08:00
baohongde
39dbe7daa8 components/bt: Fix abort if call esp_spp_deinit without calling esp_spp_init 2019-04-24 11:30:04 +08:00
zhiweijian
3295ed0995 Component/bt: add ble link timeout config in menuconfig
- add ble link timeout config in menuconfig
- disable background connection when call gatts_open
2019-04-22 21:49:59 +08:00
zhiweijian
b8a2b77f70 component/bt: fix memory leak when settig tx power 2019-04-14 06:25:53 +00:00
Jiang Jiang Jian
a218d4b925 Merge branch 'bugfix/btdm_fix_warning_when_disable_logs_v3.3' into 'release/v3.3'
components/bt: Fix warning when disable debug logs or in release mode and improve the code structure

See merge request idf/esp-idf!4619
2019-04-04 18:45:31 +08:00
baohongde
bbfe9f4efa components/bt: Fix disconnect with apple device(backport 3.3)
1. Fix disconnect with apple device
        2. Fix hci_refresh_enc_key_cmd will be ignored
        3. Fix hci_refresh_enc_key_cmd will crash
2019-04-03 17:24:52 +08:00
Jiang Jiang Jian
f03382b0ff Merge branch 'feature/btdm_add_mesh_adv_type_and_srv_uuid_for_dup_scan_except_v3.3' into 'release/v3.3'
Component/bt: add mesh beacon adv and svc uuid for duplicate scan exceptional list (backport v3.3)

See merge request idf/esp-idf!4605
2019-04-01 21:49:29 +08:00
zhiweijian
826146e985 Component/bt: add mesh beacon adv and svc uuid for duplicate scan exceptional list 2019-03-28 11:13:30 +08:00
baohongde
dca83700f2 components/bt: Fix warning when disable debug logs or in release mode and improve the code structure 2019-03-26 14:46:36 +08:00
zhiweijian
88fe438524 Component/bt: modify HCI_GET_CMD_BUF 2019-03-22 14:59:11 +08:00
Jiang Jiang Jian
6505f82a80 Merge branch 'bugfix/btdm_fix_no_adv_report_when_scaning_with_sleep_enable_v3.3' into 'release/v3.3'
Component/bt: fix no adv report when scaning with sleep enable (backport v3.3)

See merge request idf/esp-idf!4536
2019-03-20 21:40:28 +08:00