整理旧设备找到个2018年的斐讯K2,路由器上面保护膜都还在,想着让它发挥下用途,目标就是做中继使用。
找了下可以刷的固件还蛮多的,比如我喜欢的高恪
方案一:高恪路由
斐讯k2精简包 GOCLOUD-S1A_8M(K2精简升级包)-4.3.1.15256.bin
精简版只包含智能流控功能。 精简包 占用低 稳定 正适合k2这种老机器!比较适合只简单使用的场景, 比如家用。
开启流控的情况下, 只推荐用在50M以内的带宽的场景下。 超出50M的,建议开启SFE快速转发。
不开流控不用设置.开启方法: 【系统管理】【系统设置】【WEB界面参数】 勾选SFE快速转发。
刷入教程:先刷breed, 然后再刷底包, 然后升级到4.3.1.15256
下载链接: https://pan.baidu.com/s/1Lh9Lq50P88iuRDrTDp3zVg 提取码: d4ym
方案二:老毛子Padavan固件
Hiboy 老毛子固件下载地址 https://opt.cn2qq.com/padavan/
问:什么是中继脚本?
答:简单来讲,就是可以设置多个ESSID(主路由AP)。假如第一个连接失败,脚本会去连接第二个。如果第二个失败,会连接第三个,以此类推。
在 无线-无线桥接 下 有个ap_script脚本。在这个脚本里面写下要尝试连接的ESSID(主路由AP)就可以了。不要问我如何使用,脚本里面写着很清楚了,这都不会就别玩路由器了!!!
脚本基本上都是通用的
测试路由器:红米 AC2100, 小米 4A千兆版
有些路由器需要把在无线里的区域代码改成 “Debug ( All Channels)” 才能使用,不然搜不到ESSID(主路由AP)。
修复内容:
无法搜到ESSID(主路由AP)的问题
2.4GHZ和5GHZ中继切换后无法连接的问题
更加稳定,不会ping 一次失败就去搜索,大大提高了蹭网体验!
新功能:
设置不连接低于X的信号。
尝试连接AP的最大时长
尝试联网的最大时长
使用WinSCP覆盖 /etc/storage 即可。
#!/bin/sh ### Custom user script ### Called on Internet status changed ### $1 - Internet status (0/1) ### $2 - elapsed time (s) from previous state #copyright by hiboy logger -t "di" "互联网状态:$1, 经过时间: $2s." # AP中继连接守护功能。【0】 Internet互联网断线后自动搜寻;【1】 当中继信号断开时启动自动搜寻。 apauto=0 # AP连接成功条件,【0】 连上AP即可,不检查是否联网;【1】 连上AP并连上Internet互联网。 apauto2=0 # 【自动切换中继信号】功能 0关闭;填写配置参数启动 ap2g5g="0" # 【0】 联网断线后自动搜寻,大于【10】时则每隔【N】秒搜寻,直到连上最优先信号。 aptime="360" # 如搜寻的AP不联网则列入黑名单/tmp/apblack.txt 功能 【0】关闭;【1】启动 # 控制台输入【echo "" > /tmp/apblack.txt】可以清空黑名单 apblack=0 # 中继AP配置填写说明: # 各参数用【@】分割开,如果有多个信号可中继用【 】空格隔开继续填写即可(从左边的参数开始搜寻)【左边是最优先信号】 # 单个信号例子:ap2g5g="2@4@1@ASUS@1234567890" # 多个信号例子:ap2g5g="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" # 参数说明: # ①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"【可以不填,不限大小写,但有中文的SSID一定要填写】 echo $apauto > /tmp/apauto.lock baidu='http://passport.baidu.com/passApi/img/small_blank.gif' aptimes=$1 if [ $((aptimes)) -gt "9" ];then logger -t "连接AP" "$1秒后,自动搜寻ap" sleep $1 else logger -t "连接AP" "10秒后,自动搜寻ap" sleep 10 fi if [ ! -f /tmp/apc.lock ] && [ "$1" != "1" ] && [ "$ap2g5g" != "0" ] ; then touch /tmp/apc.lock ap=`iwconfig | grep 'apcli0' | grep 'ESSID:""' | wc -l` ap2=`iwconfig | grep 'apcli0'` [ -z "$ap2" ] && ap=1 if [ "$ap" = "1" ] ; then ap2=`iwconfig | grep 'apclii0' | grep 'ESSID:""'` [ ! -z "$ap2" ] && ap=`iwconfig | grep 'apclii0' | grep 'ESSID:""' | wc -l` fi while [ "$ap" = "1" ] || [ "$2" = "t" ] && [ -f /tmp/apc.lock ] do for apc in $ap2g5g do radio=$(echo $apc | cut -d '@' -f1) # ApCli 2.4Ghz if [ "$radio" = "2" ] ; then rtwlt_mode_x=`nvram get rt_mode_x` else rtwlt_mode_x=`nvram get wl_mode_x` fi # [ "$rtwlt_mode_x" = "3" ] || [ "$rtwlt_mode_x" = "4" ] && if [ -f /tmp/apc.lock ] ; then rtwlt_mode_x=$(echo $apc | cut -d '@' -f2) rtwlt_sta_wisp=$(echo $apc | cut -d '@' -f3) rtwlt_sta_ssid=$(echo $apc | cut -d '@' -f4) rtwlt_sta_wpa_psk=$(echo $apc | cut -d '@' -f5) rtwlt_sta_bssid=$(echo $apc | cut -d '@' -f6 | tr 'A-Z' 'a-z') if [ "$radio" = "2" ] ; then ap=`iwconfig | grep 'apcli0' | grep ESSID:"$rtwlt_sta_ssid" | wc -l` if [ "$ap" = "0" ]; then ap=`iwconfig |sed -n '/apcli0/,/Rate/{/apcli0/n;/Rate/b;p}' | grep $rtwlt_sta_bssid | tr 'A-Z' 'a-z' | wc -l` fi else ap=`iwconfig | grep 'apclii0' | grep ESSID:"$rtwlt_sta_ssid" | wc -l` if [ "$ap" = "0" ]; then ap=`iwconfig |sed -n '/apclii0/,/Rate/{/apclii0/n;/Rate/b;p}' | grep $rtwlt_sta_bssid | tr 'A-Z' 'a-z' | wc -l` fi fi if [ "$ap" = "1" ]; then logger -t "连接AP" "当前是$rtwlt_sta_ssid ,停止搜寻" rm -f /tmp/apc.lock if [ $((aptimes)) -ge "9" ];then /etc/storage/inet_state_script.sh $aptime "t" & sleep 2 logger -t "连接AP" "直到连上最优先信号$(echo $ap2g5g | cut -d ' ' -f1 | cut -d '@' -f4)" fi exit else logger -t "连接AP" "自动搜寻$rtwlt_sta_ssid" fi iwpriv ra0 set SiteSurvey=1 sleep 2 if [ ! -z "$rtwlt_sta_bssid" ] ; then logger -t "连接AP" "自动搜寻$rtwlt_sta_ssid:$rtwlt_sta_bssid" site_survey=$(iwpriv ra0 get_site_survey | sed -n "/$rtwlt_sta_bssid/p" | tr 'A-Z' 'a-z') else site_survey=$(iwpriv ra0 get_site_survey | sed -n "/$rtwlt_sta_ssid/p" | tr 'A-Z' 'a-z') fi if [ -z "$site_survey" ] ; then logger -t "连接AP" "没找到$rtwlt_sta_ssid ,如果含中文请填写正确的MAC地址" ap3=1 fi if [ ! -z "$site_survey" ] ; then Ch=${site_survey:0:4} SSID=${site_survey:4:33} BSSID=${site_survey:37:20} Security=${site_survey:57:23} Siganl=${site_survey:80:9} WMode=${site_survey:89:7} ap3=0 fi if [ "$apblack" = "1" ] ; then apblacktxt=$(grep "【SSID:$rtwlt_sta_bssid" /tmp/apblack.txt) if [ ! -z $apblacktxt ]; then logger -t "连接AP" "当前是黑名单$rtwlt_sta_ssid ,跳过黑名单继续搜寻" ap3=1 else apblacktxt=$(grep "【SSID:$rtwlt_sta_ssid" /tmp/apblack.txt) if [ ! -z $apblacktxt ]; then logger -t "连接AP" "当前是黑名单$rtwlt_sta_ssid ,跳过黑名单继续搜寻" ap3=1 fi fi fi if [ "$ap3" != "1" ]; then if [ "$radio" = "2" ] ; then nvram set rt_channel=$Ch iwpriv apcli0 set Channel=$Ch else nvram set wl_channel=$Ch iwpriv apclii0 set Channel=$Ch fi if [[ $(expr $Security : ".*none*") -gt "1" ]] ; then rtwlt_sta_auth_mode="open" rtwlt_sta_wpa_mode="0" fi if [[ $(expr $Security : ".*1psk*") -gt "1" ]] ; then rtwlt_sta_auth_mode="psk" rtwlt_sta_wpa_mode="1" fi if [[ $(expr $Security : ".*2psk*") -gt "1" ]] ; then rtwlt_sta_auth_mode="psk" rtwlt_sta_wpa_mode="2" fi if [[ $(expr $Security : ".*tkip*") -gt "1" ]] ; then rtwlt_sta_crypto="tkip" fi if [[ $(expr $Security : ".*aes*") -gt "1" ]] ; then rtwlt_sta_crypto="aes" fi if [ "$radio" = "2" ] ; then nvram set rt_mode_x=$rtwlt_mode_x nvram set rt_sta_wisp=$rtwlt_sta_wisp nvram set rt_sta_ssid=$rtwlt_sta_ssid nvram set rt_sta_auth_mode=$rtwlt_sta_auth_mode nvram set rt_sta_wpa_mode=$rtwlt_sta_wpa_mode nvram set rt_sta_crypto=$rtwlt_sta_crypto nvram set rt_sta_wpa_psk=$rtwlt_sta_wpa_psk else nvram set wl_mode_x=$rtwlt_mode_x nvram set wl_sta_wisp=$rtwlt_sta_wisp nvram set wl_sta_ssid=$rtwlt_sta_ssid nvram set wl_sta_auth_mode=$rtwlt_sta_auth_mode nvram set wl_sta_wpa_mode=$rtwlt_sta_wpa_mode nvram set wl_sta_crypto=$rtwlt_sta_crypto nvram set wl_sta_wpa_psk=$rtwlt_sta_wpa_psk fi logger -t "连接AP" "$rtwlt_mode_x $rtwlt_sta_wisp $rtwlt_sta_ssid $rtwlt_sta_auth_mode $rtwlt_sta_wpa_mode $rtwlt_sta_crypto $rtwlt_sta_wpa_psk" nvram commit #restart_wan #sleep 10 radio2_restart sleep 4 if [ "$radio" = "2" ] ; then #iwpriv apcli0 set ApCliEnable=0 iwpriv apcli0 set ApCliAutoConnect=1 else #iwpriv apclii0 set ApCliEnable=0 iwpriv apclii0 set ApCliAutoConnect=1 fi sleep 10 logger -t "连接AP" "【Ch:$Ch】【SSID:$SSID】【BSSID:$BSSID】" logger -t "连接AP" "【Security:$Security】【Siganl(%):$Siganl】【WMode:$WMode】" if [ "$radio" = "2" ] ; then ap=`iwconfig | grep 'apcli0' | grep 'ESSID:""' | wc -l` else ap=`iwconfig | grep 'apclii0' | grep 'ESSID:""' | wc -l` fi if [ "$ap" = "0" ] && [ "$apauto2" = "1" ] ; then /tmp/sh_download.sh /tmp/small_blank.gif $baidu if [ ! -s /tmp/small_blank.gif ]; then ap=1 logger -t "连接AP" "$ap 已连接上$rtwlt_sta_ssid ,但未联网,跳过继续搜寻" else logger -t "连接AP" "$ap 已连接上$rtwlt_sta_ssid ,成功联网" ap=0 fi fi if [ "$ap" = "1" ] ; then logger -t "连接AP" "$ap 无法连接$rtwlt_sta_ssid" else logger -t "连接AP" "$ap 已连接上$rtwlt_sta_ssid" if [ "$apblack" = "1" ] ; then /tmp/sh_download.sh /tmp/small_blank.gif $baidu if [ ! -s /tmp/small_blank.gif ]; then apblacktxt="$ap AP不联网列入黑名单:【Ch:$Ch】【SSID:$SSID】【BSSID:$BSSID】【Security:$Security】【Siganl(%):$Siganl】【WMode:$WMode】" logger -t "连接AP" "$apblacktxt" echo $apblacktxt >> /tmp/apblack.txt rm -f /tmp/apc.lock /etc/storage/inet_state_script.sh 0 "t" & sleep 2 logger -t "连接AP" "跳过黑名单继续搜寻,直到连上最优先信号$(echo $ap2g5g | cut -d ' ' -f1 | cut -d '@' -f4)" exit fi fi if [ "$rtwlt_sta_ssid" = $(echo $ap2g5g | cut -d ' ' -f1 | cut -d '@' -f4) ] ; then logger -t "连接AP" "当前是$rtwlt_sta_ssid,停止搜寻" rm -f /tmp/apc.lock logger -t "连接AP" "当前连上最优先信号$rtwlt_sta_ssid" exit else rm -f /tmp/apc.lock if [ $((aptime)) -ge "9" ];then /etc/storage/inet_state_script.sh $aptime "t" & sleep 2 logger -t "连接AP" "直到连上最优先信号$(echo $ap2g5g | cut -d ' ' -f1 | cut -d '@' -f4)" fi exit fi fi fi sleep 10 fi ap=`iwconfig | grep 'apcli0' | grep 'ESSID:""' | wc -l` ap2=`iwconfig | grep 'apcli0'` [ -z "$ap2" ] && ap=1 if [ "$ap" = "1" ] ; then ap2=`iwconfig | grep 'apclii0' | grep 'ESSID:""'` [ ! -z "$ap2" ] && ap=`iwconfig | grep 'apclii0' | grep 'ESSID:""' | wc -l` fi done sleep 60 done # ApCli 5Ghz rm -f /tmp/apc.lock fi logger -t "连接AP" "脚本完成"
评论前必须登录!
注册