ubnt解决方案
查看: 14989|回复: 11

[求助] 华硕老毛子固件如何设置脚本自动切换中继信号呀

[复制链接]

274

回帖

1571

积分

453 小时

在线时间

上尉

注册时间
2016-2-20
金币
1226 个
威望
1 个
荣誉
0 个
累计签到:42 天
连续签到:0 天
[LV.50]初入江湖
发表于 2016-8-14 16:45
刷了H大8月8号的老毛子固件,非常好用!现在C网时有一位东家的信号非常强,速度也很快,但是东家是开店的,晚上回去了后应该把店里的电拉闸了。不过这时还有两个信号源可以选择,不过都是15~20%的信号强度,不过也不错啦。所以我想白天蹭最强的,晚上蹭弱的。但是脚本我不会用啊,想着来论坛请教下
#!/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互联网断线后自动搜寻
            wget -s -q -T 3 www.baidu.com
            if [ "$?" == "0" ]; 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





274

回帖

1571

积分

453 小时

在线时间

上尉

注册时间
2016-2-20
金币
1226 个
威望
1 个
荣誉
0 个
累计签到:42 天
连续签到:0 天
[LV.50]初入江湖
发表于 2016-8-14 16:46
坛友能做个示范的脚本我学习吗

274

回帖

1571

积分

453 小时

在线时间

上尉

注册时间
2016-2-20
金币
1226 个
威望
1 个
荣誉
0 个
累计签到:42 天
连续签到:0 天
[LV.50]初入江湖
发表于 2016-8-14 16:49
主要是下面的脚本怎么写算开启呢?
# 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

-155

回帖

8482

积分

1524 小时

在线时间

中校

灌水天才

注册时间
2012-12-11
金币
8316 个
威望
2 个
荣誉
0 个
累计签到:1332 天
连续签到:0 天
[LV.1825]无线元老
发表于 2016-8-14 16:59
楼主你的这个代码是从哪里来的呀?里面没有将使用方法吗?
匆忙的城市,孤寂的黃昏,喧囂的寂寞 ,無處安放卻又企求平靜的心。

-155

回帖

8482

积分

1524 小时

在线时间

中校

灌水天才

注册时间
2012-12-11
金币
8316 个
威望
2 个
荣誉
0 个
累计签到:1332 天
连续签到:0 天
[LV.1825]无线元老
发表于 2016-8-14 17:00
你如果学会就教我一下,谢谢

352

回帖

8694

积分

1541 小时

在线时间

中校

注册时间
2010-12-22
金币
8164 个
威望
0 个
荣誉
0 个
累计签到:918 天
连续签到:0 天
[LV.1095]铁杆粉丝
发表于 2016-8-14 17:29
本帖最后由 kjpb 于 2016-8-14 17:53 编辑

我也正好在看这个,貌似只能是在一个信号中断或者网络断线后自动切换备用信号,看说明好像不会主信号出现后再自动切换回去。但是日志里好像可以,你试试看吧,试完了回来说一声,我试了,但是我的两个信号都在,不会断开,所以总是会连上第一个
Aug 14 17:47:19 di: 互联网状态:12, 经过时间: ts.
Aug 14 17:47:19 连接AP: 12秒后,自动搜寻ap
Aug 14 17:47:32 连接AP: 自动搜寻MERCURY_0BE542
Aug 14 17:47:32 连接AP: 自动搜寻MERCURY_0BE542:c8:e7:d8:0b:e5:42


Aug 14 17:47:41 kernel: AP-Client probe: SSID=MERCURY_0BE542, BSSID=c8:e7:d8:0b:e5:42
Aug 14 17:47:41 kernel: AP-Client probe response: SSID=MERCURY_0BE542, BSSID=c8:e7:d8:0b:e5:42
Aug 14 17:47:41 kernel: !!! APCLI LINK UP - IF(apcli0) AuthMode(7)=WPA2PSK, WepStatus(6)=AES !!!

Aug 14 17:47:46 AP中继: 连接守护启动
Aug 14 17:47:53 kernel: br0: port 2(ra0) entered learning state
Aug 14 17:47:57 连接AP: 【Ch:13  】【SSID:mercury_0be542                   】【BSSID:c8:e7:d8:0b:e5:42   】
Aug 14 17:47:57 连接AP: 【Security:wpa1pskwpa2psk/tkipaes 】【Signal(%):76       】【WMode:11b/g/n】
Aug 14 17:47:57 连接AP: 0 已连接上MERCURY_0BE542 ,成功联网
Aug 14 17:47:57 连接AP: 0 已连接上MERCURY_0BE542
Aug 14 17:47:57 连接AP: 当前是MERCURY_0BE542,停止搜寻
Aug 14 17:47:57 连接AP: 当前连上最优先信号MERCURY_0BE542

274

回帖

1571

积分

453 小时

在线时间

上尉

注册时间
2016-2-20
金币
1226 个
威望
1 个
荣誉
0 个
累计签到:42 天
连续签到:0 天
[LV.50]初入江湖
发表于 2016-8-14 17:53
惠惠_ヤ﹍ 发表于 2016-8-14 17:00
你如果学会就教我一下,谢谢

没问题啊,我还不会呢。你也留意下呗

274

回帖

1571

积分

453 小时

在线时间

上尉

注册时间
2016-2-20
金币
1226 个
威望
1 个
荣誉
0 个
累计签到:42 天
连续签到:0 天
[LV.50]初入江湖
发表于 2016-8-14 17:55
kjpb 发表于 2016-8-14 17:29
我也正好在看这个,貌似只能是在一个信号中断或者网络断线后自动切换备用信号,看说明好像不会主信号出现后 ...

对啊,只有断网了才会切。那白天信号强的信号源还是要我自己切

274

回帖

1571

积分

453 小时

在线时间

上尉

注册时间
2016-2-20
金币
1226 个
威望
1 个
荣誉
0 个
累计签到:42 天
连续签到:0 天
[LV.50]初入江湖
发表于 2016-8-14 17:55
kjpb 发表于 2016-8-14 17:29
我也正好在看这个,貌似只能是在一个信号中断或者网络断线后自动切换备用信号,看说明好像不会主信号出现后 ...

pandora支持定时切换吗

598

回帖

5270

积分

1554 小时

在线时间

中校

注册时间
2014-5-17
金币
4497 个
威望
3 个
荣誉
0 个
累计签到:312 天
连续签到:0 天
[LV.365]无线熟人
发表于 2016-8-14 18:51
看不懂,要是也能作个选填的就好了,像那个OP的插件多方便

352

回帖

8694

积分

1541 小时

在线时间

中校

注册时间
2010-12-22
金币
8164 个
威望
0 个
荣誉
0 个
累计签到:918 天
连续签到:0 天
[LV.1095]铁杆粉丝
发表于 2016-8-14 19:03
yangboaaa 发表于 2016-8-14 18:04
如果你路由器启动的时候;连接的是弱信号,那么就不会主动搜寻最佳信号,因为脚本没有运行
只有断网后脚 ...

那路由器重启的时候会不会先搜寻一次?我看日志启动的时候好像会搜寻啊

3137

回帖

4489

积分

2453 小时

在线时间

少校

注册时间
2014-5-26
金币
736 个
威望
0 个
荣誉
1 个
累计签到:533 天
连续签到:0 天
[LV.730]常住居民
发表于 2016-8-14 21:58
哈哈,神器神器

站点统计 | Archiver | 手机版 | 无线门户 ( 粤ICP备11076993号|粤公网安备44010602008359号 ) |网站地图

GMT+8, 2024-4-27 05:19

返回顶部 返回列表