找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 5086|回复: 14

请教大神,如何设置让5G WiFi瘫痪后自动重启5G WIFI

[复制链接]
发表于 2018-6-3 12:11 | 显示全部楼层 |阅读模式
悬赏30恩山币未解决
本帖最后由 sorrypqa 于 2018-6-19 21:24 编辑

2台WR1200JS刷了H大的固件,其中一台是主路由,网关:192.168.123.1,另外一台做5G WDS中继节点(桥接+AP),从主路由获取的IP是:192.168.123.2

现在每隔2、3天,主路由器的5G WIFI就会瘫痪,所有手机里就算能看到主路由器的5G wifi信号,也联不上去,但LAN口和2.4G WIFI能正常上网,此时只要进入主路由的无线5G设置里,关闭5G无线再打开,主路由的5G WIFI就能恢复正常,中继节点无需重启也能继续正常工作,所以请教一下大神,有没有什么自动脚本,在主路由器里定时检测中继节点那个IP:192.168.123.2,一旦出现5G wifi瘫痪,超过20秒钟依然无法ping通的话,自动重启主路由器的5G wifi。

PS:虽然2.4G做WDS中继比5G稳定很多,但主路由器的2.4G wifi连接了4个无线摄像头,2个WIFI音箱(移动设备用BubblePNP通过WIFI推送音乐给音箱)、10来个物联设备,再2.4G用来做中继的话,传输速度不够用,只有用5G wifi做中继,才不影响2.4G设备的使用,而且手机和笔记本用5G wifi速度比2.4G好太多了。

我的恩山、我的无线 The best wifi forum is right here.
发表于 2018-6-8 00:13 | 显示全部楼层
设置主路由器每天半夜没用网的某个时间点自动重启不就好了。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2018-6-8 13:13 | 显示全部楼层
hhy792 发表于 2018-6-8 00:13
设置主路由器每天半夜没用网的某个时间点自动重启不就好了。

一大堆设备联网,最不喜欢重启路由器这个办法
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2018-6-8 15:39 | 显示全部楼层
不知道硬件看门狗有没有效果
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2018-6-8 16:09 | 显示全部楼层
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2018-6-9 15:36 | 显示全部楼层
不用重启设备,直接重新启动5G信号就好了

应该是:radio5_restart

然后定时执行这个命令就好了!

评分

参与人数 1恩山币 +1 收起 理由
ixinshang + 1 感谢你的分享,无论怎样,你都是最无私的人!来,说说,你E盘上还有啥一起给我吧!

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2018-6-18 09:56 | 显示全部楼层
wu995648910 发表于 2018-6-9 15:36
不用重启设备,直接重新启动5G信号就好了

应该是:radio5_restart

这个办法意义不大,设置02:00重启5G无线,但到9:00钟时5G无线瘫痪,你还不是要人工进去重启,会等到第二天它定时重启后再用?
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2018-6-18 10:09 | 显示全部楼层
怎么会这样呢?是路由器的问题呢还是固件的问题?
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2018-6-18 10:13 | 显示全部楼层
每隔两三天会出现,那就在出问题之前早早地把路由器整个地重启:比如设定每晚3:30重启路由。是不是会好点?
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2018-6-18 13:35 | 显示全部楼层
newscat 发表于 2018-6-18 10:13
每隔两三天会出现,那就在出问题之前早早地把路由器整个地重启:比如设定每晚3:30重启路由。是不是会好点 ...

这个办法只能减少手工重启次数,无法完全解决问题,就算天天重启,5G无线也会随时在笔记本或者手机大量传输数据时罢工
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2018-6-18 21:01 | 显示全部楼层
sorrypqa 发表于 2018-6-18 13:35
这个办法只能减少手工重启次数,无法完全解决问题,就算天天重启,5G无线也会随时在笔记本或者手机大量传 ...

可以修改如下脚本:
#!/bin/sh
#/etc/storage/ap_script.sh
#copyright by hiboy

# AP中继连接守护功能。【0】 Internet互联网断线后自动搜寻;【1】 当中继信号断开时启动自动搜寻。
apauto=0

# AP连接成功条件,【0】 连上AP即可,不检查是否联网;【1】 连上AP并连上Internet互联网。
apauto2=0

# 【0】 联网断线后自动搜寻,大于【10】时则每隔【N】秒搜寻(无线网络会瞬断一下),直到连上最优先信号。
aptime="0"

# 如搜寻的AP不联网则列入黑名单/tmp/apblack.txt 功能 【0】关闭;【1】启动
# 控制台输入【echo "" > /tmp/apblack.txt】可以清空黑名单
apblack=0

# 自定义分隔符号,默认为【@】,注意:下面配置一同修改
fenge='@'

# 【自动切换中继信号】功能 填写配置参数启动
cat >/tmp/ap2g5g.txt <<-\EOF
# 中继AP配置填写说明:
# 各参数用【@】分割开,如果有多个信号可回车换行继续填写即可(从第一行的参数开始搜寻)【第一行的是最优先信号】
# 搜寻时无线网络会瞬断一下
# 参数说明:
# ①2.4Ghz或5Ghz:"2"=【2.4Ghz】"5"=【5Ghz】
# ②无线AP工作模式:"0"=【AP(桥接被禁用)】"1"=【WDS桥接(AP被禁用)】"2"=【WDS中继(网桥 + AP)】"3"=【AP-Client(AP被禁用)】"4"=【AP-Client + AP】
# ③无线AP-Client角色: "0"=【LAN bridge】"1"=【WAN (Wireless ISP)】
# ④中继AP 的 SSID:"ASUS"
# ⑤中继AP 密码:"1234567890"
# ⑥中继AP 的 MAC地址:"20:76:90:20:B0:F0"【可以不填,不限大小写】
# 下面是信号填写例子:(删除前面的#可生效)
#2@4@1@ASUS@1234567890
#2@4@1@ASUS_中文@1234567890@34:bd:f9:1f:d2:b1
#2@4@1@ASUS3@1234567890@34:bd:f9:1f:d2:b0




EOF
cat /tmp/ap2g5g.txt | grep -v '^#'  | grep -v "^$" > /tmp/ap2g5g
killall sh_apauto.sh
if [ -s /tmp/ap2g5g ] ; then
cat >/tmp/sh_apauto.sh <<-\EOF
#!/bin/sh
    logger -t "【AP 中继】" "连接守护启动"
    while true; do
        if [ ! -f /tmp/apc.lock ] ; then
            if [[ $(cat /tmp/apauto.lock) == 1 ]] ; then
            #【1】 当中继信号断开时启动自动搜寻
                a2=`iwconfig apcli0 | awk -F'"' '/ESSID/ {print $2}'`
                a5=`iwconfig apclii0 | awk -F'"' '/ESSID/ {print $2}'`
                [ "$a2" = "" -a "$a5" = "" ] && ap=1 || ap=0
                if [ "$ap" = "1" ] ; then
                    logger -t "【AP 中继】" "连接中断,启动自动搜寻"
                    /etc/storage/inet_state_script.sh 0 t &
                fi
            fi
            if [[ $(cat /tmp/apauto.lock) == 0 ]] ; then
            #【2】 Internet互联网断线后自动搜寻
            ping_text=`ping -4 114.114.114.114 -c 1 -w 2 -q`
            ping_time=`echo $ping_text | awk -F '/' '{print $4}'| awk -F '.' '{print $1}'`
            ping_loss=`echo $ping_text | awk -F ', ' '{print $3}' | awk '{print $1}'`
            if [ ! -z "$ping_time" ] ; then
                echo "ping:$ping_time ms 丢包率:$ping_loss"
             else
                echo "ping:失效"
            fi
            if [ ! -z "$ping_time" ] ; then
            echo "online"
            else
                echo "Internet互联网断线后自动搜寻"
                    /etc/storage/inet_state_script.sh 0 t &
                fi
            fi
        fi
        sleep 69
    done
EOF
    chmod 777 "/tmp/sh_apauto.sh"
    echo $apauto > /tmp/apauto.lock
    [ "$1" = "crontabs" ] && /tmp/sh_apauto.sh &
else
    echo "" > /tmp/apauto.lock
fi




我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2018-6-18 21:07 | 显示全部楼层
本帖最后由 newscat 于 2018-6-18 21:08 编辑

楼上,重点关注下面这一段代码:
#【2】 Internet互联网断线后自动搜寻
            ping_text=`ping -4 114.114.114.114 -c 1 -w 2 -q`
            ping_time=`echo $ping_text | awk -F '/' '{print $4}'| awk -F '.' '{print $1}'`
            ping_loss=`echo $ping_text | awk -F ', ' '{print $3}' | awk '{print $1}'`
            if [ ! -z "$ping_time" ] ; then
                echo "ping:$ping_time ms 丢包率:$ping_loss"
             else
                echo "ping:失效"
            fi
            if [ ! -z "$ping_time" ] ; then
            echo "online"
            else
                echo "Internet互联网断线后自动搜寻"
                    /etc/storage/inet_state_script.sh 0 t &                fi

把自动搜寻代码:  /etc/storage/inet_state_script.sh 0 t & 改为5G 信号复位代码。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2018-6-18 21:27 | 显示全部楼层
注意用notepad ++写代码,格式要选 “edit/eol conversion/Unix(lf)"写好后再用winscp传到:
#/etc/storage/下面。
好比为自己的脚本起个名:my5grestart.sh
脚本可能是:
#!/bin/sh
#/etc/storage/my5grestart.sh
#copyright by yourname
logger -t "【AP 中继】" "5G守护启动"

while true; do
            #我设定的IP地址断线后自动搜寻
            ping_text=`ping -4 设定的IP地址 -c 1 -w 2 -q`
            ping_time=`echo $ping_text | awk -F '/' '{print $4}'| awk -F '.' '{print $1}'`
            ping_loss=`echo $ping_text | awk -F ', ' '{print $3}' | awk '{print $1}'`
            if [ ! -z "$ping_time" ] ; then
                echo "ping:$ping_time ms 丢包率:$ping_loss"
             else
                echo "ping:失效"
            fi
            if [ ! -z "$ping_time" ] ; then
            echo "5G在线!"
            else
                echo "5G断线了,执行5G复位!"
                    5G 复位命令
                fi
      
        sleep 69
    done
EOF

上面是一段不完全的脚本,但是是一个实现思想,希望更多网友指正丰富。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2018-6-19 06:22 | 显示全部楼层
可以啊 有个叫 Ping Watch 应用
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2018-6-19 10:22 | 显示全部楼层
本帖最后由 sorrypqa 于 2018-6-19 10:29 编辑
newscat 发表于 2018-6-18 21:01
可以修改如下脚本:
#!/bin/sh
#/etc/storage/ap_script.sh

谢谢老大的教程,今晚回去试试,之前看过路由器的无线桥接里有这些脚本,但好像只适合在中继节点上运行,不适合在主路由上,您现在改动了脚本,估计能实现所需要的功能,谢谢!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-4-24 21:30

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表