The function peers_id_keys_get() (SDK 12.3.0 Library id_manager.c) returns Error BLE_ERROR_GAP_INVALID_BLE_ADDR (0x3202) when the peer device address is neither PUBLIC nor RANDOM STATIC:
uint8_t const addr_type = bond_data.peer_ble_id.id_addr_info.addr_type;
if ((addr_type != BLE_GAP_ADDR_TYPE_PUBLIC) &&
(addr_type != BLE_GAP_ADDR_TYPE_RANDOM_STATIC))
{
// The address shared by the peer during bonding can't be used for whitelisting.
return BLE_ERROR_GAP_INVALID_BLE_ADDR;
}
This function is used when whitelisting eg. peer manager pm_whitelist_get()->im_whitelist_get(). Is there something wrong with a peer device being eg. RANDOM PRIVATE RESOLVABLE and whitelisting?