This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

BLE scan request vs white list

Hi all,

I know that there is a field "address type (public/random)" in white list.

When a scanner send scan request to an advertiser with public device address. this is easy for me to understand that the advertiser can enable advertise filtering to ignore the scan request from scanner.

Instead of public address, if scanner send scan request with random device address. What is the role of advertiser's white list here? I mean that random device address (static / resolved/ non-resolved) could be change at any time and this could make the function of white list no sense.

In other words, what is the purpose of address type filed in white list?? The scanner will change it's random address periodically. How does the advertiser filter a particular scanner using random device address?

Thanks for help.

  • A random static and public address shouldn't change, they should be static, so they can be put directly into the whitelist.

    A private resolvable address should change, but can be resolved by using a IRK, so the IRK should be put into the whitelist, not the address itself.

    A private non-resolvable address should change, but can't be resolved, so it doens't make sense to have it in a whitelist.

  • Hi Petter,

    Thank you for your reply.

    You said that a resolvable address can be resolved by using a IRK, so a scanner has been bonded with a central device, right?

    If above thing is right, Does a advertiser need a powerful CPU or dedicated hardware to filter the resolvable address within 150us after scan_request received ?

    And before the scan request, a advertiser should prepare the peer resolvable address with a IRK. This make resolvable address white list sense, right? But you said resolvable address should change, so putting a resolvable address with complicated calculation into white list really make sense??

    What kind of application we will use the feature (resolvable address within white list) ?

    Thanks a lot

  • Only bonded devices will have the IRK yes.

    I'm not sure how powerfull the CPU has to be, but in our nRF5 devices, this is done in hardware. And I guess that is what you should do if you want to resolve addresses "on the fly".

    As a peripheral you will use this feature if you only want to receive scan requests and/or connection requests from bonded central devices. And these devices use private resolveable address (like for example iOS devices)

Related