检查连接并重新连接 wifi

检查连接并重新连接 wifi

我正在制作一个无线相框。有一件事我一直没搞清楚,那就是如何使用推荐的方法恢复我的 wifi 连接。

现在我编辑了 /etc/network/interfaces,以便 wlan0 在启动时启动:

auto wlan0
iface wlan0 inet dhcp
        wireless-essid ourssid

此方法对于启动来说很有效。但我发现如果我长时间(可能是一周)不检查连接,它可能会断线。所以我应该重新连接。

我现在要验证连接是否正常工作,就是从无法缓存的服务器下载文件(http://server.ext/ping.php?randomize=123456)如果我无法检索文件,我会假设连接不再工作,然后运行如下 shell 脚本

#!/bin/bash
ifconfig wlan0 up
iwconfig wlan0 essid "ourssid"
dhclient wlan0

然后连接就恢复了。但我看不出这是否是一个好方法。

这还有改进的余地吗,或者这已经是对的了吗?

答案1

我在以下位置找到了以下脚本http://sirlagz.net/2013/01/10/script-wifi-checker-script/

  • 只需创建一个新文件vi /root/checkwanup

    #!/bin/bash
    
    wlan=`/sbin/ifconfig wlan0 | grep inet\ addr | wc -l`
    
    if [ $wlan -eq 0 ]; then
    /sbin/ifdown wlan0 && /sbin/ifup wlan0
    else
    echo interface is up
    fi
    
  • 然后chmod 555 /root/checkwanup

  • 将其添加到你的 crontab

    crontab -e
    */15 * * * * /bin/bash /root/checkwanup
    

答案2

ifup wlan0应该自动为您完成所有这些。

它读取文件并执行启动时会执行的所有操作。如果认为接口已启动,则interfaces可能必须先运行。ifdown wlan0ifup

您可以编写一个小脚本来尝试获取文件,ifup如果失败则运行它,并且每隔一两个小时执行一次。

相关内容