我的 openwrt GUI 显示所有 5Ghz 网络均已禁用。(带斜线的红色圆圈和“无线已禁用或未关联”)。我的电脑上也没有显示 5Ghz 无线网络。
我最近一直使用 5Ghz,但目前似乎无法正常工作。我目前有
- Netgear WNDR3800
- OpenWRT 稳定版 - 15.05 Chaos Calmer。(尚未是 15.05.1。
opkg update
几个月前我运行过一些,因此可能有点介于两者之间)。
我的配置主要只是模仿 CeroWRT(在 wndr3800 平台上开发的分支项目)。具体来说:
sqm-scripts
修复负载下的延迟(“kill bufferbloat”)。- 为“客人”和我自己建立单独的网络,这些网络通过路由而不是桥接至 LAN。
- 2.4Ghz 和 5Ghz 的独立网络。(我实际上更喜欢无缝漫游,正如最近Googly 演示 (TM);它对我来说并不总是 100% 可靠,最终我想要强制使用 2.4Ghz)。
我在路由器的系统日志中注意到以下内容:
Sun Apr 3 15:02:19 2016 user.notice SQM: Starting simple.qos
Sun Apr 3 15:02:19 2016 user.notice SQM: ifb associated with interface pppoe-wan:
Sun Apr 3 15:02:19 2016 user.notice SQM: Currently no ifb is associated with pppoe-wan, this is normal during starting of the sqm system.
Sun Apr 3 15:02:19 2016 daemon.notice netifd: radio1 (9031): wlan1: ACS-COMPLETED freq=5320 channel=64
Sun Apr 3 15:02:19 2016 daemon.notice netifd: radio1 (9031): Using interface wlan1 with hwaddr 74:44:01:86:42:d6 and ssid "VOYAGER2091-90-jenkins"
Sun Apr 3 15:02:20 2016 user.notice SQM: Squashing differentiated services code points (DSCP) from ingress.
Sun Apr 3 15:02:21 2016 kern.info kernel: [ 199.510000] IPv6: ADDRCONF(NETDEV_CHANGE): wlan1: link becomes ready
Sun Apr 3 15:02:21 2016 daemon.notice netifd: radio1 (9031): Could not set interface wlan1-1 flags (UP): Device or resource busy
Sun Apr 3 15:02:21 2016 daemon.notice netifd: radio1 (9031): Failed to add BSS (BSSID=76:44:01:86:42:d6)
Sun Apr 3 15:02:21 2016 daemon.notice netifd: radio1 (9031): Interface initialization failed
Sun Apr 3 15:02:21 2016 daemon.notice netifd: radio1 (9031): wlan1: interface state ACS->DISABLED
Sun Apr 3 15:02:21 2016 daemon.notice netifd: radio1 (9031): wlan1: AP-DISABLED
Sun Apr 3 15:02:21 2016 daemon.notice netifd: radio1 (9031): ACS: Possibly channel configuration is invalid, please report this along with your config file.
Sun Apr 3 15:02:21 2016 daemon.notice netifd: radio1 (9031): ACS: Failed to start
Sun Apr 3 15:02:21 2016 daemon.notice netifd: radio1 (9031): wlan1: AP-DISABLED
在路由器上运行/etc/init.d/network restart
没有帮助。
运行ifdown wifi_a_guest
然后ifup wifi_a_guest
似乎可以解决所有问题,直到下次重启。
答案1
最后两句话是关键。 OpenWRT 中似乎存在竞争条件,这是由我的特定配置触发的,如上所述。
启用miniupnpd
似乎也是其中的一部分。禁用它之后(由于 logspam 混乱),我发现 /etc/init.d/network restart
做过让 5Ghz 工作。这是下一个关键。
禁用可sqm
永久解决 5Ghz 问题。 当然,我想找到一种方法让 sqm 正常工作 :)。我知道它sqm
有一个相当慢的脚本(可能需要几秒钟),当其网络接口启动时运行。
由于 sqm 未配置为接触无线接口,我倾向于将问题归咎于 OpenWRT 的自有竞争条件netifd
。事实上,即使在用忙循环替换 sqm 的实现后,我也能重现故障。(没有延迟 -sleep 3
没有重现失败)。在/usr/lib/sqm/run.sh
:
run_sqm_scripts() {
local section="$1"
export IFACE=$(config_get "$section" interface)
[ -z "$RUN_IFACE" -o "$RUN_IFACE" = "$IFACE" ] || return
# XXX test hack
if [ "$RUN_IFACE" = "$IFACE" ]; then
let i=0
while [[ $i -le 20000 ]]; do
let i++
done
fi
return
# XXX end test hack
[ $(config_get "$section" enabled) -ne 1 ] && ACTION=stop