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

General Description

The SimpleLink Wi-Fi provisioning process is divided into the Configuration stage and the Confirmation stage. The process begins with the configuration stage. During this stage, the SimpleLink Wi-Fi device waits for the end user to provide the information needed to connect to the wireless network. The user can use an external device such as a smartphone or tablet running a dedicated provisioning app provided by TI to configure the following parameters:

  • Network name (SSID)
  • Password
  • Device name (optional)
  • UUID (optional)

The device saves the provided network information into its serial flash memory as a new profile. The profile is kept encrypted as a system file and only the networking subsystem can access the password to this network. Once a profile is successfully configured, the device moves to the confirmation stage. The confirmation stage tests the profile that was configured during the configuration stage. During the confirmation stage, the device tries to connect to the wireless network found in the new configured profile. If the connection is successful, the device also tries to provide feedback about the successful connection to the user’s smart phone provisioning app, which configured the profile. A connection is defined as successful if the WLAN connection is established, and an IP address is acquired.

If the connection is successful, and the feedback is delivered to the user, the confirmation stage is successful, and the provisioning process successfully ends. If the connection attempt fails, or if it is successful but the feedback is not delivered to the user, the confirmation stage fails, and the device moves back to the configuration stage. At this point, the user’s smart phone provisioning app can ask the device to send the fail reason of the previous confirmation attempt, and configure a new profile. In this case, the configured profile is not deleted.

Possible reasons for confirmation failure:

  • SSID is not found during the scan.
  • SSID is found, but the WLAN connection is not successfully established.
  • WLAN connection is successfully established, but the IP address is not acquired.

If feedback about a successful connection is not delivered to the user during the confirmation stage, but the user asked for the confirmation result during the following configuration stage, a successful result is sent, and the provisioning process successfully ends.

Figure 2-1 shows the provisioning process flow.

GUID-04DC4B83-CF65-4380-B0E9-493DE2A11CBA-low.gifFigure 2-1 Provisioning Process Flow Chart

The networking subsystem internally executes all provisioning activities (adding new profiles, testing new profiles, reporting results to the user, among others). Switching between the provisioning stages and device roles (AP or STA) is also done internally. The networking subsystem constantly sends the host updates regarding the progress of the provisioning process. The host only starts the provisioning process; once started, no further actions are needed.

Figure 2-2 shows the host application provisioning flow.

GUID-141EAEE6-100B-4F0D-A4E6-F36B32E2F4FE-low.gifFigure 2-2 Host Application Provisioning Flow

Once a provisioning process starts, the host should wait for the networking subsystem to send it the confirmation result. During this time, the host cannot perform any networking activities that may interrupt the ongoing provisioning process. If the confirmation result received is success, the provisioning process automatically stops, and the host should wait for the provisioning stopped event. If the confirmation failed, the host is notified of the fail reason, and the provisioning process continues for another configuration attempt.