Added BD_ADDR comparison in l2cu_lcp_allocate and removed check from
security connection request handler as it's handled in l2cu_lcp_allocate
for both connection request and create connection.
There was no need for this function as there is already a way present to
fetch own mac address. Own mac addr can be fetched by calling
controller_get_interface().
components/bt: Do not use feature: timer support isr dispatch method
disable controller after wake up finished.
protect critical section of power down
choose clk in sleep
components/coex: mac bb power down in light sleep
components/coex: Macro changed
components/os: protect reserved interrupt number
update phy to phy_version 300,6e46ba7,Jan 25 2021
some bugfix
free osi_funcs struct memory duiring failure of controller_init when necessary
components/bt: use s_lp_stat.phy_enabled to control the on/off of phy module
clean up style for controller_disable
clean up some empty functions and unnecessary comments
Added async wakeup src "BTDM_ASYNC_WAKEUP_SRC_TMR"
remove use of assert in controller_init, set error code upon some exceptions
move stop esp_timer early to phase0, add state variable wakeup_timer_started
Refactor bluetooth hardware PowerUp/PowerDown functions
component/bt: fix use of a deprecated MACRO "CONFIG_ESP32_WIFI_SW_COEXIST_ENABLE"
component/bt: fix sleep wakeup in controller disable procedure
remove use of s_pm_lock_sem
1. Modified the waking up approach from async to sync: post a message to controller task upon vhci downstream packets or controller disable, and in response, controller task goes through the wake-up procedure
2. Added Controller status check for the esp_vhci APIs
3. Adjust the procedure during controller_init, check the validity of arguments first
Some minor modifications for bluetooth sleep control and configuration
1. use variable flag s_btdm_allow_light_sleep to control the use of s_light_sleep_pm_lock
2. use variable btdm_lpclk_sel to choose bluetooth sleep clock, support only for external 32kHz crystal temporarily
component/bt: improve async_wakeup function
1. check power state first and then decide if wakeup needs to be performed
2. change the meaning of the return value, if wakeup request is posted to controller task, then return true, otherwise return false
put sleep control logics in controller init/deinit/enable/disable together
Use s_lp_cntl struct: replace bool-typed variable sleep_backup_en with s_lp_cntl.mac_bb_pd
Use s_lp_cntl struct: replace bool-typed variable s_btdm_allow_light_sleep with s_lp_cntl.no_light_sleep
Use s_lp_cntl struct: replace global variable btdm_lpclk_sel with s_lp_cntl.lpclk_sel
create semaphore s_wakeup_req_sem only when low power mode is required
Use s_lp_cntl struct: use s_lp_cntl.wakeup_timer_required to control the wakeup timer
use s_lp_stat to replace original state variable sleep_backup_done and s_pm_lock_acquired
one minor change for mac_bb_pd settings init: return error status if memeory allocation failed
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
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.
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).
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