| Component | Description |
|---|---|
| User space | • Facilitates Wi-Fi parameter configuration and setup. • Supports factory testing and debugging. |
| Kernel space | • Facilitates communication between the driver and the application layers. |
| Driver | • Facilitates communication between the operating system (OS) and the wireless network hardware. • Initializes the firmware and downloads Board Data Files (BDF) required to bring up the WLAN RF. • Manages the control path and data path required for the 802.11 protocol. |
| Firmware | • A software component embedded in the Wi-Fi hardware device. • Manages low-level communication with the hardware. • Handles 802.11 protocol-based tasks like scanning for networks, establishing connections, and transmitting data over Wi-Fi hardware. |
ath11k driver software architecture
The following figure shows the high-level Wi-Fi software architecture with ath11k driver:
Figure : Wi-Fi software architecture with ath11k driver
User space components
The user space contains the following key components: Table : User space components| Component | Description |
|---|---|
| wpa_supplicant | • Manages secure connections to Wi-Fi networks. • Supports various security protocols, including WPA3, WPA2, and legacy ones. |
| Host access point daemon (hostapd) | • Enables a network interface card to function as an access point and authentication server. • Transforms your device into a wireless hotspot. • Provides Wi-Fi connectivity and handles authentication to ensure that devices connected to the network are authorized. • Supports various authentication methods, including WPA, WPA2, WPA3, and Extensible Authentication Protocol (EAP). • Functions as a remote authentication dial-in user service (RADIUS) client for communication with a RADIUS server. • Includes an integrated EAP server for certain EAP methods. |
Kernel space components
The kernel space contains the following key components: Table : Kernel space components| Component | Description |
|---|---|
| cfg80211 | • Manages the configuration of wireless devices. • Interfaces with mac80211, which uses the hardware-specific lower level ath10k, ath11k and ath12k driver. |
| Network stack | • A network stack provided by the OS. • Supports functions to manage the driver and handle various TCP/IP protocols as data flows to the driver. |
| mac80211 | • Implements open-source WLAN protocols as part of the Linux kernel. • Handles the registration and configuration of the network subsystem through cfg80211. cfg80211 implements this configuration through nl80211 and wireless extensions (WEXT). |
ath11k/ath12k driver components
The ath10k/ath11k/ath12k driver contains the following key components:| Component | Description |
|---|---|
| MAC interface | • Acts as an interface between mac80211 and lower layers of ath10k/ath11k/ath12k driver. • Interfaces with mac80211 through ath10k_ops/ath11k_ops/ath12k_ops_wifi7. • Sends data and management frames to the data path. • Sends configuration commands to the WMI path. |
| Control path | • Performs operations such as scan, authentication, and association. |
| Data path | • Manages the data traffic transmitted and received by WLAN. • Supports various features to ensure optimal performance. |
| Host software-firmware interface | • Includes WMI, HTT, and HAL. |
| WMI/HTT | • Implements high-level protocols between the host driver and firmware running on WLAN Qualcomm Hexagon™ Digital Signal Processor (Hexagon) on the SoC. • Typically, the WMI interface is used for control path transactions, and HTT is used for data path transactions. |
| HTT/HAL | • Abstracts hardware data structures and implements the recipe for direct MMIO-based register access and memory access. • Depends on the hardware or chip. • Interfaces between data path driver and WLAN hardware in a highly optimized packet path implementation. |
| Host interface for bus abstraction | • Provides host-target bus abstraction services. • Abstracts the peripheral control interface express (PCIe). |
| PCIe | • A hardware interface in the driver. |
| Copy engine (CE) | • Implements hardware pipe, Standard Ring Interface (SRNG) based communication channel between the host driver and firmware running on the CE interface over PCIe. |
| SNOC | • Primary interconnect fabric within a SOC (WCN3980 only). |
Firmware components
The WLAN firmware runs on a dedicated processor (Q6). The WLAN firmware binary contains the following key components:- Various 802.11 protocols and the statemachine of software modules
- Performance-related software algorithms like rate adaptation, coexistence, MIMO, and OFDMA
- Core MAC hardware programming recipes
- Uniform MAC/PHY service interface to upper layers
- Core PHY and RF hardware programming recipes. For example, RF calibration, BDF, and RADAR.

Figure : Firmware components
| Component | Description |
|---|---|
| Host-firmware interface | • Wireless Module Interface (WMI) – Control plane API definitions between host and firmware • Host Target Interface (HTT) – Data plane API definitions between host and firmware |
| Protocol | • Implements various 802.11 standards protocols and state machines, offloads, host command, scan algorithms and event handling |
| Performance algorithm and MAC services | • Performance algorithm implements performance related software algorithms like rate adaptation, transmit scheduler, Multi-User (MU) scheduler, MU grouping, Resource Unit (RU) allocator, Air Time Fairness (ATF) and hardware IP specific: Tx and Rx Data path, MAC control path sequences • MAC register programming and descriptor setup/completion, coexistence hardware recipes, chip power hardware recipes |
| HAL PHY | Common software infrastructure for PHY/RFA hardware and HAL-PHY interface to firmware. |
| PHY/RF software | • PHY/RFA hardware component access interface implementation modules containing hardware programming sequences/recipes specific to a given PHY/RFA and platform hardware IP |
| System software | • Implements all platform specific SoC related services |

