最近在进行和802.11漫游有关的工作,需要对wpa_supplicant认证流程和漫游过程有更多的了解,所以通过阅读论文等方式,记录整理漫游相关知识。Part1将记录802.11漫游的基本流程、802.11R的基本流程、与认证和漫游都有关的三层秘钥基础。Part1将包括普通漫游流程、三层秘钥原理 和802.11R漫游流程。Part2将包括wpa_supplicant有关部分解析,Part3将包括抓包分析。
本次记录将包含一次FT漫游的调用过程的一部分,驱动收到Auth Response后到wpa_supplicant返回reassociation response的过程,可以参照Part1:802.11漫游流程简单解析与笔记_Part1_wpa-psk 漫游 流程-优快云博客
其中的FT漫游过程的第二步到第三步的过程。
首先驱动已经发出了FT auth request,AP收到并回复了FT auth response,驱动收到了(以linux5.10.1内核自带的高通wil6210为例子)会发送WMI_FT_AUTH_STATUS_EVENTID这个event,相应的触发处理函数,最终发出cfg80211_ft_event(ndev, &ft);
参考802.11漫游流程简单解析与笔记_Part2_02_wpa_supplicant、cfg80211、nl80211内核与驱动的关系-优快云博客
可以知道cfg80211是发往内核的控制,内核会将其转为nl80211消息,发到wpa_supplicant
可见就是一个nl80211信息发送的过程。wpa初始化之后会等待nl 80211发来消息:
直到上面的信息发来,会触发对应的事件,进而触发wpa的处理函数,最终wpa发出FT_RESPONSE这一事件,此事件会触发后续操作,wpa会控制驱动发出reassociation request。