Page 1 of 1

Whitelisting does't allow connections from resolvable random mac address

Posted: Tue May 28, 2019 12:57 am
by simfero
I am working on a BLE device with a pairing process, which allows only previously bonded device to connect back. For that, I use whitelisting to memorize the address, and only advertise and accept connections from these addresses (i.e. esp_ble_adv_params.adv_filter_policy = ADV_FILTER_ALLOW_SCAN_WLST_CON_WLST). The problem I have is that the mac addresses of just about any modern smartphone running Android or iOs are randomly generated (resolvable random address) and thus are incompatible with ESP32 framework.
After further investigation, I see that esp_ble_gap_update_whitelist() in esp_gap_ble_api.h has two parameters unlike it's analog in bluedroid that has a third parameter esp_ble_wl_addr_type_t wl_addr_type. Why was the third parameter and associated enum dropped in the esp-idf?

Is this issue expected to be resolved in near future, or else developers requiring secure connections have to consider alternative MCUs.