diff --git a/boards/silabs/radio_boards/common/wifi.rst b/boards/silabs/radio_boards/common/wifi.rst new file mode 100644 index 00000000000..41463ed3133 --- /dev/null +++ b/boards/silabs/radio_boards/common/wifi.rst @@ -0,0 +1,301 @@ +.. _siwx917_wifi_features: + +SiWx917 Wi-Fi Features (Alpha) +############################## + +Overview +======== + +This document provides an overview of the 917 Wi-Fi module's capabilities and +features, focusing on its STA and Soft-AP modes. + + +STA Mode Features +================= + +The STA (Station) mode of the 917 Wi-Fi module provides robust functionality +for connecting to wireless networks as a client. Below are the key features: + + +Scan +---- + +The STA mode supports network scanning to identify available access points: + + - **Active Scanning**: Actively probes for nearby networks. + - **Passive Scanning**: Listens for beacon frames to discover networks. + - **Background (BG) Scanning**: Supports background scanning to identify + better access points without interrupting the active connection. + +The module supports up to **11 scan results** at a time, ensuring efficient +discovery of nearby access points. + +The module supports only one SSID that can be specified for SSID filtering. + +Active and Passive scanning are performed when the device is not in associated +state. + +BG Scanning is performed when the device is in associated state. + +If channel is not provided, the device will scan all the valid channels. + +The default active dwell time is 100 ms. + +The default passive dwell time is 400 ms. + + +Security +-------- + +The module incorporates advanced security measures to ensure a safe and +reliable connection. It supports the following security modes: + + - **Open**: No encryption, suitable for unsecured networks. + - **WPA (Wi-Fi Protected Access)**: Provides improved security over WEP. + - **WPA2 (Wi-Fi Protected Access II)**: Industry-standard encryption for + most networks. + - **WPA3 (Wi-Fi Protected Access III)**: Enhanced encryption and protection + against modern threats. + - **WPA2-SHA256**: Enhanced WPA2 security using SHA256 for improved + cryptographic strength. + - **WPA3 Transition Mode (WPA2+WPA3)**: Ensures compatibility with networks + that use both WPA2 and WPA3 security standards. + +These modes ensure that the module can connect securely to a wide range of +networks while maintaining strong data protection. + + +Link Modes +---------- + +To ensure compatibility with diverse networks, the module supports multiple +Wi-Fi link modes: + + - **802.11b (Wi-Fi 0 and Wi-Fi 1)**: Legacy mode with speeds up to 11 Mbps. + - **802.11g (Wi-Fi 3)**: Enhanced performance up to 54 Mbps. + - **802.11n (Wi-Fi 4)**: High throughput with MIMO technology. + - **802.11ax (Wi-Fi 6)**: Next-generation efficiency, capacity, and + performance. + + +Power Save +---------- + +The module implements power-saving mechanisms to optimize energy consumption. + +It supports the following legacy power-saving modes: + + - **DTIM (Delivery Traffic Indication Message) Based**: Reduces power + consumption by using DTIM intervals to wake up only when buffered data is + available at the access point. + - **Listen Interval Based**: Allows the module to wake up periodically based + on a defined listen interval to check for traffic. The Listen Interval + will be in units of Beacon Interval. + +The device supports (Power save) Listen Interval ranging from 100 ms - 1000 ms. +Accordingly, the Listen Interval needs to be configured in units of +Beacon Interval. If the Listen Interval is configured more than 1000 ms, then +it takes the value as 1000 ms. The Listen Interval based wakeup will take +effect once the device is in connected state. If the Listen Interval is set to +zero, the driver will automatically switch to DTIM wakeup. If power save is +disabled by firmware than driver will take the previously configured +Listen Interval when it is enabled. + +This (Power save) Listen Interval shall be less than the Listen Interval +advertised in (Re)Association Request frame. + +It also supports the below modes to retrieve buffered packets: + + - **PS-Poll (Power Save Polling)**: Enables the device to retrieve buffered + packets from the access point when it has entered power save mode. + - **QoS Null Data**: Allows the device to send QoS Null frames to retrieve + buffered packets from the access point in a power-efficient manner. + +The device enables its proprietary mode Enhanced Max PSP feature to retrieve +buffered packets by default for improved performance. + +If this feature is disabled through disabling the config flag +``CONFIG_WIFI_SILABS_SIWX91X_ENHANCED_MAX_PSP``, then QoS Null frame gets +enabled. Both QoS Null frame and Enhanced Max PSP are mutually exclusive. + +After disconnection, PS gets disabled, thus, PS needs to be enabled again for +new connection, if required. + +The Monitor Interval is defined as the time from the last packet received +(except ACK). If there is no packet received till this interval, then the +device goes to sleep. The default value of Monitor Interval is 50 ms if 0 is +configured. This is used for QoS Null Data or Enhanced Max PSP. The device +supports maximum value of Monitor Interval as 1000 ms. + +Currently, ``timeout_ms`` is not supported in the device. + + +Management Frame Protection +--------------------------- + +Support for **802.11w** ensures protection for management frames, safeguarding +against: + + - Deauthentication attacks. + - Disassociation attacks. + +802.11w is enabled by default. + +**Recommended MFP Values for different security modes:** + + +---------------+-------------+-------------+--------------+ + | Security Mode | MFP Disable | MFP Capable | MFP Required | + +===============+=============+=============+==============+ + | Open | Yes | | | + +---------------+-------------+-------------+--------------+ + | WPA | Yes | | | + +---------------+-------------+-------------+--------------+ + | WPA + WPA2 | | Yes | Optional | + +---------------+-------------+-------------+--------------+ + | WPA2 | | Yes | Optional | + +---------------+-------------+-------------+--------------+ + | WPA2 + WPA3 | | Yes | No | + +---------------+-------------+-------------+--------------+ + | WPA3 | | Yes | Yes | + +---------------+-------------+-------------+--------------+ + + +BG Scan and Roaming +------------------- + +Roaming enables a Wi-Fi STA (Station) to seamlessly transition from one +Access Point (AP) to another within the same network without losing its +connection. This ensures uninterrupted connectivity as the STA moves across +different AP coverage areas. + +The device support **Legacy Roaming**, which comprises the following procedures: + + 1. **Background (BG) Scan**: + + - A standard scanning procedure executed while the STA remains connected + to the network. + - Triggered when the Received Signal Strength Indicator (RSSI) falls + below a predefined threshold. + + 2. **Roaming**: + + - Initiated when the RSSI crosses the threshold and a roaming hysteresis + condition is met. + - The roaming process can be carried out using either an + **NDP (Null Data Packet)** or a **Deauthentication frame**. The default + configuration is to use NDP. The configuration can be changed using + Kconfig ``CONFIG_WIFI_SILABS_SIWX91X_ROAMING_USE_DEAUTH`` to use a + deauthentication frame for Roaming. + + +**Challenges**: + + - The **Zephyr API** does not currently provide an API for Legacy Roaming. + While APIs for **802.11r roaming** are defined, they do not apply to + Legacy Roaming. + +**Current Design**: + + - **BG Scan**: Performed using the Scan API. + + - **Roaming Configuration**: Configured during the first BG Scan. Roaming + parameters are managed through **Kconfig** options. + +Roaming is enabled by default, but BG Scan needs to be performed to initiate +and configure the Roaming parameters. Roaming can be disabled by disabling the +config flag ``WIFI_SILABS_SIWX91X_ENABLE_ROAMING``. + +BG Scan stops when the STA gets disconnected. This BG Scan command again needs +to be given to enable BG Scan and Roaming. + +The device support multi-probe in BG Scan where it can also scan APs with +different SSID. This configuration can be disabled using Kconfig. + + +Target Wake Time (TWT) +---------------------- + +The module supports **Individual Target Wake Time (TWT)** in compliance with +Wi-Fi 6 standards: + + - **Individual TWT**: Allows the module to negotiate wake times with the + access point, optimizing power consumption for the device. It supports + only as a requester. + - Does not support broadcast TWT. + +This feature is ideal for IoT devices requiring periodic connectivity with +minimal energy use. + +The device does not support Explicit TWT. It does not support +TWT Information element. + +The device does not support TWT quick setup. It does not support configuring +parameters like TWT interval, TWT wake ahead duration and dialog token. + + +Bugs and Limitations +-------------------- + + - The default configuration complies with US regulatory domain. Thus, it + supports Channels 1-11 only, ensuring operation within permitted + frequencies for the US region. + - For WPA3 (SAE), our device has a limitation of 64 characters on the + password. + - EAP security modes are not supported. + - The link mode in Wi-Fi status is always ``WIFI_LINK_MODE_UNKNOWN``. + - The device supports bandwidth of 20 MHz only and 1 spatial stream. + - 802.11r is not supported. + - WMM power save mode is not supported. + + +Soft-AP Mode Features +===================== + +In Soft-AP (Software Access Point) mode, the 917 Wi-Fi module can act as an +access point, allowing other devices to connect to it. Below are the key +features: + + +Security +-------- + +The module provides secure connections for devices connecting to the Soft-AP. +It supports the following security modes: + + - **Open**: No encryption, suitable for unsecured networks. + - **WPA (Wi-Fi Protected Access)**: Provides improved security over WEP. + - **WPA2 (Wi-Fi Protected Access II)**: Industry-standard encryption for + most networks. + - **Mixed Mode (WPA+WPA2)**: Ensures compatibility with networks that use + both WPA and WPA2 security standards. + +These modes allow flexible configurations for devices connecting to the Soft-AP. + + +Link Modes +---------- + +Soft-AP mode supports the following link modes: + + - **802.11b (Wi-Fi 0 and Wi-Fi 1)**: Legacy mode for basic connectivity. + - **802.11g (Wi-Fi 3)**: Enhanced speeds for modern devices. + - **802.11n (Wi-Fi 4)**: High-speed connectivity for demanding applications. + + +Hidden SSID +----------- + +Allows the network name (SSID) to be concealed from broadcasting. This enhances +privacy by preventing the SSID from being visible to unauthorized users. + + +Bugs and Limitations +-------------------- + + - The default configuration complies with US regulatory domain. Thus, it + supports Channels 1-11 only, ensuring operation within permitted + frequencies for the US region. + - The link mode in Wi-Fi status is always ``WIFI_LINK_MODE_UNKNOWN``. + - The device supports bandwidth of 20 MHz only and 1 spatial stream. + - Although STA and BLE can coexist simultaneously, AP and BLE cannot operate + together. diff --git a/boards/silabs/radio_boards/siwx917_rb4338a/doc/index.rst b/boards/silabs/radio_boards/siwx917_rb4338a/doc/index.rst index 20dbe472cb1..4f54be884ab 100644 --- a/boards/silabs/radio_boards/siwx917_rb4338a/doc/index.rst +++ b/boards/silabs/radio_boards/siwx917_rb4338a/doc/index.rst @@ -34,11 +34,15 @@ Supported Features .. zephyr:board-supported-hw:: +Refer to the :ref:`siwx917_wifi_features` page for a list of supported Wi-Fi features. + + Programming and Debugging ************************* .. zephyr:board-supported-runners:: + Flashing ======== diff --git a/boards/silabs/radio_boards/siwx917_rb4342a/doc/index.rst b/boards/silabs/radio_boards/siwx917_rb4342a/doc/index.rst index c865938ecb7..09bafa11f0e 100644 --- a/boards/silabs/radio_boards/siwx917_rb4342a/doc/index.rst +++ b/boards/silabs/radio_boards/siwx917_rb4342a/doc/index.rst @@ -30,6 +30,9 @@ Supported Features .. zephyr:board-supported-hw:: +Refer to the :ref:`siwx917_wifi_features` page for a list of supported Wi-Fi features. + + Programming and Debugging *************************