windows网络适配器驱动开发-WiFiCx Wi-Fi 7 功能要求(二)

AP发现------MLO能力的识别与标记

在扫描阶段,驱动程序负责将原始的信标(Beacon)和探测响应(Probe Response)帧内容传递给Windows。Windows操作系统会解析这些帧中包含的多链路元素(Multi-Link Element)以及精简邻居报告(RNR,Reduced Neighbor Report)信息元素(IE)。若检测到AP宣告了MLO能力(例如通过Multi-Link Element中携带的MLD MAC地址和链路配置),Windows会将该AP标记为"支持MLO",并在后续连接决策中将其作为MLO候选。

驱动程序在此过程中无需额外处理,但必须确保原始帧的完整性和正确性,不得过滤或篡改任何IE。尤其在6GHz频段,RNR IE对于发现共置的2.4/5GHz AP至关重要,驱动程序应确保这些信息被正确传递至上层。

多链路连接设置------MLO的启用与约束

当用户或系统策略触发连接请求时,Windows会通过OID_WDI_TASK_CONNECT任务下达连接参数。该任务的WDI_TLV_CONNECTION_SETTINGS结构中包含一个关键标志------MloConnectionSupported。该标志指示驱动程序是否可以将此连接作为MLO连接来建立。

若MloConnectionSupported为TRUE,驱动程序应优先尝试使用MLO方式连接至目标AP。但必须遵守以下约束:驱动程序只能使用WDI_TLV_RSNA_AKM_CIPHER_SUITE中指定的AKM和密码对进行连接,不得协商其他未列出的套件。唯一的例外情况是身份验证或密码套件不属于RSNA IE(Robust Security Network Information Element)范畴(例如,某些供应商特定的预认证机制),此时可以灵活处理。

对于基于SAE(Simultaneous Authentication of Equals)的连接,Windows会在SAE提交请求(Commit Request)阶段就携带AKM和密码信息,告知驱动程序在后续关联请求中应使用的安全套件。这种提前协商机制避免了多次往返交换能力信息,加速了连接建立过程。

身份验证流程------SAE与MLO的融合

在Wi-Fi 7 MLO场景中,SAE身份验证需要额外传递链路信息,以支持多条链路的同步认证。具体而言,Windows在调用OID_WDI_SET_SAE_AUTH_PARAMS时,会在WDI_TLV_SAE_COMMIT_PARAMS中设置AKM和密码套件,这些值通过WDI_TLV_RSNA_AKM_SUITE和WDI_TLV_CIPHER_ALGORITHM TLV传递。驱动程序在稍后构建关联请求帧时必须使用这些值,确保与AP协商一致。

当驱动程序需要向操作系统请求SAE身份验证参数时(通过NDIS_STATUS_WDI_INDICATION_SAE_AUTH_PARAMS_NEEDED指示),必须正确填充以下字段:

  • BSSID(通过WDI_TLV_BSSID):设置为目标AP的链路MAC地址(即该特定链路的BSSID)。

  • LocalMloLinkBssId(通过WDI_TLV_MLO_LINK_BSSID):设置为本地对应的链路MAC地址,以便AP能够识别该链路属于同一个MLD。

此外,当连接MLO时,驱动程序在构造和发送身份验证帧时,必须包含适当的多链路IE(Multi-Link IE),其中应列出参与该MLO会话的所有链路的BSSID和操作参数。缺失或错误的Multi-Link IE会导致AP拒绝认证。

相关推荐
承渊政道14 小时前
Fooocus本地AI绘图教程:Windows部署、低门槛生图与远程访问
人工智能·windows·cpolar·fooocus·生图
陈工大模型16 小时前
收到乱码压缩包之后,我重新测了 7-Zip、Bandizip 和win解压缩
windows·电脑·软件工程·软件需求·7-zip
谙弆悕博士18 小时前
在文件夹右键直接打开 Kali WSL:一条 `wsl --cd` 注册表脚本
windows·脚本·wsl·右击·ksli
陈工大模型18 小时前
解压工具的三个技术分水岭:编码、分卷、容器格式
人工智能·windows·安全·解压工具·免费国内办公软件
Zucker n2 天前
文献发现、课题组织与证据可追溯的论文阅读。
论文阅读·windows·ubuntu
flyingonpine3 天前
PowerShell脚本数字签名实战:自签名证书、代码签名与信任链验证
windows·信任链
goehou3 天前
让 AI 替我操作这台电脑,先把手能伸多远定下来
windows·自动化·权限管理·ai agent
公子小六3 天前
基于.NET的Windows窗体编程之WinForms数据持久化(1)
windows·microsoft·c#·.net·winforms
2601_967987373 天前
安装 Redis 或 Redis Stack
linux·windows·redis·macos·安装
xbzb4 天前
自定义 yum 软件源:Linux 上 createrepo,Windows 上纯 Python 也能造
linux·运维·windows·python·yum·createrepo