KW36_BLE : Client characteristic descriptor is not persistent across connection

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

KW36_BLE : Client characteristic descriptor is not persistent across connection

1,245 Views
pvelayu1
Contributor II

When i was seeing the BT core specification for CCCD, i came across the below highlighted line. 

pastedImage_2.png

My understanding is that from the above line,that if a gatt client has once enabled the notification bit of CCCD by writing 0x0001 on to the CCCD handle, till their bonding goes, whenever there is a change in that gatt server characteristic value,gatt client will be notified through "handle value notification" , is my understanding correct? 

If my understanding is correct, i have an issue, my device(KW36) is the gatt client for current time server and once after pairing is complete,i have enabled the CCCD of gatt server(mobile) by sending write request(0x0001) and after that whenever there is change in current time,i get the handle value notification, but when i disconnect and reconnect back the same device and try to change the current time in the phone, "handle value notification" doesnt come at this time, What is the issue and how i can resolve this issue?

0 Kudos
Reply
3 Replies

1,086 Views
estephania_mart
NXP TechSupport
NXP TechSupport

Hello,

Sorry for this, but I got confused, according to your comments, you are using pairing, nonetheless, are you also using bonding ?As that line applies for the bonded devices, but for the non bonded devices it is necessary so set it every connection.

Could you please help me with the security configuration are you using ?

Regards,

Estephania

0 Kudos
Reply

1,086 Views
pvelayu1
Contributor II

Hi Estephania,

I am using pairing and bonding with security Mode 1 Level 2 for my implementation, but I still need to write the CCCD again to receive the notification. (Board: FRDM - KW36)

Regards,

Prakash V

0 Kudos
Reply

1,086 Views
estephania_mart
NXP TechSupport
NXP TechSupport

hello,

Ok, thank you very much for the information

Just to confirm, when the devices are bonded the CCCD must be kept between the connection, so the server should know if the client has written the CCCD or not, this it's for the client to know  that it should not enable the CCCD over again every connection.

If there is no bonding the CCCD will be missed and every connection it will need to be written again.

What are you using as the mobile application for this connection ? 

You can check as a  base the Heart Rate Sensor example for how it usually works.

Also, if you have some sniffer logs of what you are seeing it would be helpfu to see exactly how it's the behavior in your test .


Regards

Estephania

0 Kudos
Reply