Wi-Fi Protected Setup#
Functions#
Generate Wi-Fi Protected Setup (WPS) pin.
Start Wi-Fi Protected Setup (WPS).
This API initiates the WPS process which allows a device to connect to a Wi-Fi network without manually entering the network password.
Retrieves additional Wi-Fi Protected Setup (WPS) credential profiles from the NWP after sl_wifi_start_wps_v2 has returned the primary profile in its response argument.
Stop current running Wi-Fi Protected Setup (WPS).
Function Documentation#
sl_wifi_generate_wps_pin#
sl_status_t sl_wifi_generate_wps_pin (sl_wifi_wps_pin_t * response)
Generate Wi-Fi Protected Setup (WPS) pin.
| Type | Direction | Argument Name | Description |
|---|---|---|---|
| sl_wifi_wps_pin_t * | [out] | response | sl_wifi_wps_pin_t object that will contain the WPS pin. |
Pre-conditions:
sl_wifi_init should be called before this API.
Returns
sl_status_t. See https://docs.silabs.com/gecko-platform/latest/platform-common/status for details.
sl_wifi_start_wps#
sl_status_t sl_wifi_start_wps (sl_wifi_interface_t interface, sl_wifi_wps_mode_t mode, const sl_wifi_wps_pin_t * optional_wps_pin)
Start Wi-Fi Protected Setup (WPS).
| Type | Direction | Argument Name | Description |
|---|---|---|---|
| sl_wifi_interface_t | [in] | interface | Wi-Fi Access Point interface as identified by sl_wifi_interface_t |
| sl_wifi_wps_mode_t | [in] | mode | WPS mode as identified by sl_wifi_wps_mode_t |
| const sl_wifi_wps_pin_t * | [in] | optional_wps_pin | WPS pin object sl_wifi_wps_pin_t when SL_WIFI_WPS_PIN_MODE is used. |
Pre-conditions:
sl_wifi_start_ap should be called before this API.
Returns
sl_status_t. See https://docs.silabs.com/gecko-platform/latest/platform-common/status for details.
Note
This API is supported only in AP mode. Moving forward, this API will be deprecated. Instead use the sl_wifi_start_wps_v2 API. This is retained for backward compatibility.
sl_wifi_start_wps_v2#
sl_status_t sl_wifi_start_wps_v2 (sl_wifi_interface_t interface, sl_wifi_wps_config_t config, sl_wifi_wps_response_t * response)
This API initiates the WPS process which allows a device to connect to a Wi-Fi network without manually entering the network password.
| Type | Direction | Argument Name | Description |
|---|---|---|---|
| sl_wifi_interface_t | [in] | interface | Wi-Fi interface as identified by sl_wifi_interface_t. See https://docs.silabs.com/wiseconnect/latest/wiseconnect-api-reference-guide-wi-fi/sl-wifi-constants#sl-wifi-interface-t |
| sl_wifi_wps_config_t | [in] | config | WPS configuration as identified by sl_wifi_wps_config_t |
| sl_wifi_wps_response_t * | [out] | response | WPS response object sl_wifi_wps_response_t The status field in this structure will be updated with error codes defined in sl_wifi_wps_resp_status_error_code_t. The remaining_credentials_count field is the number of additional WPS profiles for this exchange (not including the primary credential in this structure). When remaining_credentials_count is greater than zero, call sl_wifi_wps_get_remaining_credentials on the same client interface with credential_count equal to remaining_credentials_count to retrieve those profiles. |
Returns
sl_status_t. See https://docs.silabs.com/gecko-platform/latest/platform-common/status for details.
Note
Currently, this API is supported only in STA mode.
WPS PBC does not support Protected Management Frames (PMF) security feature.
sl_wifi_wps_get_remaining_credentials#
sl_status_t sl_wifi_wps_get_remaining_credentials (sl_wifi_interface_t interface, sl_wifi_wps_response_t * credentials, uint8_t credential_count)
Retrieves additional Wi-Fi Protected Setup (WPS) credential profiles from the NWP after sl_wifi_start_wps_v2 has returned the primary profile in its response argument.
| Type | Direction | Argument Name | Description |
|---|---|---|---|
| sl_wifi_interface_t | [in] | interface | Client Wi-Fi interface; same as for sl_wifi_start_wps_v2. See https://docs.silabs.com/wiseconnect/latest/wiseconnect-api-reference-guide-wi-fi/sl-wifi-constants#sl-wifi-interface-t |
| sl_wifi_wps_response_t * | [out] | credentials | Caller array of sl_wifi_wps_response_t; credential_count entries are written on success. |
| uint8_t | [in] | credential_count | Must match remaining_credentials_count from the primary sl_wifi_wps_response_t from sl_wifi_start_wps_v2. Non-zero; at most two additional profiles per WPS session (tri-band cap minus the primary profile). |
Pre-conditions:
sl_wifi_init should be called before this API.
sl_wifi_start_wps_v2 should have completed successfully on the same client interface when additional credentials are present (sl_wifi_wps_response_t::remaining_credentials_count greater than zero).
Returns
sl_status_t. See https://docs.silabs.com/gecko-platform/latest/platform-common/status for details.
sl_wifi_stop_wps#
sl_status_t sl_wifi_stop_wps (sl_wifi_interface_t interface)
Stop current running Wi-Fi Protected Setup (WPS).
| Type | Direction | Argument Name | Description |
|---|---|---|---|
| sl_wifi_interface_t | [in] | interface | Wi-Fi Access Point interface as identified by sl_wifi_interface_t |
Pre-conditions:
sl_wifi_start_wps_v2 should be called before this API.
Returns
sl_status_t. See https://docs.silabs.com/gecko-platform/latest/platform-common/status for details.
Note
This API is supported only in AP mode.