Wifi6 在ConnnectCore下的实现
注意,如果没有设置区域或国家,默认在 country code=00 下,当 country code=00 时,系统使用的是默认全局监管域(由 cfg80211 提供),通常是非常严格的限制,以确保兼容所有地区的法规。 在这种情况下,5 GHz 和 6 GHz 的非DFS信道(如 channel 36、149)都有 no IR 限制,无法用于AP模式。唯一可用的非DFS WiFi 6 信道是 2.4 GHz 的 channel 1-11(例如 channel 6),但带宽限于40 MHz,速度较低。 因此,在没有设置国家区域时,即使ConnectCore硬件支持WiFi 6(ieee80211ax=1),但 country=00 的严格限制将使得5 GHz 高频宽的信道无法正常工作。
系统启动后,可以用iw reg命令来设置国家区域,但了避免每次重启都需要手动运行 iw reg set CN,需要将监管域持久化到系统中。
方法1、可在设备树中设置并编译更新 wireless {
regulatory-domain = "CN";
};
方法2、使用 crda 或 wireless-regdb 编辑 /etc/default/crda :REGDOMAIN=CN
方法3、systemd 或rc.local之类的,在脚本中设置
#!/bin/sh iw reg set CN exit 0
中国监管域下的非DFS WiFi 6 信道
设置 country_code=CN 后,可用的非DFS 5 GHz 信道:
5150-5350 MHz(UNII-1 和 UNII-2A,channel 36-64) 包括 channel 36(5180 MHz)、channel 40(5200 MHz)、channel 44(5220 MHz)等。 带宽:支持80 MHz。 功率:最大23 dBm,室内使用。 5725-5850 MHz(UNII-3,channel 149-165) 包括 channel 149(5745 MHz)、channel 153(5765 MHz)、channel 157(5785 MHz)等。 带宽:支持80 MHz。 功率:最大30 dBm,室内外使用。
推荐用
channel 149:80 MHz 中心频率索引 155。 channel 36:80 MHz 中心频率索引 42。
用systemd的办法:
nano /etc/systemd/system/set-regdomain.service
[Unit] Description=Set regulatory domain to CN After=network.target [Service] Type=oneshot ExecStart=/bin/bash -c "/usr/sbin/iw reg reload && /usr/sbin/iw reg set CN" RemainAfterExit=yes [Install] WantedBy=multi-user.target
另外,一个可用的udhcpd.service
[Unit] Description=DHCP Server After=network-online.target hostapd@uap0.service Wants=network-online.target [Service] ExecStart=/usr/sbin/udhcpd -f /etc/udhcpd.conf Restart=on-failure RestartSec=5s StartLimitInterval=0 [Install] WantedBy=multi-user.target
dhcpd.conf
# udhcpd configuration for uap0 interface uap0 start 192.168.46.100 end 192.168.46.200 max_leases 10 opt router 192.168.46.30 opt lease 86400