How to configure QN908x Peripheral for Whitelist feature

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How to configure QN908x Peripheral for Whitelist feature

1,415 Views
kishansa
Contributor I

Hi All, 

Configured BLE QN908x configured as Peripheral Device, and here we are using Heart Rate Sensor Application with a small change ie- the peripheral device is visible to all until its paired to a device for the first time, this will increment the bonded device count. And once the bonded count greater than 0, then onwards device will start addvertise with whitelist filter option.

In the Heart Rate Sensor SDK example code enabled gAppUseBonding_d, gAppUsePairing_d,gAppUseNvm_d in the app_preinclude.h

With this implementation able to connect and read the read the Heart Rate data for the first time, second time onwards after we turn on the peripheral device - we are not able to connect to this device from the previously paired Central device. nRFConnect Android application on the Central device shows 257 error which is Unknow error code. For your reference am attaching the code - tried with SDK version 2.x to 2.6.

And am able to see Peripheral advertisiement packet on a Desktop system using tool "BLE GUI 1.10.x" when the peripheral is turned on with Whitelisting feature, am expecting here peripheral is visible only to whitelisted devices.

Any suggestion or input on how exactly to implement the above requirements.

 

Regards,

 kishan

0 Kudos
Reply
9 Replies

1,357 Views
kishansa
Contributor I

Hello Eduardo, 

We used Android Devices (Android Version 10 +) as a central device, and am not sure by default all these Android devices configured with BLE random address feature. 

My understanding was BLE device should be able to discover the Bonded devices.

If the whitelist procedure not work properly when BLE central uses Random address,  is there any alternative to hide a peripheral device when it wants to connect only to the paired devices. 


Regards,
  kishan

 

 

0 Kudos
Reply

1,334 Views
EduardoZamora
NXP TechSupport
NXP TechSupport

Hello,

Maybe using Directed Advertising, as it aims to a specific device and invites it to establish a connection as fast as possible, but you may face the same issue as it will depend on the address of the specific device.

Regards,
Eduardo.

0 Kudos
Reply

1,328 Views
kishansa
Contributor I

Hi Eduardo,

Is this Whitelist issue when the central device uses the Random BLE Address feature is specific to QN908x controller ? Or this issue exist across all the different BLE controllers as well. 

As per my best knowledge most of the smart watches today in the market are with the whitelist feature, this will avoid unauthorized access to the peripheral. So if this is right understanding then would like to know how to get the same feature support from QN908x.

 

Regards,

 kishan

 

0 Kudos
Reply

1,315 Views
EduardoZamora
NXP TechSupport
NXP TechSupport

Hi,

Whitelist procedure will depend on the capabilities and characteristics of both the peripheral device and the central device.

Some of the devices you mentioned are probably not using a whitelisting procedure; instead, these devices may be establishing a connection, ignoring some incoming requests from other devices after that.

Regards,
Eduardo.

0 Kudos
Reply

1,306 Views
kishansa
Contributor I

Hi Eduardo ,

 

 Sorry I did not fully understood your below statement:

"Whitelist procedure will depend on the capabilities and characteristics of both the peripheral device and the central device."

Here are you referring GATT DB or low level BLE stack as capabilities and characteristics of BLE controller ? If its the BLE stack - would like to have your confirmation whether QN908x is able to handle whitelisting when the central has the Random BLE address feature turned ON.

 

Devices I mentioned in my previous msg was visible only when I start the device in the pairing mode, whereas in the Connection (communication) mode its visible to only to the paired device. And in this scenario we used same Android device which had Random BLE address.

 

Regards,

 kishan 

0 Kudos
Reply

1,294 Views
EduardoZamora
NXP TechSupport
NXP TechSupport

Hi,

My apologies, I was referring to the BLE device features.

You may need to know the specific address type, used by your central device, as there are sub-types for random address.

For example, if your device uses a Resolvable Private Address, it can be resolved by using a IRK (Identity Resolving Key) that should be shared during pairing and stored during bonding; this key is used to filter devices instead of the address. If your device uses a Non-resolvable Private Address, it can't be resolved, and whitelist procedure may not work.

I apologize for any inconvenience this might cause you, but, could you please consult how is this procedure handled by the Android side?

Regards,
Eduardo.

0 Kudos
Reply

1,271 Views
kishansa
Contributor I

Am not very sure on how to get Android side details because there are many Android device manufacturers in the market and each one is managing it differently. 

Devices I mentioned in my previous msg was visible only when I start the device in the pairing mode, whereas in the Connection (communication) mode its visible to only to the paired device. And in this scenario we used same Android device which had Random BLE address.

 

Here "Devices" refers to BLE controller devices similar like QN908x dev board (non-NXP BLE Controller). So the central device remain the same for QN908x and Other Market available BLE controller, but the way whitelisting working on each of the Peripheral device is different.

 

Regards and Thanks,

     kishan 

 

0 Kudos
Reply

1,364 Views
EduardoZamora
NXP TechSupport
NXP TechSupport

Hello Kishan,

I apologize for my late response.

Could you please confirm if your central device uses a random address? If so, the peripheral will save the central information, but after disconnecting the address might not be the same and this may cause the whitelist procedure not to work properly.

Regards,
Eduardo.

0 Kudos
Reply

1,389 Views
kishansa
Contributor I

If any one have implemented BLE whitelisting feature in the Peripheral side ,then please let me know the steps you followed. 

0 Kudos
Reply