SoftAP (bringing up a temporary Wi-Fi network to receive private network credentials) is the most common mechanism used by Wi-Fi-enabled products today to enable a user to configure their product. Cirrent supports softAP, for use when the device is not in range of a ZipKey network, or the user's location cannot be determined. There are a few challenges to softAP, primarily around radio management, so if the device is in range of a ZipKey network, the app should always send the credentials via the Cirrent cloud, rather than over softAP.
1. If the Wi-Fi radio does not support STA and AP mode in parallel, then when the private network credentials are received over the softAP network, the device needs to bring down the softAP network before it can join the private network. This means there is no way to give feedback to the user in case of a problem (e.g. to prompt them to re-enter the private network credentials if they were wrong) as the mobile app will have lost access to the device. The mobile app has to detect that it has fallen off the softAP network, then check with the cloud to see if the device was provisioned successfully. If it was not, the app has to timeout, re-associate to the softAP network, and prompt the user to try again, without any guidance on what the problem was.
2. Even if the Wi-Fi radio does support STA and AP mode in parallel, we have seen problems with the SoftAP network changing the channel it is on (or the frequency it is on) when the device joins a private network on a different frequency or channel. This disrupts the connection from the mobile app to the phone.
3. Scanning for nearby Wi-Fi networks can also be problematic, as it can disrupt the channel or frequency that softAP is on. To minimize this problem, the WCM does not scan for networks when there is a client associated with the softAP network. This works for most situations, but can cause problems if the user wants the device to join a hidden private network.
4. In iOS, there is no way to move between the softAP network and the user's private network without the user's input. In iOS 11, the user is prompted to allow the app to move over to the softAP network. In earlier versions of iOS, the user must make the network change themselves, by going into the iOS settings screen and picking the softAP network. This can be error prone.
If your Wi-Fi chip does not support STA and AP mode in parallel, we recommend that you consider BLE for local onboarding, instead of softAP, if your chip supports BLE.