# A Survey of Wi-Fi 6: Technologies, Advances, and Challenges
## 9 Tools for Performance Evaluation of Wi-Fi 6
### Real-World Experiments
#### 9.1.2 Software  
Multiple Wi-Fi 6 features require that different access points cooperate. For instance, sequentially scheduling the service periods with TWT, allocating orthogonal RUs for different BSSs, or assigning BSS colors would benefit from a global cooperation scheme. Thus, we are convinced that we need a common Application Programming Interface (API) so that an external vendor-independent entity can adapt the behaviors of the different access points. In this way, a controller may be able to control a heterogeneous set of Wi-Fi 6 access points. Researchers may also exploit this API to plug novel algorithms or evaluate performance in complex deployments.  
Wireless access points need a lightweight operating system to be executed on resource-constrained hardware. OpenWrt ([[https://openwrt.org/](https://openwrt.org/)]([https://openwrt.org/](https://openwrt.org/)), accessed on 1 September 2022) is a well-known Linux operating system for managing network devices including access points. It can be installed on any writable file system and provides more freedom for tuning the default configurations from vendors. OpenWrt is open source and can be modified to integrate novel software features.  
The operating system is not sufficient since some Wi-Fi features are implemented in the hardware. The firmware is a specific software installed in a small memory chip on the hardware and is in charge of the communication between the operating system and the **NICI (NICI)**. It provides the instructions to control specific hardware. Open-source firmware is beneficial for tuning some parameters. We identified three Linux firmwares:  
**ath11k ([[https://wireless.wiki.kernel.org/en/users/drivers/ath11k](https://wireless.wiki.kernel.org/en/users/drivers/ath11k)]([https://wireless.wiki.kernel.org/en/users/drivers/ath11k](https://wireless.wiki.kernel.org/en/users/drivers/ath11k)), accessed on 1 September 2022):**: This firmware is designed for Qualcomm Technologies' Wi-Fi 6 chipset. Its source code is freely available ([[https://github.com/kvalo/ath11k-firmware](https://github.com/kvalo/ath11k-firmware)]([https://github.com/kvalo/ath11k-firmware](https://github.com/kvalo/ath11k-firmware)), accessed on1 September 2022).
**MT7915 ([[https://github.com/openwrt/mt76/tree/master/mt7915](https://github.com/openwrt/mt76/tree/master/mt7915)]([https://github.com/openwrt/mt76/tree/master/mt7915](https://github.com/openwrt/mt76/tree/master/mt7915)), accessed on 1 September 2022):**: This firmware is designed for the Mediatek MT7915 chipsets, which consist of Wi-Fi 6 and Bluetooth 5 combo chipsets. MT7915 supports the Wave 1+ features listed in Table 7 and mostly targets routers, repeaters, and mesh networking equipment. It also supports EasyMesh features to create a meshed wireless topology of access points.
**MT7921 ([[https://github.com/openwrt/mt76/tree/master/mt7921](https://github.com/openwrt/mt76/tree/master/mt7921)]([https://github.com/openwrt/mt76/tree/master/mt7921](https://github.com/openwrt/mt76/tree/master/mt7921)), accessed on 1 September 2022):**: This firmware is designed for the Mediatek MT7921 chipsets and mostly targets notebooks and routers. MT7921 supports Wi-Fi 6 with a 2 \(\times\) 2 dual antenna.  
However, the firmware provides often very limited access to Wi-Fi 6 features (or even none for the non-open-source versions). Many features are implemented in the hardware and can only be executed as a blackbox.