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.

RTOS/CC3200: General Event error ID=[-102] Sender=[5]

Part Number: CC3200


Tool/software: TI-RTOS

Hello,

I am running a connectivity endurance test with the CC3200.

After a few hours of a connection, I start receiving 

[GENERAL EVENT] - ID=[-102] Sender=[5]

from the simplelink driver.  I am using TI-RTOS for Simplelink v16.9.0.LTS with service pack 1.0.1.11-2.9.0.0. During this time, the device cannot connect to Wi-Fi and continues to receive the error with a random interval between 2 and 50 seconds.

I introduced code to shutdown simplelink by calling Sl_Stop() and safely reboot the CC3200 when the device gets in this state.  However, after the error happens once, a reboot does not solve the problem.  The device still cannot connect to Wi-Fi and continues receiving the Error.

Then, I introduced an external watchdog to toggle the reset line on the CC3200 when the device gets in this state.  However, as with the "internal" reset, this does not fix the problem and I continue to get errors connecting to Wi-Fi.

Finally, I power cycle the device and the problem is fixed.  There are no errors and the device connects to Wi-Fi. 

After a few hours to a few days, I get the Error -102 again.

What is this Error -102 and why does it require a physical power cycle to fix?

  • Hi,

    How do you reset CC3200? Do you use this way e2e.ti.com/.../1812873 ?

    Jan
  • Essentially yes, see below:

    sl_Stop( 15000 );
    
    // Request hibernate to clean boot the system
    HIBEntrePreamble();  // see below
    
    MAP_PRCMOCRRegisterWrite(0,1);
    MAP_PRCMHibernateWakeupSourceEnable(PRCM_HIB_SLOW_CLK_CTR);
    MAP_PRCMHibernateIntervalSet(330);
    MAP_PRCMHibernateEnter();
    while(1)
    {
        // Should never get here.
    }
    
    
    // Mandatory Configuration to put the PM into safe state before entering hibernate
    static void HIBEntrePreamble()
    {
        HWREG(0x400F70B8) = 1;
        UtilsDelay(800000/5);
        HWREG(0x400F70B0) = 1;
        UtilsDelay(800000/5);
    
        HWREG(0x4402E16C) |= 0x2;
        UtilsDelay(800);
        HWREG(0x4402F024) &= 0xF7FFFFFF;
    }

    On power up, also check to make sure its a clean boot.

      //
      // Get the reset cause
      //
      ulResetCause = MAP_PRCMSysResetCauseGet();
    
      //
      // If watchdog triggered reset, request hibernate
      // to clean boot the system
      //
      if( ulResetCause == PRCM_WDT_RESET )
      {
          HIBEntrePreamble();
          MAP_PRCMOCRRegisterWrite(0,1);
          MAP_PRCMHibernateWakeupSourceEnable(PRCM_HIB_SLOW_CLK_CTR);
          MAP_PRCMHibernateIntervalSet(330);
          MAP_PRCMHibernateEnter();
      }

  • Hi,

    Hmm... I don't understand. According my experiences reset code with PRCMHibernate works well in all cases. Maybe you can check this in case of error is shown:
    - restart AP without physical power reset of the CC3200
    - maybe you can check your power supply rail in case of error (I suppose that you use own hardware).

    ... unfortunately I haven't more ideas.

    Jan
  • Thanks for the help.

    Anyone else have any ideas?  What causes the -102 error and why is a cold boot (power cycle) the only way to fix it?

  • Correction to my previous post:

    Actually, a power cycle of the CC3200 does does not fix it.
    Also, resetting the Wi-Fi credentials on the CC3200 does not fix it.

    Turns out to be an access point problem. Power cycling the access point always fixes this issue.
    The router/access point is the Netgear N900 Wireless Dual Band Gigabit Router WNDR4500

    Re-ran the test on a different access point and have not seen the -102 error in about 4 days.