注意,如果没有设置区域或国家,默认在 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