> ## Documentation Index
> Fetch the complete documentation index at: https://dragonwingdocs-staging.qualcomm.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Wi-Fi 架构

Wi-Fi 软件架构由以下组件组成。

**表：Wi-Fi 软件组件**

| **组件** | **描述**                                                                                                                |
| ------ | --------------------------------------------------------------------------------------------------------------------- |
| 用户空间   | • 便于 Wi-Fi 参数配置和设置。<br /><br />	• 支持工厂测试和调试。                                                                          |
| 内核空间   | • 便于驱动程序与应用层之间的通信。                                                                                                    |
| 驱动程序   | • 便于操作系统 (OS) 与无线网络硬件之间的通信。<br /><br />	• 初始化固件并下载启动 WLAN RF 所需的板卡数据文件 (BDF)。<br /><br />	• 管理 802.11 协议所需的控制路径和数据路径。 |
| 固件     | • 嵌入在 Wi-Fi 硬件设备中的软件组件。<br /><br />	• 管理与硬件的低层通信。<br /><br />	• 处理基于 802.11 协议的任务，如扫描网络、建立连接以及通过 Wi-Fi 硬件传输数据。        |

## **ath11k 驱动程序软件架构**

下图展示了使用 ath11k 驱动程序的高级 Wi-Fi 软件架构：

<div className="flex flex-col items-center gap-2">
  <img src="https://mintcdn.com/qualcomm-staging/uWQLnBcS9sxlZhgB/Technologies/Wi-Fi/media/qli-wi-fi/ath11k-driver.png?fit=max&auto=format&n=uWQLnBcS9sxlZhgB&q=85&s=e86298b2a8a6d6d27913427e3de73d3f" alt="图：使用 ath11k 驱动程序的 Wi-Fi 软件架构" width="462" height="614" data-path="Technologies/Wi-Fi/media/qli-wi-fi/ath11k-driver.png" />

  <p className="text-sm text-gray-700">
    图：使用 ath11k 驱动程序的 Wi-Fi 软件架构
  </p>
</div>

ath11k 驱动程序的软件架构可作为 ath10k/ath12k 的参考。WCN3988 当前使用的接口是 SNOC。

### **用户空间组件**

用户空间包含以下关键组件：

**表：用户空间组件**

| **组件**              | **描述**                                                                                                                                                                                                                                                              |
| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| wpa\_supplicant     | • 管理与 Wi-Fi 网络的安全连接。<br /><br />	• 支持各种安全协议，包括 WPA3、WPA2 和传统协议。                                                                                                                                                                                                     |
| 主机接入点守护程序 (hostapd) | • 使网络接口卡能够充当接入点和身份验证服务器。<br /><br />	• 将您的设备变成无线热点。<br /><br />	• 提供 Wi-Fi 连接并处理身份验证，以确保连接到网络的设备均获得授权。<br /><br />	• 支持各种身份验证方法，包括 WPA、WPA2、WPA3 和可扩展身份验证协议 (EAP)。<br /><br />	• 作为远程身份验证拨入用户服务 (RADIUS) 客户端与 RADIUS 服务器通信。<br /><br />	• 包含针对某些 EAP 方法的集成 EAP 服务器。 |

### **内核空间组件**

内核空间包含以下关键组件：

**表：内核空间组件**

| **组件**   | **描述**                                                                                                         |
| -------- | -------------------------------------------------------------------------------------------------------------- |
| cfg80211 | • 管理无线设备的配置。<br /><br />	• 与 mac80211 交互，后者使用特定于硬件的低层 ath10k、ath11k 和 ath12k 驱动程序。                             |
| 网络协议栈    | • 由操作系统提供的网络协议栈。<br /><br />	• 支持管理驱动程序的功能，并在数据流向驱动程序时处理各种 TCP/IP 协议。                                          |
| mac80211 | • 作为 Linux 内核的一部分实现开源 WLAN 协议。<br /><br />	• 通过 cfg80211 处理网络子系统的注册和配置。cfg80211 通过 nl80211 和无线扩展 (WEXT) 实现此配置。 |

### **ath10k/ath11k/ath12k 驱动程序组件**

ath10k/ath11k/ath12k 驱动程序包含以下关键组件：

| **组件**      | **描述**                                                                                                                                                                                     |
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| MAC 接口      | • 作为 mac80211 与 ath10k/ath11k/ath12k 驱动程序低层之间的接口。<br /><br />	• 通过 ath10k\_ops/ath11k\_ops/ath12k\_ops\_wifi7 与 mac80211 交互。<br /><br />	• 将数据帧和管理帧发送到数据路径。<br /><br />	• 将配置命令发送到 WMI 路径。 |
| 控制路径        | • 执行扫描、身份验证和关联等操作。                                                                                                                                                                         |
| 数据路径        | • 管理 WLAN 发送和接收的数据流量。<br /><br />	• 支持各种特性以确保最佳性能。                                                                                                                                         |
| 主机软件-固件接口   | • 包括 WMI、HTT 和 HAL。                                                                                                                                                                        |
| WMI/HTT     | • 实现主机驱动程序与运行在 SoC 上 WLAN Qualcomm Hexagon™ 数字信号处理器 (Hexagon) 中的固件之间的高级协议。<br /><br />	• 通常，WMI 接口用于控制路径事务，HTT 用于数据路径事务。                                                                   |
| HTT/HAL     | • 抽象硬件数据结构，并实现基于直接 MMIO 的寄存器访问和内存访问方案。<br /><br />	• 取决于硬件或芯片。<br /><br />	• 在高度优化的数据包路径实现中充当数据路径驱动程序与 WLAN 硬件之间的接口。                                                                       |
| 用于总线抽象的主机接口 | • 提供主机-目标总线抽象服务。<br /><br />	• 抽象外围控制接口 Express (PCIe)。                                                                                                                                    |
| PCIe        | • 驱动程序中的硬件接口。                                                                                                                                                                              |
| 复制引擎 (CE)   | • 实现硬件管道，即通过 PCIe 在主机驱动程序与运行在 CE 接口上的固件之间基于标准环形接口 (SRNG) 的通信通道。                                                                                                                            |
| SNOC        | •  SOC 内的主要互连结构（仅限 WCN3988）。                                                                                                                                                               |

### **固件组件**

WLAN 固件在专用处理器 (Q6) 上运行。WLAN 固件二进制文件包含以下关键组件：

* 各种 802.11 协议和软件模块的状态机
* 与性能相关的软件算法，如速率自适应、共存、MIMO 和 OFDMA
* 核心 MAC 硬件编程方案
* 面向上层的统一 MAC/PHY 服务接口
* 核心 PHY 和 RF 硬件编程方案。例如，RF 校准、BDF 和 RADAR。

<div className="flex flex-col items-center gap-2">
  <img src="https://mintcdn.com/qualcomm-staging/uWQLnBcS9sxlZhgB/Technologies/Wi-Fi/media/qli-wi-fi/firmware-components.png?fit=max&auto=format&n=uWQLnBcS9sxlZhgB&q=85&s=6c60a24bdc72d860b81e9ffeb4d69547" alt="图：固件组件" width="1100" height="1385" data-path="Technologies/Wi-Fi/media/qli-wi-fi/firmware-components.png" />

  <p className="text-sm text-gray-700">
    图：固件组件
  </p>
</div>

下表提供了固件组件列表及其描述。

**表：固件组件**

| **组件**       | **描述**                                                                                                                                                                |
| ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 主机-固件接口      | • 无线模块接口 (WMI) – 主机与固件之间的控制平面 API 定义​<br /><br />	• 主机目标接口 (HTT) – 主机与固件之间的数据平面 API 定义                                                                                |
| 协议           | • 实现各种 802.11 标准协议和状态机、卸载、主机命令、扫描算法和事件处理                                                                                                                              |
| 性能算法和 MAC 服务 | • 性能算法实现与性能相关的软件算法，如速率自适应、发送调度器、多用户 (MU) 调度器、MU 分组、资源单元 (RU) 分配器、空中时间公平性 (ATF)​，以及特定于硬件 IP 的：Tx 和 Rx 数据路径、MAC 控制路径序列<br /><br />	• MAC 寄存器编程和描述符设置/完成、共存硬件方案、芯片电源硬件方案 |
| HAL PHY      | 用于 PHY/RFA 硬件的通用软件基础设施以及面向固件的 HAL-PHY 接口。​                                                                                                                            |
| PHY/RF 软件    | • PHY/RFA 硬件组件访问接口实现模块，包含特定于给定 PHY/RFA 和平台硬件 IP 的硬件编程序列/方案​                                                                                                           |
| 系统软件         | • 实现所有特定于平台的 SoC 相关服务                                                                                                                                                 |
