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.

LAUNCHCC3220MODASF: TIDEP-0083 Error: Connection to server failed

Guru 10235 points
Part Number: LAUNCHCC3220MODASF
Other Parts Discussed in Thread: TIDEP-0083, CC3220SF-LAUNCHXL

Hello, TI Experts,

 

I have a question about TIDEP-0083(Voice Triggering and Processing with Cloud Connection to IBM Watson Reference Design)

I found success to run this demo about one month ago.

But suddenly, I found the error like below, today.

 

>SL_SOCKET_ASYNC_EVENT socket event 2, do restart

>Connection to server failed. error(-102)

>Error [-2011] at line [833] in function [ConnectToHTTPServer]

>

>HTTP Post Begin:

>Failed to send HTTP POST request header.

>HTTP Post failed.

>HTTP Post End:

>Starting audio recording!

>UART Timeout! Sending audio data

 

Question:

  Do you have same experience?

 

 

I tried to change another EVM(CC3220SF-LAUNCHXL), and

I also tried to regenerate "der" files based on E2E thread as below;

But the errors seems to be same.

 

http://e2e.ti.com/support/wireless_connectivity/simplelink_wifi_cc31xx_cc32xx/f/968/t/673247?tisearch=e2e-sitesearch&keymatch=geotrustglobalca.der

 

We would appreciate if you tell us how to solve this problem.

 

Best regards,

  • Hi matusan,

    It seems like IBM have once again changed the root CA they use to sign their http endpoint's certificate. You now need to use the Digicert Global Root CA certificate.

    In general, you can use this code in the future to identify the certificate you need:

    void SimpleLinkSockEventHandler(SlSockEvent_t *pSock)
    {
        if ( pSock->Event == SL_SOCKET_TX_FAILED_EVENT)
        {
            /* on socket error Restart OTA */
            UART_PRINT("SL_SOCKET_TX_FAILED_EVENT socket event %d, do restart\n\r", pSock->Event);
            SignalEvent(APP_EVENT_RESTART);
        }
        else if ( pSock->Event == SL_SOCKET_ASYNC_EVENT)
        {
            switch (pSock->SocketAsyncEvent.SockAsyncData.Type)
             {
                 case SL_SSL_NOTIFICATION_WRONG_ROOT_CA:
                     /* on socket error Restart OTA */
                     UART_PRINT("SL_SOCKET_ASYNC_EVENT: ERROR - WRONG ROOT CA\n\r");
                     UART_PRINT("Please install the following Root Certificate:\n\r");
                     UART_PRINT("  %s\n\r", pSock->SocketAsyncEvent.SockAsyncData.pExtraInfo);
                     SignalEvent(APP_EVENT_RESTART);
                     break;
    
                 default:
                     /* on socket error Restart OTA */
                     UART_PRINT("SL_SOCKET_ASYNC_EVENT socket event %d, do restart\n\r", pSock->Event);
                     SignalEvent(APP_EVENT_RESTART);
                     break;
             }
            /* on socket error Restart OTA */
            UART_PRINT("SL_SOCKET_ASYNC_EVENT socket event %d, do restart\n\r", pSock->Event);
            g_intNetworkState = NETWORK_STATE_NULL;
            SignalEvent(APP_EVENT_RESTART);
        }
        else
        {
            /* Unused in this application */
            UART_PRINT("Unexpected socket event %d\n\r", pSock->Event);
            SignalEvent(APP_EVENT_ERROR);
        }
    }

    Replace your current SimpleLinkSockEventHandler() in src/sl_event_handlers.c with the code above. This code will catch the wrong root ca error event and print out the cert you need, like so:

    Please follow the steps in my previous post, using the correct certificate to solve your problem:

    https://e2e.ti.com/support/wireless_connectivity/simplelink_wifi_cc31xx_cc32xx/f/968/p/673247/2478357#2478357

    Regards,
    Michael

  • Hello,

     

    Thank you for your prompt reply.

    I really appreciate your help.

    The problem can be solved with the Digicert Global Root CA certificate.

    Thank you !

    Best regards,