SWRA513C January   2020  – September 2020 CC3120 , CC3120MOD , CC3135 , CC3135MOD , CC3220MOD , CC3220MODA , CC3220R , CC3220S , CC3220SF , CC3235MODS , CC3235MODSF , CC3235S , CC3235SF

 

  1.   Trademarks
  2. 1Introduction
    1. 1.1 Terminology
  3. 2Overview
    1. 2.1 General Description
  4. 3Provisioning Configuration Modes
    1. 3.1 AP Provisioning
    2. 3.2 SmartConfig Provisioning
    3. 3.3 AP Plus SmartConfig Provisioning
    4. 3.4 AP Plus SmartConfig Plus External Configuration Provisioning
  5. 4Initiating the Provisioning Process
    1. 4.1 Host-Initiated Provisioning
    2. 4.2 Auto-Provisioning
    3. 4.3 Ending the Provisioning Process
  6. 5Profile Confirmation
    1. 5.1 Feedback
      1. 5.1.1 Local Feedback
      2. 5.1.2 External Feedback (Cloud)
    2. 5.2 Confirmation Fail
  7. 6External Configuration
  8. 7Host APIs
    1. 7.1 Provisioning Command
    2. 7.2 Provisioning Status Event
    3. 7.3 Provisioning Profile-Added Event
    4. 7.4 Reset Request Event
    5. 7.5 Blocking APIs During Provisioning
  9. 8Provisioning Use Examples
    1. 8.1 Successful SmartConfig Provisioning
    2. 8.2 Unsuccessful SmartConfig Provisioning
    3. 8.3 Successful SmartConfig Provisioning With AP Fallback
    4. 8.4 Successful AP Provisioning
    5. 8.5 Successful AP Provisioning With Cloud Confirmation
    6. 8.6 Using External Configuration Method: WAC
    7. 8.7 Successful SmartConfig Provisioning While External Configuration Enabled
  10. 9Provisioning HTTP/HTTPS Server APIs
  11.   Revision History

Blocking APIs During Provisioning

Because during the provisioning process the device switches between different roles, connects to different APs, and changes its IP addresses, host commands may not be properly served. As a result, when the host issues a command during an active provisioning process, the SL_RET_CODE_PROVISIONING_IN_PROGRESS (–2014) error is returned. Only the sl_WlanProvisioning and sl_stop commands are allowed. If the host is interested in executing a different command, it must either wait for the provisioning process to end, or manually stop it (using the SL_WLAN_PROVISIONING_CMD_STOP command). In addition, events that may be sent to the host during the provisioning connection attempts (such as NETAPP_IPACQUIRED) are blocked and will not reach the user (except for the provisioning dedicated events, such as the provisioning status event).

In some cases, after provisioning starts the APIs are unblocked to let the host perform some actions that are necessary for completing the provisioning process. These actions follow:

  • External Confirmation: when the confirmation result is sent to the user over the Internet, the host must open a socket to the cloud server. To enable it, the APIs are unblocked immediately after the PROVISIONING_CONFIRMATION_IP_ACQUIRED status event is sent to the host.
  • External Configuration: when APSC plus External Configuration mode is used, the host must open sockets during the configuration stage. To enable it, the APIs are unblocked immediately after the PROVISIONING_EXTERNAL_CONFIGURATION_READY status event is sent to the host.
  • Auto-Provisioning: when provisioning is auto-started, the APIs are still allowed (unlike host-initiated provisioning where the APIs are blocked immediately after the provisioning process has started). APIs are blocked only after user activity is detected (for example, a profile is added).