SWRA513C January 2020 – September 2020 CC3120 , CC3120MOD , CC3135 , CC3135MOD , CC3220MOD , CC3220MODA , CC3220R , CC3220S , CC3220SF , CC3235MODS , CC3235MODSF , CC3235S , CC3235SF
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:
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:
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.
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.
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.