Skip to main content
The Wi-Fi software architecture comprises the following components. Table : Wi-Fi software components
ComponentDescription
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

Figure : Wi-Fi software architecture with ath11k driver

The software architecture of the ath11k driver can be referenced for ath10k/ath12k. The current interface used by WCN3980 is SNOC.

User space components

The user space contains the following key components: Table : User space components
ComponentDescription
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
ComponentDescription
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:
ComponentDescription
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

Figure : Firmware components

The following table provides the list of firmware components and their description. Table : Firmware components
ComponentDescription
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 PHYCommon 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