Commit graph

141 commits

Author SHA1 Message Date
Tim Cook 2b24177d2b n btm_sec_save_le_key() set BTM_SEC_LE_LINK_KEY_KNOWN (and BTM_SEC_LE_LINK_KEY_AUTHED if MITM was used) when process a local Long Term Key (key type BTM_LE_KEY_LENC). This is because these flags share bits with the BTM_SEC_FLAG_LKEY_KNOWN (and BTM_SEC_FLAG_LKEY_AUTHED) flag in btm_api.h. Without this code a link that is encrypted via SM pairing where only the local device exchanges the LTK (peer does not send its LTK) will not allow GATT operations that require encryption (request will be incorrectly rejected with insufficient authentication reason, regardless of if MITM is required).
Merges https://github.com/espressif/esp-idf/pull/1320
2018-01-03 14:14:24 +11:00
baohongde e55b5433aa component/bt: Fix bug when add device to whitelist twice 2018-01-02 17:20:34 +08:00
Jiang Jiang Jian 7d0d2854d3 Merge branch 'bugfix/btdm_error_when_white_list_is_full' into 'master'
component/bt: Fix bug of adding device to white list has no callback when while list is full

See merge request !1689
2017-12-27 18:03:38 +08:00
Jiang Jiang Jian d31b654f3f Merge branch 'bugfix/btdm_fix_memory_leak_for_SMP' into 'master'
component/bt: fix memory leak in SMP

See merge request !1690
2017-12-27 11:43:18 +08:00
baohongde f5f8dda8a2 component/bt: Fix bug of adding device to white list has no callback when while list is full 2017-12-25 17:45:12 +08:00
zhiweijian 763406b4cc Component/bt: fix memory leak in SMP 2017-12-20 10:30:31 +08:00
Jiang Jiang Jian 04e1195f41 Merge branch 'bugfix/btdm_send_data_length_req_after_read_feature_complete' into 'master'
component/bt: send data length request by host after read feature complete

See merge request !1639
2017-12-19 20:18:50 +08:00
Yulong 967ff895e7 component/bt: Optimized broadcast callback function, send the callback function to the application after the controller confirms receipt of the broadcast start.
1. optimiz the ble stop adv callback function.
2. added the osi_mutex_unlock in the bta_gattc_wait4_service_change_ccc_cback function when the p_timer_param == NULL ||  p_conn == NULL.
2017-12-15 18:16:23 +08:00
zhiweijian 6b6e0410f8 Component/bt: send data length request by host after read feature complete 2017-12-12 18:28:59 +08:00
Yulong 177c92f15e component/bt: Change the code format. 2017-11-23 06:42:04 -05:00
Yulong 2458d15d2d component/bt: recovery the scan parameter to the controller before start scan. 2017-11-23 06:36:00 -05:00
Yulong f14699068d component/bt: Fixed the bug when stop scan if not set back the scan params will lead to connection request sent the empty packet to the peer device. 2017-11-23 03:54:29 -05:00
Jiang Jiang Jian 1de3fc4a2c Merge branch 'bugfix/btdm_master_dont_send_pair_req_#13686' into 'master'
component/bt: Fix the bug of master don't send pair request to the slave when the sec_act set to the value of ESP_BLE_SEC_ENCRYPT.

See merge request !1376
2017-11-02 15:49:27 +08:00
island 4e7de126dc component/bt: Fix scan problem of bonded device using public address 2017-10-25 11:52:03 +08:00
yulong a9a423a025 component/bt: Added the sec_act != BTM_BLE_SEC_ENCRYPT check in the btm_ble_set_encryption function when the sec_act is BTM_BLE_SEC_ENCRYPT_NO_MITM or BTM_BLE_SEC_ENCRYPT_MITM. 2017-10-23 15:12:36 +08:00
Yulong da32fbce7a component/bt: Fix the bug of can't pair if master send pair req but slave don't send sec req. 2017-10-23 15:12:36 +08:00
Jiang Jiang Jian 244e947beb Merge branch 'bugfix/btdm_fix_add_whitelist_failed' into 'master'
Component/bt: fix add whitelist failed

See merge request !1326
2017-10-12 19:01:01 +08:00
zhiweijian cd3d9715bb Component/bt: fix add whitelist failed
- fix add whitelist failed
- add add whitelist callback func
2017-10-11 15:30:09 +08:00
zhiweijian c75da555af Component/bt: fix set scan params and start scan action 2017-09-30 17:01:57 +08:00
Yulong 8925a90d40 squash again
squash the commit.
component/bt:Added the update_white_list & set_prefer_conn_params API to the bt project.

component/bt: Added the get white list size API & delete the read adv tx power API.

component/bt: Change the esp_gap_ble_api.h esp_ble_gap_set_prefer_conn_params API docs.

changed btm_find_dev to btm_find_or_alloc_dev

component/bt: Change the rssi API deep copy method.

component/bt: Change the code as comment in the gitlab.

squash the commit.
component/bt:Added the update_white_list & set_prefer_conn_params API to the bt project.

component/bt: Added the get white list size API & delete the read adv tx power API.

component/bt: Change the esp_gap_ble_api.h esp_ble_gap_set_prefer_conn_params API docs.

changed btm_find_dev to btm_find_or_alloc_dev

component/bt: Change the rssi API deep copy method.

component/bt: Change the code as comment in the gitlab.

component/bt: change the ESP_BLE_CONN_PARAM_UNDEF redefinition error.

component/bt: Change the ESP_BLE_IS_VALID_PARAM function with the compile error.
2017-09-18 05:39:26 -04:00
Yulong 875ba996d5 component/bt: fix the bug when close the SMP module in the menuconfig will lead to compile error. 2017-09-15 10:32:28 +08:00
Jiang Jiang Jian 574daad1c4 Merge branch 'feature/btdm_update_to_bluedroid7.1_l2cap' into 'master'
component/bt: Added the new feature of the l2cap layer from the bluedroid new version 7.1.1

See merge request !1087
2017-09-13 20:39:38 +08:00
Tian Hao 00a7cdbb0b component/bt : support adv & scan simultaneously
1. Occupy conn[9] for adv. The max connection number of bluetooth controller decrease to 9. (Previously, it is 10)
2. modify the enum of setting BLE TX power corresponding to connection's.
3. fix libbtdm_app.a cwitch jump table
2017-09-12 16:10:30 +08:00
Yulong 371c55138e component/bt: Added the new feature of the l2cap layer from the bluedroid new version 7.1.1 2017-09-06 04:25:57 -04:00
zhiweijian 1a9b02ccbc component/bt: fix connection parameters update
- update connection parameters timeout due to master update illegal connection parameters
- slave returns error status when slave check the connection parameters
- slave connection parameters update callback get that interval_max is equal to interval_min
2017-08-30 11:29:25 +08:00
Jiang Jiang Jian 258480822b Merge branch 'bugfix/btdm_config_local_privacy_func' into 'master'
component/bt: bugfix config local privacy

See merge request !1137
2017-08-24 10:48:57 +08:00
zhiweijian 19bf8cef1f Component/bt: bugifx config local privacy 2017-08-23 17:42:38 +08:00
Tian Hao e4f63819a1 component/bt : remove all GKI reference
1. remove GKI(not use osi_free_and_reset)
2. modify mutex/semaphore to individual directory
3. set osi_malloc as malloc(previously use calloc)
4. change osi allocator debug osi_free
5. fix rebase of remove GKI
2017-08-23 15:29:30 +08:00
zhiweijian fc05851b05 Component/bt: add set local privacy func callback 2017-07-26 17:29:10 +08:00
zhiweijian eec989f026 Component /bt: modify some log infor 2017-06-21 10:54:51 +08:00
Jiang Jiang Jian e045253883 Merge branch 'bugfix/btdm_conn_enhanecd_issue' into 'master'
component/bt: added the temp enhanced to solve the conn_interval not collect issues.

See merge request !881
2017-06-16 13:18:41 +08:00
Yulong 1739216787 component/bt: added the temp enhanced to solve the conn_interval not collect issues. 2017-06-15 10:15:49 -04:00
Jiang Jiang Jian fd12a6c706 Merge branch 'bugfix/btdm_add_set_pkt_data_length_evt_cback' into 'master'
component / bt: add set pkt data length event callback

See merge request !869
2017-06-15 19:51:22 +08:00
zhiweijian 58b65291d9 component / bt: add set pkt data length event callback 2017-06-15 16:02:03 +08:00
Jiang Jiang Jian ac5040a7c2 Merge branch 'bugfix/btdm_ll_get_remote_feature' into 'master'
component/bt: Fix can't get remote's feature bug

See merge request !871
2017-06-15 15:10:52 +08:00
Yulong 83b7144207 component/bt: Added the lmp_verion default value to 4.0. 2017-06-15 02:13:31 -04:00
island e2e5f4caae component/bt: Fix can't get remote's feature bug
- Slave send version_ind cause some Android 7.0 devices can't encrypt correctly
2017-06-14 21:56:59 +08:00
Yulong a03e5f95be component/bt: Added the judgment to check the address is public or not. 2017-06-14 09:01:29 -04:00
island c5debed621 component/bt: Fix bug while writing slave's service change characteristic
- Fix slave initiate service discovery procedure
- Fix master re-discovery every time connection established
- Optimize service discovery char ccc write procedure
- Optimize esp_log_buffer function
- Modify default supervision timeout from 20s to 2s
2017-06-14 13:12:38 +08:00
Jiang Jiang Jian 82b8b1db1f Merge branch 'bugfix/bt_ble_separation' into 'master'
component/bt: fix the build error when using classic BT, with GATTC, GATTS and SMP disabled

See merge request !822
2017-06-06 20:56:05 +08:00
wangmengyang ca4506fba9 component/bt: fix the build error when using classic BT, with GATTC, GATTS and SMP disabled 2017-06-05 21:01:58 +08:00
Yulong a42bf640bc component/bt: Change the duration type from UINT8 to UINT32 2017-06-03 01:00:10 -04:00
Jiang Jiang Jian b5e2bcbb2c Merge branch 'bugfix/ble_add_adv_state_bug_#12301' into 'master'
component/bt: Fix the bug that sometimes received a ble connection & the adv wil…

…l stop, can not send adv again.

See merge request !759
2017-05-18 15:03:41 +08:00
Yulong d13c083397 component/bt:fix the bug of uild error if switch off BLE GATTS. Bug number is #12659. 2017-05-17 07:17:22 -04:00
Yulong e797cd03f0 component/bt: Fix the bug that sometimes received a ble connection & the adv will stop, can not send adv again. 2017-05-16 03:10:16 -04:00
island da67773b02 component/bt: fix adv stop event bug and add attribute table create
error

- Fix bug that advertising stop event produced while calling start_adv function
- Modify gatt server adv data and scan rsp data raw setting
- add create attribute table error msg
- Delete redundant printf in previous commits
2017-05-08 15:44:36 +08:00
Yulong 834d980e39 compoent/bt:Fixed the BT/BLE statck bug from bluedroid7.1.1 2017-04-28 05:31:57 -04:00
Jiang Jiang Jian 0759897bfb Merge branch 'bugfix/btdm_gattc_adv_bug' into 'master'
component/bt: Fix memory leakage, connection fail bugs

- Fix memory leakage while deregisting gatt app
- Fix Android connection failed problem
- Fix service_uuid_len error in adv data

See merge request !706
2017-04-27 21:13:16 +08:00
Yulong c31953a005 component/bt:Fixted the bug of HCI comment timeout error.
1. remove the SMP_INCLUDED == TRUE insite the btm_find_dev_by_handle function.
2. change the Kconfig with BT_ACL_CONNECTIONS
2017-04-26 04:23:45 -04:00
island a3717515a2 component/bt: Fix memory leakage, connection fail bugs
- Fix memory leakage while deregisting gatt app
- Fix Android connection failed problem
- Fix service_uuid_len error in adv data
2017-04-26 16:07:56 +08:00
Yulong 5544f98add component/bt:separate the SMP, GATT module set the macro output the function.
1. close classic bt, can save 233k code size;
2. close smp module, can save 136k code size;
3. close gattc module, can save 24k code size;
4. close gatts module, can save 16k code size;
4. close the bluedroid stack log, can save 120k code size.
2017-04-25 04:55:29 -04:00
Yulong 45999b69d6 component/bt: Set the style to the same, output the macro in the function.
1.After the separate, can save 15k~25k ram & 240k~460k code size(depending on the menuconfig).
2017-04-24 23:46:37 -04:00
Yulong b5989a6b26 component/bt:Recovery the btm_establish_continue when created the acl connection 2017-04-21 02:43:35 -04:00
Yulong bc807a18d1 component/bt:Finish all the separate code from BT & BLE 2017-04-20 07:18:05 -04:00
Yulong 0ddadc98a3 separate the btm layer from SMP security 2017-04-19 03:44:01 -04:00
Yulong 22ccf6c368 component/bt:rebase the BT_BLE_separate to the new master 2017-04-17 22:53:43 -04:00
Yulong c6a516f122 component/bt:move the btdm_rebase_ssp_api branch to this branch 2017-04-13 10:14:28 -04:00
Jiang Jiang Jian 6ace4f6fa4 Merge branch 'feature/btdm_avrc' into 'master'
Feature/btdm avrc

The source branch "feature/btdm_avrc" includes classic Bluetooth profiles A2DP(sink role) and AVRCP(controller role); 
Menuconfig options to control whether to enable classic BT is added.

See merge request !591
2017-04-13 14:36:58 +08:00
wangmengyang b503d68045 component/bt: implement classic Bluetooth profiles A2DP(sink) and AVRCP(controller) 2017-04-12 16:42:14 +08:00
island a4f3312d9d bt component: optimize scan feature
1. Add advertising data length and scan response length in scan result
2. Add scan continuously feature
3. Fix non connectable adv topology error
4. Increase BTC queue size
2017-04-11 14:20:20 +08:00
Tian Hao b582697889 component/bt : add adv/scan start complete event
1. indicate adv/scan start complete success or failed
2. controller do limit of adv/scan concurrence, so add some codes to report adv/scan start failed or not.
2017-02-23 17:54:22 +08:00
Tian Hao 0073ff3acd component/bt : add api to set raw adv_data/scan_rsp_data
1. add api to set raw scan response data
2. add api to set raw scan response data
3. update doxygen
4. add menuconfig to config gatt server demo
2017-01-19 17:36:40 +08:00
Tian Hao 1895460406 component/bt : fix adv stop bug 2017-01-12 16:29:07 +08:00
Tian Hao d242251295 component/bt : fix advertising bug
1. low duty can not be set bug
2. adv type can not be effective bug
2016-12-15 14:33:09 +08:00
Tian Hao 7ae7a56457 component/bt : fix the bug of deinit/disable
1. fix the exception of deinit/disable
2. debug mem leak of deinit, fix some memleak, but still something wrong.
3. debug men leak of disable.
4. add bluedroid memory debug
2016-12-14 22:10:21 +08:00
Tian Hao 5933ebc6b6 component/bt : cleanup all the "-W-no-xx" and all the warnings
1. cleanup the warnings.
2. fix the some function called in gap
3. fix some code in btc_main
2016-12-07 13:49:53 -08:00
Tian Hao 281a9c2761 component/bt : fix a code bug 2016-12-01 12:14:57 +08:00
Tian Hao ff8ce12787 component/bt : cleanup the spell && redundant 2016-11-28 14:58:30 +08:00
Tian Hao ac87ddfb05 component/bt : close sdp to free dram
1. free 15K
2016-11-25 15:54:18 +08:00
Tian Hao 19273c7b2d component/bt : run astyle handle the code files 2016-11-25 02:10:15 +08:00
Tian Hao db007fbb2e component/bt : clean up the demos
1. cleanup gatt client demo
2. cleanup gatt server demo
3. cleanup blufi demo
4. use correct log level
2016-11-22 20:32:45 +08:00
Tian Hao 190b6d629b component/bt : Config for choose printf
1. add print or ets_print
2. as print format error, add -Wno-error=format
2016-11-22 18:19:55 +08:00
Yulong a76b65ed95 compnent bt:debug the btc_gattc received data error issues. 2016-11-19 08:00:08 -05:00
Yulong 2f7288ff03 component bt:debug the scan result and add the resove adv data method to the gapapi 2016-11-18 03:43:51 -05:00
Tian Hao aafaebefb4 component/bt : move blufi to new architecture btc task
1. move blufi to new architecture
2. delete some log trace
2016-11-16 22:11:59 +08:00
Tian Hao acda125e8b Merge branch 'feature/btdm_prf_task' into feature/btdm_bluedroid
# Conflicts:
#	components/bt/bluedroid/profiles/core/bt_prf_sys_main.c
#	components/bt/bluedroid/profiles/core/bt_prf_task.c
#	components/bt/bluedroid/profiles/core/include/bt_prf_sys.h
#	components/bt/bluedroid/profiles/core/include/bt_prf_task.h
#	components/bt/bluedroid/profiles/esp/include/wx_airsync_prf.h
#	components/bt/bluedroid/profiles/esp/wechat_AirSync/wx_airsync_prf.c
#	components/bt/bluedroid/stack/btm/btm_sec.c
2016-11-04 19:32:47 +08:00
Yulong bc604d14ff component bt: Change the battery function to the new API function 2016-11-02 06:14:02 -04:00
yulong 97c75a88ae component bt:Change the button profile function to the new API function 2016-11-02 02:05:30 -04:00
Tian Hao 66b31b89ac Merge branch 'feature/btdm_gap' into feature/btdm_bluedroid
# Conflicts:
#	examples/07_blufi/components/bluedroid_demos/app_project/SampleClientProject.c
#	examples/07_blufi/components/bluedroid_demos/app_project/SampleServerProject.c
#	examples/07_blufi/components/bluedroid_demos/include/bt_app_common.h
2016-11-01 14:19:38 +08:00
Tian Hao cb33e2a5ae Merge branch 'feature/btdm_blufi' into feature/btdm_bluedroid
# Conflicts:
#	components/bt/bluedroid/bta/dm/bta_dm_pm.c
#	components/bt/component.mk
#	examples/07_blufi/components/bluedroid_demos/app_core/bt_app_core.c
#	examples/07_blufi/components/bluedroid_demos/app_project/SampleServerProject.c
2016-11-01 14:01:49 +08:00
yulong d6db871068 component bt:Change the profile function method to new API 2016-10-28 01:54:42 -04:00
Tian Hao 45638b3f98 component/bt : use LOG_XXX instead of print 2016-10-26 15:57:40 +08:00
yulong 78d1fd5306 component bt:Added the BLE scan API to the bt project 2016-10-25 05:07:36 -04:00
wangmengyang be11f598bf component/bt: fix logging format for some source files of BTM module 2016-10-24 16:17:55 +08:00
yulong 94442708f5 component bt:added the advertising & scanning API to the bt project 2016-10-21 02:16:01 -04:00
yulong fcf664276f component bt:added the stop adverstising API to the BTA module 2016-10-19 01:55:14 -04:00
yulong 2182b69b3d component bt:added the button profile event & process method to the project 2016-10-18 05:22:36 -04:00
yulong 02ad223eea component bt: 1.modified the btu buffer size from 15 to 60;
2.change the smp method
2016-10-15 05:46:10 -04:00
yulong 849ba39544 commponent bt:add the wechat airsync profile to the project
1. add the wx_airsync_prf.h which have been define the sturcter data has been
used for the wechat airsync profile database
2. add the wx_airsync_prf.c file
3. add the app_airsync_md5.c file
4. add the app_airsync_prf.c
5. add epb.c file
6. add epb_mmbp.c
7. add mpbledemo2.c
8. add wechar_crc.c
9  add wechat_aes.c
10. add app_airsync_md5.h
11. add app_airsync_prf.h
12. add app_wechat_util.h
13. add epb.h
14. add epb_mmbp.h
15 add mpbledemo2.h
16 add wechar_crc.h
17 add wechat_aes.h
2016-10-11 05:43:36 -04:00
wangmengyang bde768f13c 1. Recover "future_t" model implementation using semaphore to allow for blocking function
2. Recover BTU task start-up/shut-down procedure according to original bluedroid implementation
2016-10-10 21:34:21 +08:00
Tian Hao b80325604d component/bt: add bluedroid 1st version
1. add bluedroid 1st version
2. alarm adapter
3. task semaphore lock
4. other bugs resolved
2016-09-26 21:37:39 +08:00