Topic

FAQ
Login Register
About telink_adv_trigger_paring_8258 Adv data
Dec 01, 2022 09:54

/

A

/A


I wanted to deploy 'telink_adv_trigger_paring_8258' special packet, shown in the 825x_master_kma_dongle demo, for my application taking 2 8251 modules as Master and slave, and deploy SMP, to trigger Master/Slave pairing/bonding. My understanding is that I should use bls_ll_setAdvData to set Adv Data with the same special trigger packet on Slave side(although any demo in slave role didn't show this kind of codes), but could not successfully get the right packet on Master side, and data in the  event_adv_report_t always show the data len is 1, while the telink_adv_trigger_paring_8258[] is 8-byte long.  What may be wrong with this trigger-pairing codes? Could you give me an example of this method?


5 replies
TL_Soyo Dec 01, 2022 13:52
0
/A

hi,

  Your operation is OK. You can use mobile phone software to see whether the data sent by the slave device is normal.



Gilbert [Author] Dec 01, 2022 17:41
0
/A

Soyo, thanks for your quick response.This problem still exists. I have found nRFConnect only shows contents of default tbl_scanRsp[], so it's response data, not Adv data. On Master side by BDT the event_adv_report_t data buf still shows data len is 1 byte.And after that byte it's rssi, and my tests shows the rssi reflects real signal strength. 

What other reason may cause the problem?


   

Gilbert [Author] Dec 03, 2022 13:58
0
/A

Hi Soyo, it seems after disabling SMP on slave side, the adv data buffer on Master side shows right data.But the link is not SMP managed at this time.

Could you figure out a plan to fix it?

TL_Soyo Dec 05, 2022 10:51
0
/A

It has nothing with SMP,try use the unmodified protocol stack and look the broadcast packet in master.

Gilbert [Author] Dec 06, 2022 09:45
0
/A

What is unmodified protocal stack. I use Version 3.4.2.1 patch0005 of 825x,and see the problem. If SMP is disabled on slave side, Master side shows right Adv length and contents, and after enabling  SMP, the len shown in BDT is always 1 and content is 0x00. 

In the example codes, in blm_host.c, if you only keep 'user_manual_paring = (memcmp(pa->data, telink_adv_trigger_paring_8258, sizeof(telink_adv_trigger_paring_8258)) == 0) && (rssi > -56)'; and remove 'user_manual_paring = dongle_pairing_enable && (rssi > -56); ', you may see the issue.