找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 7670|回复: 7

[无线] wifi有自动换频率的功能吗

[复制链接]
发表于 2018-11-11 14:28:49 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
自带的wifi功能
ROS11-01.jpg
我需要的功能是:
用scan 扫描一下哪个频率占用的少,自动改写。
2412 2442 2462三选一。
5180 5200 5805 三选一。
这个脚本有吗?
routeros
发表于 2018-11-11 17:11:57 | 显示全部楼层
问题是扫描的时候会断网
routeros
回复

使用道具 举报

 楼主| 发表于 2018-11-11 19:40:49 | 显示全部楼层
我截图的界面,点了 scan。。。  出来一个界面不自动刷新信号,
同时,用电脑ping手机, ping一直是通的。

坐等cspm333 大侠。
routeros
回复

使用道具 举报

 楼主| 发表于 2018-11-11 20:01:26 | 显示全部楼层
设备都是长期不断电的, 我可以定时到 半夜5点执行。
routeros
回复

使用道具 举报

发表于 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是頻率列表,可以自行修改成想要使用那些頻率。

  1. /interface wireless;
  2. :global waitingchange;
  3. :global ccqerror;
  4. :local interface [get number=0 ssid];
  5. :local freqList;
  6. :if ([:find [get $interface channel-width] "above"] > 0)  do={
  7.     :set freqList {2412;2417;2422;2427;2432;2437;2442};
  8. } else {
  9.     :set freqList {2432;2437;2442;2447;2452;2457;2462};
  10. }
  11. monitor $interface once do={
  12.     :local freqListLen [:len $freqList];
  13.     :local pos [:find $freqList $frequency];
  14.     :local ccq [        DISCUZ_CODE_0        ]quot;overall-tx-ccq";
  15.     :local regclients [        DISCUZ_CODE_0        ]quot;registered-clients";
  16.     :if ($regclients > 0) do={
  17.         :set waitingchange 0;
  18.         :if ($ccq < 20) do={
  19.             :set ccqerror ($ccqerror + 1);
  20.             :if ($ccqerror >= 6) do={
  21.                 :set ccqerror 0;
  22.                 :log info "Frequency($frequency) CCQ: $ccq%. Too low, change frequency";
  23.                 :set pos ($pos + 1);
  24.                 :if ($pos > 0) do={  } else { :set pos 0; }
  25.                 :if ($pos = $freqListLen) do={ :set pos ($pos - $freqListLen); }
  26.                 set $interface frequency=[:pick $freqList $pos];
  27.             }
  28.         } else {
  29.             :set ccqerror 0;
  30.             :if ($pos >= 0) do={  } else { set $interface frequency=[:pick $freqList 0]; }
  31.         }
  32.     } else {
  33.         :set ccqerror 0;        
  34.         :if ($waitingchange < 3) do={
  35.             :set waitingchange ($waitingchange + 1);
  36.         } else {
  37.             :set waitingchange 0;
  38.             :if ([:pick $freqList ($freqListLen / 2 - 1)] != $frequency) do={ set $interface frequency=[:pick $freqList ($freqListLen / 2 - 1)]; }
  39.         }
  40.     }
  41. }
复制代码

routeros
回复

使用道具 举报

 楼主| 发表于 2018-11-15 01:46:08 | 显示全部楼层
ROS15-01.jpg


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

点评

/cap-man interface set [find mac-address=6c:3b:6b:cf:47:93] !$"channel.frequency"  发表于 2018-11-15 15:38
routeros
回复

使用道具 举报

 楼主| 发表于 2018-11-15 22:29:57 | 显示全部楼层
本帖最后由 xuxi3201 于 2018-11-15 22:31 编辑

/caps-man interface set [find name=RB952-5G] channel.frequency="2412"
以上是指定,
以下是改成不指定
/caps-man interface set [find name=RB952-5G] channel.frequency=""

6.42.9 测试通过。
routeros
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|软路由 ( 渝ICP备15001194号-1|渝公网安备 50011602500124号 )

GMT+8, 2024-4-27 11:11 , Processed in 0.169311 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2001-2023 Discuz! Team.

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