Part Number: CC2642R
Other Parts Discussed in Thread: SYSCONFIG
A customer has met a problem during production of CC2642R: occasionally the advertising is not enabled when it is supposed to be. Please find the detailed issue as below.
There are 2 sets of advertisement enabled on the CC2642R. One has the interval of 33-35ms, the other has the interval of 20-21ms, both are legacy type on the 1M PHY.
GapAdv_params_t advParams1 = {
.eventProps = GAP_ADV_PROP_CONNECTABLE | GAP_ADV_PROP_LEGACY | GAP_ADV_PROP_SCANNABLE,
.primIntMin = 52.8,
.primIntMax = 56,
.primChanMap = GAP_ADV_CHAN_ALL,
.peerAddrType = PEER_ADDRTYPE_PUBLIC_OR_PUBLIC_ID,
.peerAddr = { 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa },
.filterPolicy = GAP_ADV_WL_POLICY_ANY_REQ,
.txPower = GAP_ADV_TX_POWER_NO_PREFERENCE,
.primPhy = GAP_ADV_PRIM_PHY_1_MBPS,
.secPhy = GAP_ADV_SEC_PHY_1_MBPS,
.sid = 0
};
GapAdv_params_t advParams2 = {
.eventProps = GAP_ADV_PROP_CONNECTABLE | GAP_ADV_PROP_LEGACY | GAP_ADV_PROP_SCANNABLE,
.primIntMin = 32,
.primIntMax = 33.6,
.primChanMap = GAP_ADV_CHAN_ALL,
.peerAddrType = PEER_ADDRTYPE_PUBLIC_OR_PUBLIC_ID,
.peerAddr = { 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa },
.filterPolicy = GAP_ADV_WL_POLICY_ANY_REQ,
.txPower = GAP_ADV_TX_POWER_NO_PREFERENCE,
.primPhy = GAP_ADV_PRIM_PHY_1_MBPS,
.secPhy = GAP_ADV_SEC_PHY_1_MBPS,
.sid = 0
};
The advertisements are disabled after establishing a connection, and are back on after a connection is terminated. The customer found that occasionally one of the advertisement is not enabled, and could recover after establishing and terminating a connection. It is random which advertisement is broken.
The issue was found on a couple of the devices out of thousands of devices being produced, and it is quite difficult to reproduce the behavior. So the customer would like to check under what circumstances the GapAdv_enable API could fail to cause this behavior. Please kindly provide some advice to debug this issue, thanks.
Best regards,
Shuyang
