我在运行 Apache 和 Samba 的 Intel NUC 上设置了一个 Debian 服务器。它仅通过静态 IP 通过 WiFi 连接。我在服务器的内核日志中注意到,当路由器未检测到 NUC 的 WiFi 连接有任何活动时,WiFi 连接 (iwlwifi) 会与路由器断开关联。
问题是,一旦发生这种情况,就无法 ping 通服务器,而且我不知道如何重新建立 WiFi 连接使用键盘从服务器本身(即 ping 路由器即可恢复连接)。
这是正常现象吗?如果是,则意味着 WiFi 连接最终将断开并且永远不会重新连接,因为我认为服务器上没有运行任何发送常规网络请求的程序。
除了使用 cron 定期 ping 路由器之外,还有其他方法可以解决这个问题吗?
更新:
问题似乎出在路由器上。我使用的是运行 OpenWRT 的 Linksys WRT3200ACM,这款路由器显然由于其 Marvell 芯片组和开源 Linux 驱动程序而存在 WiFi 问题。我在网络上放置了一个带有联发科 WiFi 芯片的接入点(绕过 Linksys 的 WiFi),连接问题就消失了。
因此,这里的要点是,在运行开源固件时,不要指望 WRT3200ACM 的 WiFi 性能稳定。
答案1
加入或重新加入 Wi-Fi 网络始终由客户端设备决定。路由器 (AP) 无法启动此操作。
所有 Wi-Fi 客户端设备都有自己的软件来管理 Wi-Fi 连接的状态,并在因“非致命”原因断开连接时自动重新连接。如果您的 Linux 机器上没有发生这种情况,您应该对 Linux Wi-Fi 子系统进行故障排除。例如,我可以想象配置错误的 wpa_supplicant 可能会导致您看到的问题。或者可能是无线驱动程序有问题。