解析FreeBSD无线代码文件
FreeBSD提供了一份无线wlan的代码文件,在配置wlan的时候会自动调用,这个文件就是:/etc/regdomain.xml,可以用vi打开,是标准的xml文件。
看这个文件,可以从1330行的country-codes开始看,先找到中国代码再说:
1393 <country id="CN">
1394 <isocc>156</isocc> <name>China</name> <rd ref="row"/>
1395 </country>
“CN”代表中国,这个都能看懂,第一个子标签里是中国的ISO国家代码156,不要跟长途电话号码前缀86弄混了,接下来是“中国”,这个不可能不懂吧。后面<rd>标签里面是最重要的东东,代表执行的标准,中国执行的标准是“row”,那么这个“row”的具体细节是什么呢?
用搜索搜row:
1037 <!-- Rest Of World -->
1038
1039 <rd id="row">
1040 <name>ROW</name>
1041 <sku>0x8a</sku>
1042 <netband mode="11b">
1043 <band>
1044 <freqband ref="F1_2412_2462"/>
1045 <maxpower>30</maxpower>
1046 <flags>IEEE80211_CHAN_B</flags>
1047 </band>
1048 </netband>
1049 <netband mode="11g">
1050 <band>
1051 <freqband ref="F1_2412_2462"/>
1052 <maxpower>30</maxpower>
1053 <flags>IEEE80211_CHAN_G</flags>
1054 </band>
1055 </netband>
1056 <netband mode="11a">
1057 <band>
1058 <freqband ref="F1_5745_5805"/>
1059 <maxpower>23</maxpower>
1060 <flags>IEEE80211_CHAN_PASSIVE</flags>
1061 </band>
1062 </netband>
1063 <netband mode="11ng">
1064 <band>
1065 <freqband ref="F1_2412_2462"/>
1066 <maxpower>30</maxpower>
1067 <flags>IEEE80211_CHAN_G</flags>
1068 <flags>IEEE80211_CHAN_HT20</flags>
1069 </band>
1070 <band>
1071 <freqband ref="H4_2412_2462"/>
1072 <maxpower>30</maxpower>
1073 <flags>IEEE80211_CHAN_G</flags>
1074 <flags>IEEE80211_CHAN_HT40</flags>
1075 </band>
1076 </netband>
1077 <netband mode="11na">
1078 <band>
1079 <freqband ref="F1_5745_5805"/>
1080 <maxpower>23</maxpower>
1081 <flags>IEEE80211_CHAN_HT20</flags>
1082 <flags>IEEE80211_CHAN_PASSIVE</flags>
1083 </band>
1084 <band>
1085 <freqband ref="H4_5745_5805"/>
1086 <maxpower>23</maxpower>
1087 <flags>IEEE80211_CHAN_HT40</flags>
1088 <flags>IEEE80211_CHAN_PASSIVE</flags>
1089 </band>
1090 </netband>
1091 </rd>
1092
1037行,表示这是“Rest Of World”(世界其他地区,看来中国被排斥在主流世界之外了)。
<netband mode="11b">:表示11b的标准,下面定义的<band>表示“波段”:
<freqband ref="F1_2412_2462"/>:频率范围,此处是2.4G的波段。
<maxpower>30</maxpower>:最大功率,单位是30dBm,换算成功率就是1W,在5G段,最高为23dbm,所以功率要小不少——实际室内的应用中,功率越小速度会越快,千万不要以为功率越大速度越快。
<flags>IEEE80211_CHAN_B</flags>频率段说明,还有带HT40字样的说明,表明支持ht40扩展频道。
这部分只是说明了频率段,比如11ng中国有两段,但是这两段有多少个频道呢?再继续向下看,找
1853 <freqband id="F1_2412_2462">
1854 <freqstart>2412</freqstart> <freqend>2462</freqend>
1855 <chanwidth>20</chanwidth> <chansep>5</chansep>
1856 </freqband>
1857 <freqband id="H4_2412_2462">
1858 <freqstart>2412</freqstart> <freqend>2462</freqend>
1859 <chanwidth>40</chanwidth> <chansep>5</chansep>
1860 </freqband>
这地方说明了起止频率,以及相应的带宽。
有了这些参数,在设置wlan的时候就可以国家代码之间的区别,同一个设备,设置为不同的国家代码会有不同的结果,对于跨国的设备来说还是要一定意义的,在部署wifi的时候也可以做一个参考。