This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC1352P: Device orphan/rejoin fails in Frequency Hopping mode

Part Number: CC1352P
Other Parts Discussed in Thread: CC1310

Hi

When using TI15.4 stack in frequency  hopping mode (200kpbs PHY, 64 channels, 20dbm Tx power),  I find that the Sensor does not succeed in the orphan/rejoin process.

When Sensor experiences packet failures and enter "orphan" state, it starts sending "PAN config solicit' messages and expects the response from Collector. However, occasionally, it does not get a response for a long time ( like over 100 solicit messages need to be transmitted before getting a response ). This happens even if the Collector is close by the Sensor device.

I can reproduce the issue with the out-of-box sample app. I configure the sensor to transmit every 100ms and then simulate a sync failure by modifying the dataCnfCb() callback in jdllc.c file, like this (red text is my addition).

static void dataCnfCb(ApiMac_mcpsDataCnf_t *pData)
{
    static uint16_t sim_syncloss = 0;

#if 1   // simulate sync loss
    // wait for few hundred pkts and then simulate failure
    if (sim_syncloss++ > 500 )
    {
        {
            sim_syncloss = 0;
            devInfoBlock.dataFailures == CONFIG_MAX_DATA_FAILURES;
            handleMaxDataFail();
        }
    }
    else
#endif
   if(CONFIG_MAC_BEACON_ORDER == JDLLC_BEACON_ORDER_NON_BEACON)
    {
        if(pData->status == ApiMac_status_noAck)
        {
         

This causes Sensor to enter do orphan/rejoin process every 500 pkts. The rejoin succeeds sometimes but occasionally doesn't get response for a long time.

-Thanks, Joseph

  • Hi Joseph, 

    I've looked through our system and seems like this issue has been reported and fixed in version 4.30 of the SDK. Which version of the SDK are you using?

    Thanks, 
    Elin 

  • Hi Elin - I am using latest SDK 4.40.4.4 and can still see this issue.

    Thanks, Joseph

  • Hey Elin,

    I have noticed a similar behavior for CC1310 SDK. Could you point me to the thread were this issue was reported or post the code part with the changes having been made to fix the issue?

    Best wishes

    Slev1n

  • Hi Joseph,

    I just sent an e-mail to Tim as well regarding this issue.

    I understand that you want to find a quick way to reproduce the issue but setting the transmit interval to 100 ms is just going to cause a bunch of other issues. In general we advise not to send more often than 10 000 ms (10 s). Please let me know what the interval was when you first discovered the issue.

     I also think it's worth while to think about whether the orphan mode fits your use-case. We have a few customers who have simply removed this mode since it can lead to long periods of disconnections.

  • Hi Marie

    When the device is in orphan mode, we stop packet transmissions. Only the "Pan config solicit" packets.

    The reason to use "orphan mode" is due to this other issue, described here:

    https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz/f/156/t/975398

    The device (Sensor) enters the state described there where the MAC Queue is full but no packets are being transmitted over-air (all data request calls return transaction overflow). If this issue is fixed, the use of 'orphan mode' will not be needed or greatly reduced.

    -Thanks, Joseph

  • Hi Joseph,

    I understand. As I said in that thread, we are working to find the cause and a fix for that issue.

    Regarding your original issue, can you post a sniffer log of this happening.

  • Hi Joseph,

    I just posted a proposed work-around in the other thread. Can you test it and give me feed-back? 

    (I just sent Tim an email about this as well.)