初始化过程:
cfg80211_init
-->regulatory_init
-->regulatory_hint_core
wiphy_register
如果驱动有配置reg信息,则优先使用驱动的配置

如果驱动没有配置reg,并且上层没有传下country_ie,则使用cfg80211默认的reg “00”
最后配置生效的地方:

使用流程:
扫描流程:ieee80211_prep_hw_scan
会把支持的reg信息加入到req当中,具体函数ieee80211_build_preq_ies
beacon帧处理:ieee80211_rx_mgmt_beacon
连接帧处理:ieee80211_send_assoc
ieee80211_add_ht_ie
宏说明:NL80211_RRF_AUTO_BW
如果reg的flag包含了这个flag,则在解析信道的时候会进行组合,然后得出最大带宽
例如下reg组合:
第二个REG_RULE中带有flag NL80211_RRF_AUTO_BW,这带宽会把整个组合中的最大带宽计算出来,以为第二个REG_RULE的start_frq小于第一个REG_RULE的end_frqs,且第三个REG_RULE的start_frq小于第二个end_frq,所以最后得出的带宽为2402--2494;

本文详细解析了无线网络中监管信息配置的初始化过程,包括cfg80211_init和regulatory_init函数的作用,以及如何根据驱动配置和上层传参确定最终的reg信息。此外,还介绍了在扫描、beacon帧处理和连接帧处理中监管信息的使用流程。
2332

被折叠的 条评论
为什么被折叠?



