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.

Compiler/CC3220SF-LAUNCHXL: Cloud External Confirmation - feedback to Smartphone app failed

Part Number: CC3220SF-LAUNCHXL


Tool/software: TI C/C++ Compiler

Hi ,

I am using external cloud confirmation (without local ping to the mobile app) if Cloud connection is successful, everything working as expected. 


But from the device, In case of connection failed to the cloud (connection timeout), I am getting WLAN event as [WLAN EVENT] Connection Success (feedback to Smartphone app failed).
My Observation is there is no Ping or feedback concept in External confirmation feature but still why am I getting this WLAN event?
Is this expected behaviour or am I missing something? Please help me out.
Code snippet:
 
sl_WlanProvisioning(pCtx->provisioningMode, ROLE_STA, TIMEOUT, NULL, SL_WLAN_PROVISIONING_CMD_FLAG_EXTERNAL_CONFIRMATION);

Debug Trace:
 
[Provisioning task] Starting Provisioning -
[Provisioning task] in mode 2 (0 = AP, 1 = SC, 2 = AP+SC)
[Provisioning task] Provisioning Started. Waiting to be provisioned..!!
[Provisioning task] Current: 1, Event: 1, Next: 2
[WLAN EVENT] Profile Added
[WLAN EVENT] Connection to AP succeeded
[WLAN EVENT] IP address acquired
MQTT demo client identifier is 00000956Y (length 9).
Establishing new MQTT connection.
Failed to establish new MQTT connection, error TIMEOUT.
Network connection closed on error.
MQTT CONNECT returned error TIMEOUT.
[External Cloud Confirmation] Mqtt Connect Failed
CloudPingTimerCallback(): timer expired
[WLAN EVENT] Connection Success (feedback to Smartphone app failed)
[External Cloud Confirmation] Abort retVal=0
[Provisioning task] Current: 2, Event: 4, Next: 2

Regards,
Suresh
  • Hi Suresh,

    You need to stop the internal provisioning before you try the MQTT connection (i.e. calling "sl_WlanProvisioning(SL_WLAN_PROVISIONING_CMD_STOP, 0xFF, 0, NULL, (uint32_t)NULL);"  after the IP address is acquired) - so the internal confirmation will not timeout. 

    You will need to restart the provisioning if your external method fails.

    Br,

    Kobi