NimBLE: Add Host based privacy (RPA) feature support (v4.1)

- This feature removes dependency on controller to use privacy (RPA)

Closes BT-519
This commit is contained in:
Prasad Alatkar 2020-03-06 11:02:22 +08:00 committed by Anton Maklakov
parent a66955b36a
commit 48fe9dfce7
5 changed files with 19 additions and 3 deletions

View file

@ -480,6 +480,7 @@ if(CONFIG_BT_ENABLED)
"host/nimble/nimble/nimble/host/src/ble_hs_adv.c"
"host/nimble/nimble/nimble/host/src/ble_hs_hci.c"
"host/nimble/nimble/nimble/host/src/ble_hs_hci_util.c"
"host/nimble/nimble/nimble/host/src/ble_hs_resolv.c"
"host/nimble/nimble/nimble/host/store/ram/src/ble_store_ram.c"
"host/nimble/nimble/nimble/host/store/config/src/ble_store_config.c"
"host/nimble/nimble/nimble/host/store/config/src/ble_store_nvs.c"

View file

@ -257,6 +257,15 @@ config BT_NIMBLE_HS_FLOW_CTRL_TX_ON_DISCONNECT
Enable this option to send number-of-completed-packets event to
controller after disconnection
config BT_NIMBLE_RPA_TIMEOUT
int "RPA timeout in seconds"
range 1 41400
depends on BT_NIMBLE_ENABLED
default 900
help
Time interval between RPA address change. This is applicable in case of
Host based RPA
menuconfig BT_NIMBLE_MESH
bool "Enable BLE mesh functionality"
select BT_NIMBLE_SM_SC

@ -1 +1 @@
Subproject commit d60a322f54cdad95f842b9fabb026615745da1a3
Subproject commit e4e2b501410bf60d2f09e62bfd8230074dfaa2c9

View file

@ -543,8 +543,12 @@
#define MYNEWT_VAL_BLE_MONITOR_UART_DEV ("uart0")
#endif
#ifndef MYNEWT_VAL_BLE_HOST_BASED_PRIVACY
#define MYNEWT_VAL_BLE_HOST_BASED_PRIVACY (1)
#endif
#ifndef MYNEWT_VAL_BLE_RPA_TIMEOUT
#define MYNEWT_VAL_BLE_RPA_TIMEOUT (300)
#define MYNEWT_VAL_BLE_RPA_TIMEOUT (CONFIG_BT_NIMBLE_RPA_TIMEOUT)
#endif
#ifndef MYNEWT_VAL_BLE_SM_BONDING

View file

@ -10,9 +10,11 @@ This example aims at understanding GATT database configuration, advertisement an
It also demonstrates security features of NimBLE stack. SMP parameters like I/O capabilities of device, Bonding flag, MITM protection flag and Secure Connection only mode etc., can be configured through menuconfig options.
For RPA feature (currently Host based privacy feature is supported), use API `ble_hs_pvcy_rpa_config` to enable/disable host based privacy. `own_addr_type` needs to be set to `BLE_ADDR_RANDOM` to use this feature.
To test this demo, any BLE scanner app can be used.
A Python based utility `bleprph_test.py` is also provided (which will run as a BLE GATT Client) and can be used to test this example.
A Python based utility `bleprph_test.py` is also provided (which will run as a BLE GATT Client) and can be used to test this example.
Note :