关于Linux内核实现6GHz频段信道2的查证

一、源头

在做WIFI6E产品的时候,查看了下Linux内核关于6GHz频段的实现,发现在信道和频率转换时候针对信道2做了特殊处理,感觉十分困惑。
按自己的理解,6GHz频段有效的信道编号应该和5GHz类似,以数字1为开始,间隔4的数字(间隔1代表5MHz,最小信道为20MHz,因此间隔是4),比如1、5、9、13、...。这里来了个信道2又是什么鬼。

cfg80211: adapt to new channelization of the 6GHz band

二、查证过程

1、协议定义

根据代码里的的协议章节,在网上查找了下,确实有这部分说明,具体如下。这里描述了信道编号nch与频率值间的计算关系,但下面的提到的信道2似乎只是一个举例说明?

27.3.23.2 Channel allocation in the 6 GHz band
Instruction to Editor: Make changes as follows:

Channel center frequencies are defined at every integer multiple of 5 MHz above the channel starting > frequency. The relationship between center frequency and channel number is given in Equation (27-135).

Channel center frequency = Channel starting frequency + 5 > × nch (MHz) (27-135)
where
nch* = 1, …, 233
Channel starting frequency is defined as dot11ChannelStartingFactor × 500 kHz

For example, a channel center frequency of 5.955 GHz is indicated by dot11ChannelStartingFactor = > > 11 900 and nch = 1. A channel center frequency of 5.935 GHz is indicated by dot11ChannelStartingFactor = 11 850 and nch = 2.

再一步走读了下《802.11-2016.pdf》和《802.11ax-2021.pdf》文件,发现802.11对于法规的实现采用的是Global Operating Class强相关,不同的class类型定义了不同的dot11ChannelStartingFactor,对应的频率起点和范围也就各不相同,截取《802.11-2016.pdf》的Table E-1: Operating classes in the United States部分、《802.11ax-2021.pdf》里的Table E-4: Global Operating classes部分:

按目前协议文档定义来看,所有Operating Class类似里,落在6GHz频段的,确实只有信道2这个特殊化的数字,因此,内核简单地特殊处理似乎也没问题。

PS. 当前协议里总共定义了5种类似的Environment:

Table E-1: Operating classes in the United States
Table E-2: Operating classes in Europe
Table E-3: Operating classes in Japan
Table E-4: Global operating classes
Table E-5: Operating classes in China

2、报文呈现

最终在报文里是通过以下字段来通告的:

三、简单总结

802.11的法规处理实际是由国家码Code、Environment、Operating Class来实现,其中Envrionment和Operating Class是层级关联,分别指定了不同的约束(信道、功率、DFS等)。

你可能感兴趣的:(关于Linux内核实现6GHz频段信道2的查证)