我正在尝试使用安装了 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