数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 429|回复: 6
打印 上一主题 下一主题

sb676.com: 路由中继的信号掉线后自身的WIFI信号也跟着消失?写个小脚本让它自动重现

[复制链接]
跳转到指定楼层
1#
发表于 2019-10-4 19:57:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,认识更多玩家好友,查阅更多资源,享有更多功能

您需要 登录 才可以下载或查看,没有帐号?立即注册 微信登录

x
本帖最后由 deyafe 于 2019-10-4 19:59 编辑

       用原生OPENWRT的系统做无线中继,都有可能会出现这样的现象,就是在被中继的WIFI信号因某些原因(如上级路由关机等情况)消失了,做中继的路由自身与被中继路由同频率的AP信号有可能也跟着消失(我现在用的版本看人品,有时会有时不会)。如果路由器还有有线设备连着,可以用有线设备进入路由器查看上级路由是否掉线;但如果路由器只做无线中继,挂在高处,不方便插网线连接的,出现这种情况只能怀疑是路由器死机了。
       我这里没拉宽带,上班只能用手机流量,没布网线,有时候需要两个路由来中继手机热点,而且水果手机开热点不能固定信道,就算把路由器的信道设定为AUTO有时候也不能自动连上,于是就写了个小脚本来解决这个问题,以下是脚本内容:
  1. #!/bin/sh
  2. ping -c 4 www.baidu.com  //ping百度4次,4次都不通就认为外网不通了
  3. if [ $? -ne 0 ] ;then  //$?是ping的结果,假如外网不通
  4.   {
  5.       AA=$(uci get wireless.@wifi-iface[?].disabled)  //AA是变量可以自己定义,括号里的命令是获取做客户端的SSID开关状态并赋予变量AA,wifi-iface[?]是SSID节点,通过uci show wireless查询
  6.       if [ ! $AA ] ;then AA="0" //因为SSID打开时disabled的值默认是没有的,所以要判断disabled的值是否存在,不存在就认为SSID处于打开状态,然后赋予变量AA值为0
  7.       fi
  8.       iwinfo wlan? scan > /tmp/wifi  //搜索热点信号列表并保存,wlan?是无线网卡,2.4g跟5.0g是不同的,这个要自己区分,可以通过ifconfig对比MAC查询
  9.       grep -qw "SSIDNAME" /tmp/wifi  //从保存的列表中寻找被中继的SSID是否存在,SSIDNAME是被中继的WIFI名称
  10.       if [ $? -eq 0 ] ;then  //假如被中继的SSID存在
  11.         if [ "$AA" = "1" ] ;then  //并且做客户端的SSID已经关闭
  12.           uci set wireless.@wifi-iface[?].disabled=0  //重新打开做客户端的SSID
  13.           uci -q commit  //保存
  14.           /etc/init.d/network restart  //重启网络
  15.         fi
  16.       elif [ "$AA" = "0" ] ;then  //假如被中继的SSID不存在并且路由器做客户端的SSID处于打开状态
  17.         uci set wireless.@wifi-iface[?].disabled=1  //那就关闭做客户端的SSID
  18.         uci -q commit  //保存
  19.         /etc/init.d/network restart  //重启网络
  20.       fi
  21.   }
  22. fi
  23. exit
复制代码
       可以用putty ssh进入路由通过VI命令或用WinSCP在/etc下新建一个脚本文件,不要在/tmp下建立,重启后就没有了,个人建议用WinSCP建立脚本文件,编辑方便点,脚本保存后记得用chmod +x赋予执行权限,然后直接在putty里输入/etc/脚本文件名 执行一次脚本,看脚本是否有问题,没有问题就可以通过定时任务执行这个脚本了。这样就能实现上级路由WIFI信号消失后自动关闭本路由上的无线clietn,上级路由WIFI信号恢复后重新打开本路由上的无线clietn,clietn关闭后AP信号是可以自动恢复的,不会出现时有时无的现象



2#
发表于 2019-10-5 00:04:00 | 只看该作者
大佬,这很强大了。
3#
发表于 2019-10-5 00:44:47 | 只看该作者
脚本用什么运行?

点评

crontab定时任务啊  详情 回复 发表于 2019-10-5 11:01
4#
发表于 2019-10-5 10:15:28 | 只看该作者
本帖最后由 hydize 于 2019-10-5 10:23 编辑

这个好像是op自身设计上的问题?我手头一个充电宝路由器刷的op在家里调试好了,拿到单位就不能用了。但不一定什么时候,单位里能用,家里也能用,很随机。好像有个论坛放出过自动重置无线还是啥的一个ipk,但我那个机器没法安装。脚本通用性更好一点。不过请教一下:直接复制你这段脚本就行还是需要根据自己情况调整才能用?

点评

那个ipk很久没更新了,所以才自己想办法写了个脚本,某些参数肯定要结合实际的,注释都有说明,另外最好不要把注释也复制进去  详情 回复 发表于 2019-10-5 11:04
5#
 楼主| 发表于 2019-10-5 11:01:22 来自手机浏览器 | 只看该作者
新式 发表于 2019-10-5 00:44
脚本用什么运行?

crontab定时任务啊
6#
 楼主| 发表于 2019-10-5 11:04:50 来自手机浏览器 | 只看该作者
hydize 发表于 2019-10-5 10:15
这个好像是op自身设计上的问题?我手头一个充电宝路由器刷的op在家里调试好了,拿到单位就不能用了。但不一 ...

那个ipk很久没更新了,所以才自己想办法写了个脚本,某些参数肯定要结合实际的,注释都有说明,另外最好不要把注释也复制进去
7#
发表于 7 天前 | 只看该作者
貌似高通的u都是这样,用博通的吧,例如腾达的,设置方便,而且不会出现楼主所述现象
您需要登录后才可以回帖 登录 | 立即注册 微信登录

本版积分规则

Archiver|手机版|小黑屋|关于我们|联系我们|网站条款|数码之家 ( 闽ICP备05031405号 )

GMT+8, 2019-10-17 06:29 , Processed in 0.216824 second(s), 19 queries , MemCache On.

Powered by Discuz!

© 2001-2019 Comsenz Inc.

快速回复 菲律宾申博游戏怎么登入 返回列表
菲律宾申博代理登录 菲律宾太阳娱乐网址登入 菲律宾申博在线现金网 申博游戏端登入 申博怎么登入 太阳城申博官方网登入
菲律宾太阳娱乐网址登入 菲律宾申博娱乐官网 老虎机支付宝充值 菲律宾申博太阳城娱乐 菲律宾申博在线会员 菲律宾申博在线138娱乐登入
太阳城申博官网登入 新开博彩娱乐网址 申博真人游戏登入 www.70msc.com游戏怎么登入不了 申博138体育在线 申博138线上娱乐
申博太阳开户优惠登入 菲律宾官方直营网 申博亚洲官网登入 申博在线充值 申博开户流程登入 illusion最新游戏
百度