Other Parts Discussed in Thread: SYSCONFIG
Hello.
Help me figure out the RPA and the following issues:
The role is a peripheral device.
Project - SimplePeripheral, SDK - simplelink_cc13x2_26x2_sdk_5_20_00_52.
Configuration:
-DGAP_BOND_MGR
DBLE_V42_FEATURES=PRIVACY_1_2_CFG
#define DEFAULT_ADDRESS_MODE ADDRMODE_RP_WITH_PUBLIC_ID
#define MAX_NUM_BLE_CONNS 1
uint8_t pairMode = GAPBOND_PAIRING_MODE_WAIT_FOR_REQ;
uint8_t mitm = true;
uint8_t ioCap = GAPBOND_IO_CAP_DISPLAY_ONLY;
uint8_t bonding = true;
uint8_t secureConnection = GAPBOND_SECURE_CONNECTION_ONLY;//
uint8_t authenPairingOnly = true;
Read and write permission all characteristics have the GATT_PERMIT_ENCRYPT_READ level.
1. How to make requests filtered at the controller level, i.e. address resolution took place at the stack level?
Now in the SimplePeripheral project I filter at the application level (GAP_LINK_ESTABLISHED_EVENT: GAPBondMgr_FindAddr()). And in this case, how to discard scanning requests? One good thing is that in this mode you can bind devices :)
The manual says that ADDRMODE_RP_WITH_PUBLIC_ID - the local device will always use an RPA that can be resolved to a Public Identity Address. The device will only accept requests from peers who use its RPA over the air. It will not accept requests if the request is being directed to its identity address. Why does the device still receive requests from unbound devices?
2. Why when setting the ADDRMODE_RP_WITH_RANDOM_ID mode in the SimplePeripheral project, the GAP_DEVICE_INIT_DONE_EVENT event does not occur! Tell me where to dig?
What are the differences between ADDRMODE_RP_WITH_PUBLIC_ID and ADDRMODE_RP_WITH_RANDOM_ID and what are the features of using both.
As a result, I want to implement two modes of operation: 1. Pairing, advertising is visible to everyone, key exchange including IRK. 2. The main mode in which requests to the device are not available for unbound devices, for security and power consumption reasons.
I assume that RPA just implements mode 2. But how to bind devices with RPA? Or I just don't understand the purpose of RPA ..
I have read BLE5-Stack User’s Guide - Privacy, but there is not enough information, there are not enough examples for what and how to use this or that ...
Please help me in which direction to move or in words how to implement what I want?