解析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的时候也可以做一个参考。