xuxi3201 发表于 2018-11-11 14:28:49

wifi有自动换频率的功能吗

自带的wifi功能

我需要的功能是:
用scan 扫描一下哪个频率占用的少,自动改写。
2412 2442 2462三选一。
5180 5200 5805 三选一。
这个脚本有吗?

seignior 发表于 2018-11-11 17:11:57

问题是扫描的时候会断网

xuxi3201 发表于 2018-11-11 19:40:49

我截图的界面,点了 scan。。。出来一个界面不自动刷新信号,
同时,用电脑ping手机, ping一直是通的。

坐等cspm333 大侠。

xuxi3201 发表于 2018-11-11 20:01:26

设备都是长期不断电的, 我可以定时到 半夜5点执行。

cspm333 发表于 2018-11-12 23:48:49

本帖最后由 cspm333 于 2018-11-13 10:51 编辑

小弟wifi是用asus分享器所以無實務經驗可以幫,
不過wifi相關script是有,您可以依您的需求做修改試試:

來源:MikroTik RouterOS Wireless (WiFi)使用Script自動更新頻率
※$ccq < 20表示訊號低於20就會變更頻率,數值可以自行調整。
※ freqList是頻率列表,可以自行修改成想要使用那些頻率。
/interface wireless;
:global waitingchange;
:global ccqerror;
:local interface ;
:local freqList;
:if ([:find "above"] > 0)do={
    :set freqList {2412;2417;2422;2427;2432;2437;2442};
} else {
    :set freqList {2432;2437;2442;2447;2452;2457;2462};
}
monitor $interface once do={
    :local freqListLen [:len $freqList];
    :local pos [:find $freqList $frequency];
    :local ccq [      DISCUZ_CODE_0      ]quot;overall-tx-ccq";
    :local regclients [      DISCUZ_CODE_0      ]quot;registered-clients";
    :if ($regclients > 0) do={
      :set waitingchange 0;
      :if ($ccq < 20) do={
            :set ccqerror ($ccqerror + 1);
            :if ($ccqerror >= 6) do={
                :set ccqerror 0;
                :log info "Frequency($frequency) CCQ: $ccq%. Too low, change frequency";
                :set pos ($pos + 1);
                :if ($pos > 0) do={} else { :set pos 0; }
                :if ($pos = $freqListLen) do={ :set pos ($pos - $freqListLen); }
                set $interface frequency=[:pick $freqList $pos];
            }
      } else {
            :set ccqerror 0;
            :if ($pos >= 0) do={} else { set $interface frequency=[:pick $freqList 0]; }
      }
    } else {
      :set ccqerror 0;      
      :if ($waitingchange < 3) do={
            :set waitingchange ($waitingchange + 1);
      } else {
            :set waitingchange 0;
            :if ([:pick $freqList ($freqListLen / 2 - 1)] != $frequency) do={ set $interface frequency=[:pick $freqList ($freqListLen / 2 - 1)]; }
      }
    }
}

xuxi3201 发表于 2018-11-15 01:46:08




我打算这样写,
先设置为 2412然后改写成自动,
请问 如何用命令把 channel.frequency=2412删除?

xuxi3201 发表于 2018-11-15 22:29:57

本帖最后由 xuxi3201 于 2018-11-15 22:31 编辑

/caps-man interface set channel.frequency="2412"
以上是指定,
以下是改成不指定
/caps-man interface set channel.frequency=""

6.42.9 测试通过。
页: [1]
查看完整版本: wifi有自动换频率的功能吗