1.1.30 Client - Wi-Fi Configuration APIs

This interface provides functionality required for configuring the Wi-Fi. This includes powersave mode, regulatory domain and coexistence settings.

Wi-Fi powersave

The WINCS02 implements the 802.11 Protocol Power Save functionality.

When operating as a station, the device will notify the Access Point when it is unavailable to receive data (i.e. when the WINCS02 has been configured to disable its receiver when idle to save power). During such periods, the Access Point will temporarily store any traffic for any ‘sleeping’ station and indicate in its beacons (TIM/DTIM element) that data for the station has been buffered.

A WINCS02 station in powersave mode will wake periodically to listen for the beacons from the Access Point, and in the case where data has been buffered, the station will inform the Access Point that it is now ‘awake’ and available to receive.

Note: The WINCS02 device wakes every beacon interval to check for buffered traffic.

Wi-Fi powersave functionality is controlled using the functions WDRV_WINC_WifiPowerSaveModeSet and WDRV_WINC_WifiPowerSaveModeGet.

Regulatory Domains

An improper combination of transmit power level and antenna gain can result in Equivalent Isotropic Radiated Power (EIRP) that exceeds the amount allowed for the regulatory domain in which the device is operating. Regulatory authorities set the maximum transmit power of Wi-Fi devices for the region they govern; for example, the FCC and the CE regulatory authorities govern the US and Europe regions, respectively.

In short, the maximum transmit power is limited according to the regulatory region under which the device is known to be operating. The IC's "gain tables" allow the maximum transmit power to be controlled for up to 6 different regulatory domains/regions in WINCS02 devices.

Regulatory domain configuration is controlled using the functions WDRV_WINC_WifiRegDomainSet and WDRV_WINC_WifiRegDomainGet.

Wi-Fi/BT Coexistence

Bluetooth and Wi-Fi share the same 2.4GHz ISB Band. These wireless protocols have different modulations schemes, channel frequencies and bandwidths but may nevertheless interfere with one another, particularly when co-located. Signals from one wireless protocol look like unwanted noise for the other protocols, causing performance degradation. The WINCS02 implements Bluetooth/Wi-fi coexistence, compliant with the recommendations in IEEE 802.15.2. Supporting 2- and 3-wire PTA interfaces, the WINCS02 can be configured to assign priorities for WLAN and Bluetooth traffic to ensure collisions and corruption of frames is avoided. The WINCS02 supports both shared (switching) antenna and separate Bluetooth/Wi-Fi antennas.

Wi-Fi/BT coexistence is configured using the functions WDRV_WINC_WifiCoexConfSet and WDRV_WINC_WifiCoexConfGet. Configurations are applied using the function WDRV_WINC_WifiCoexEnableSet.

Sample command sequence

To configure and enable Bluetooth/Wi-Fi Coexistence on WINCS02, the driver API calls would be:

WDRV_WINC_STATUS WDRV_WINC_WifiCoexConfSet(DRV_HANDLE handle, WDRV_WINC_COEX_CFG *pCoexCfg)

WDRV_WINC_STATUS WDRV_WINC_WifiCoexEnableSet(DRV_HANDLE handle, bool enableCoexArbiter)

Turning BT on and off

Before enabling Bluetooth/Wi-Fi Coexistence, the user should first enable the BT device. If there is no more Bluetooth traffic and the user desires to switch off the BT device while BT/Wi-Fi Coexistence module is enabled, they should turn off the BT/Wi-Fi Coexistence module first, then the BT device. This is to avoid sampling of floating BT Active and/or BT Priority at the BT/Wi-Fi Coexistence PTA interface when the BT device is switched off. WLAN Active, instead, is always driven.

Wi-Fi MAC Configuration

Wi-Fi MAC configuration is updated through the function WDRV_WINC_WifiMACOptionsSet.

TX-AMPDU

A-MPDU stands for Aggregated MAC Protocol Data Unit, and it is a feature introduced in the IEEE 802.11n standard which allows multiple MPDUs to be aggregated into a single transmission. Aggregating multiple MPDUs into one larger frame results in a reduction of the on-air overhead associated with transmitting the same set of MPDUs as individual frames. Please note that the actual system performance characteristics when aggregating frames can be substantially affected by the wireless environment. One benefit of aggregating frames is that more frames can be transmitted whenever a station obtains access to the medium and this can lead to an improved throughput. However, in a noisy environment (e.g. poor signal to noise ratio), interference can corrupt individual frames requiring the sender to implement a more complex buffering and retransmission mechanism than if just single MPDUs are being exchanged, in the worst case, an entire A-MPDU may need to be retransmitted. Occasional interoperability issues have been observed between different vendor devices in such scenarios.

Tx A-MPDU is disabled by default. It can be enabled in STA mode, but it is always disabled when running in SoftAP mode. The Tx A-MPDU configuration (enabled/disabled) to be used must be set prior to establishing a connection to an Access-Point.

To enable TX-AMPDU, set the useTxAmpdu member in the WDRV_WINC_MAC_OPTIONS struct that is passed to WDRV_WINC_WifiMACOptionsSet.