openwrt信号弱掉线_如何使用openwrt路由系统剔除弱信号设备?

本文介绍了如何通过OpenWRT路由系统使用bash脚本来剔除信号弱的设备。脚本涉及iw命令获取设备状态,比较信号强度并调用ubus接口剔除客户端。步骤包括安装必要软件,配置脚本,设定剔除阈值,并在启动时自动执行。用户可以调整信号阈值并使用iwinfo命令检查客户端连接状态。
摘要由CSDN通过智能技术生成

如何使用openwrt路由系统剔除弱信号设备?

代码为:

#!/bin/bashwhile true;domaclist=(`iw dev wlan0 station dump | grep "Station" | cut -f 2 -s -d " "`)

rxlist=(`iw dev wlan0 station dump | grep "signal:" | cut -f 3 -s -d " "`)

#maclist=(`iwinfo wlan0 assoclist | grep "dBm" | cut -f 1 -s -d " "`)

#rxlist=(`iwinfo wlan0 assoclist | grep "dBm" | cut -f 3 -s -d " "`)

rxref="-80"#threshold

len=${#maclist[@]}for((i=0;i

rx=${rxlist[$i]}

# here, usestringcomparation, simple but error proneif [[ "$rx" > "$rxref" ]]; then#echo$mac $rx

ubus call hostapd.wlan0 del_client'{"addr":"'"$mac"'", "reason": 5, "deauth": True, "ban_time": 3000}'#ubus call hostapd.wlan0 list_bansfi

done

sleep 1

done

使用方法:

1、执行opkg update,然后opkg install bash和opkg install iwinfo两条安装指令

2、将kickass.sh文件,下载到/usr/文件夹下面,修改权限为755.

chmod 755 /use/kickass.sh

3、修改程序代码中rxref的值为想要设置剔除的信号强度值;

4、/etc/re.local文件是openwrt系统启动执行的文件,在里面写上执行命令,即可在openwrt启动时执行命令:

bash kickass.sh

5、重启路由器之后,即可。

可通过iwinfo wlan0 assoclist 命令来查看客户端是否连接

相关参考链接:

http://www.newsmth.net/nForum/#!article/DigiHome/589750#_motz_

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值