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拒绝认证。

相关推荐
fangjianj8 小时前
windows环境反弹shell
linux·windows·web安全
有味道的男人8 小时前
得物详情 API|支持实时价格、成色、鉴别服务数据
windows·python·api
老王的笔记v9 小时前
46期 Windows超级管理器 垃圾清理 预装卸载与系统优化工具箱
windows·系统架构
张人玉11 小时前
基于 C# / .NET 8 + Windows Forms + SQLite 的桌面银行业务演示系统——华夏示范银行管理系统
windows·sqlite·c#·.net
Mr-Apple13 小时前
系统找不到指定的文件-CreateInstance/CreateVm/HCS/ERROR_FILE_NOT_FOUND
linux·windows·ubuntu·wsl
JSUITDLWXL14 小时前
jitsi-windows-local-translation
windows
点亮~黑夜16 小时前
远程连接浏览无桌面服务器上的图片
windows·软件构建
Albart57516 小时前
Docker Desktop 增量更新失败终极排查:Failed to apply delta update 反复回滚怎么办?
windows·docker·容器·docker部署大模型
Patrick在香港16 小时前
Claude + Python 数据管道:一次字段改名,786 行历史数据被静默重写
开发语言·windows·python·claude·数据工程·数据校验·数据管道
Tiny21417 小时前
解决VMware中win10虚拟机无法上网
网络·windows·vmware