我正在制作一个无线相框。有一件事我一直没搞清楚,那就是如何使用推荐的方法恢复我的 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 wlan0
ifup
您可以编写一个小脚本来尝试获取文件,ifup
如果失败则运行它,并且每隔一两个小时执行一次。