How to configure QN908x Peripheral for Whitelist feature

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

How to configure QN908x Peripheral for Whitelist feature

1,408 次查看
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 项奖励
回复
9 回复数

1,350 次查看
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 项奖励
回复

1,327 次查看
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 项奖励
回复

1,321 次查看
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 项奖励
回复

1,308 次查看
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 项奖励
回复

1,299 次查看
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 项奖励
回复

1,287 次查看
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 项奖励
回复

1,264 次查看
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 项奖励
回复

1,357 次查看
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 项奖励
回复

1,382 次查看
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 项奖励
回复