OpenWrt 上两个 WiFi 网络只能同时工作

OpenWrt 上两个 WiFi 网络只能同时工作

我正在尝试使用安装了 OpenWrt 的设备 TP-Link 3020 路由器通过 WiFi 连接和连接。

我有家庭 WiFi 网络,并设置了与该网络的连接(“客户端模式”)。然后,我在同一个无线电上设置了另一个接口,以将我的计算机连接到设备(“ap 模式”)。

Client 模式与 WAN 关联,通过 DHCP 获取 192.168.10.1/24 空间的地址 AP 模式与 LAN 关联,在 192.168.1.1/24 空间分配地址

一切正常,但直到家庭 WiFi 启动。当我关闭它时,两个连接都消失了,也就是说,我无法连接到互联网,这是正常的,但我也看不到 AP 网络来从计算机连接到设备,例如,查看 LUCI 页面。

在此处输入图片描述

此配置有效,但直到In The Moon Network启动。当 停止时,pfSense router也会Out of The Moon Network停止。尽管 仍处于设置状态,但它不再可访问和可见MR3020

为何以及如何克服?

更新

12.04从到升级14.07-rc3并重新排序界面没有帮助。

更新2

如果能解释一下为什么它不能满足MR3020我的要求(例如需要两台收音机,但只有一台收音机),我将不胜感激。

答案1

现在,这并不是一个确切的答案,而是一个解释,为什么仅使用一个无线电就很难成为中继器(这就是您要做的事情,尽管有路由)。单个无线电只能在一个 WiFi 信道上工作。

在站点模式下,一切都很好。您将频道设置为 ,auto并且wpa_supplicant(或wpad)会处理所有事情,包括使用正确的频道。漫游也将起作用,因为会动态选择适当的频道。

在 AP 模式下,您必须明确指定无线电将在哪个信道上提供网络。如果不“重启”网络,此信道就无法更改。

因此,在中继器模式下,您既是站点又是 AP,信道也是固定的。这有一些影响。最明显的当然是漫游不再起作用。不太明显,但更不幸的是:在扩展无线网络时,您会创建一个干扰上游网络的下游网络。因此,虽然您确实可以改善范围,但质量会下降。

当站点关闭时 AP 也会关闭的问题很可能是只有一个无线电的副作用。

我花了很多时间尝试为我的大学网络构建一种中继器(使用 MR3020),但由于许多问题无法通过自动解决方案解决而放弃了。

答案2

我在 TL-MR3020 和 TL-WR703N 上遇到了类似的问题。一种可能的解决方案是:

  • 尝试使用默认设置(例如两个网络)。
  • 启动后 15 秒(左右)尝试测试上行链路连接。
  • 如果上行链路不可用,请禁用上行链路 Wi-Fi 接口并重新启动 Wi-Fi。

因此在启动时作为后台任务检查脚本启动:即添加到 /etc/rc.local 行

wifi-sentinel.sh &

调用以下脚本:

# wifi-sentinel.sh (on syspath, e.g., in /usr/bin/)
#!/bin/sh

# use uci show wireless to list interfaces

# test both networks.
uci set wireless.@wifi-iface[2].disabled=0; 
uci commit wireless; 
wifi

# wait some time and test
sleep 15 

if wget http://google.com; then
   logger "You have uplink, no action."
# disable uplink wifi and restart if no connection is available
else
   uci set wireless.@wifi-iface[2].disabled=1; 
   uci commit wireless; 
   wifi
fi

答案3

从理论上讲,这可行,但它需要 hostapd、wpa_supplicant、内核驱动程序和无线电本身的固件以及将其绑定在 OpenWRT 中的粘合剂的配合,这是一种不寻常的(因此未经测试的)设置。

我在类似的硬件上进行了类似的设置。我怀疑 hostapd/wpa_supplicant 不能很好地协同工作。当 AP 因 STA 模式访问丢失而关闭时,通过以太网连接 logread 特别显示了一行:

Sun Oct 12 03:54:23 2014 daemon.notice netifd: Network device 'wlan0-1' link is down

也就是说,共享同一无线电的其他接口也被标记为关闭。

进行进一步挖掘后,当一切正常时,我们可以看到 AP 端:

> iw dev wlan0-1 info
Interface wlan0-1
    ifindex 38
    wdev 0x16
    addr XX:XX:XX:XX:XX:XX
    ssid YYYYYYY
    type AP
    wiphy 0
    channel 6 (2437 MHz), width: 20 MHz, center1: 2437 MHz

当接口关闭时,AP 会丢失 SSID 和信道设置:

> iw dev wlan0-1 info
Interface wlan0-1
    ifindex 38
    wdev 0x16
    addr XX:XX:XX:XX:XX:XX
    type AP
    wiphy 0

最终,在我的 AP 模式操作似乎无需任何辅助即可恢复。

我尝试了各种手动重置方法,但最终我使用 USB WiFi 适配器解决了这个问题,该适配器用于 STA 模式设备的 USB 端口。如今,多个独立无线电是一种更好的解决方案,而且使用 OpenWRT 上的 USB 端口既便宜又简单。

答案4

如果 wpa_supplicant 失去连接,它将进入主动扫描周期,这会导致 wiphy 无法用于 ap 模式操作,因此如果 sta 失去关联,ap 将被关闭。这不是可以轻松修复的问题,目前也没有计划解决这个问题。

阅读更多内容

https://dev.openwrt.org/ticket/12000 https://forum.openwrt.org/viewtopic.php?id=41610

相关内容