MTK WIFI芯片手册
文档:MTK_Wi-Fi_SoftAP_Software_Programming_Guide_v1.2.pdf
1.WiFi不重启拉黑名单设置
这种不重启即可拉黑,但是重启后不生效。
以2.4G为例: ra0 2.4G / rai0 5G
#清空WiFi访问控制设定
iwpriv ra0 set ACLClearAll=1
#设定访问控制策略为黑名单模式
# macfilter=disable(d) AccessPolicy为0 使访问控制策略失效
# macfilter=allow AccessPolicy为1 白名单模式
# macfilter=deny AccessPolicy为2 黑名单模式
iwpriv ra0 set AccessPolicy=2
# 设定所有被拉黑的设备的MAC地址,此处假设AA-BB-CC-DD-EE-FF和FF-EE-DD-CC-BB-AA被拉黑
# MAC地址间以分号(;)分隔。
iwpriv ra0 set ACLAddEntry="aa:bb:cc:dd:ee:ff;ff:ee:dd:cc:bb:aa"
来着:openwrtrt2860v2下的wifi不重启拉黑名单设置
2.wifi黑名单重启有效
修改/etc/confing/wirelsee 配置文件
/trunk/base/package/ramips/drivers/mt7603e/files/mt7603e.sh 2.4G
/trunk/base/package/ramips/drivers/mt76x2e/files/mt7612e.sh 5G
option AccessPolicy0 '2' //1 白名单 2 黑名单 0 使访问控制策略失效
option AccessControlList0 '58:E2:8F:2E:A2:AD' //MAC 地址,多MAC的格式:MAC_A;MAC_B;MAC_C;MAC_D
root@OpenWrt:~#
root@OpenWrt:~# cat /etc/config/wireless
config wifi-device 'mt7603e'
option type 'mt7603e'
option vendor 'ralink'
option band '2.4G'
option beacon '100'
option wifimode '9'
option txpower '100'
option channel '0'
option disabled '0'
option hidden '0'
option wps_enabled 'enable'
option wps_router_pin 'pin'
option wps_mode 'PBC'
option bw '1'
option region '0'
option AccessPolicy0 '2' //1 白名单 2 黑名单 0 使访问控制策略失效
option AccessControlList0 '58:E2:8F:2E:A2:AD' //MAC 地址,多MAC的格式:MAC_A;MAC_B;MAC_C;MAC_D
config wifi-iface
option device 'mt7603e'
option ifname 'ra0'
option network 'lan'
option mode 'ap'
option ssid 'FURRIONAP_CCDD04'
option instance '1'
option wmm 'enable'
option encryption 'psk-mixed+ccmp'
option key 'FACCDD04'
config wifi-device 'mt7612e'
option type 'mt7612e'
option vendor 'ralink'
option band '5G'
option channel '0'
option autoch '2'
option disabled '0'
option txpower '100'
option hidden '0'
option wifimode '14'
option bw '2'
option wps_enabled 'enable'
option wps_router_pin 'pin'
option wps_mode 'PBC'
option aregion '10'
option AccessPolicy0 '2'
option AccessControlList0 '58:E2:8F:2E:A2:AD'
config wifi-iface
option device 'mt7612e'
option ifname 'rai0'
option network 'lan'
option mode 'ap'
option ssid 'FURRIONAP_CCDD04'
option encryption 'psk-mixed+ccmp'
option key 'FACCDD04'
option instance '2'
config wifi-device 'radio0'
option type 'mac80211'
option channel '0'
option hwmode '11g'
option htmode 'HT20'
config wifi-iface
option device 'radio0'
option network 'wan0'
option mode 'sta'
option ssid 'wifi'
option encryption 'psk2'
option key 'wifiwifi'
option ifname 'wlan0'
有一些openwrt的wireless代码里面没打开UCI配置
/trunk/base/package/ramips/applications/uci2dat/src/uci2dat.c
{"AccessPolicy0", "AccessPolicy0", {0}, hooker, "0"},
{"AccessControlList0", "AccessControlList0", {0}, hooker, NULL},
{"AccessPolicy1", "AccessPolicy1", {0}, hooker, "0"},
{"AccessControlList1", "AccessControlList1", {0}, hooker, NULL},
{"AccessPolicy2", "AccessPolicy2", {0}, hooker, "0"},
{"AccessControlList2", "AccessControlList2", {0}, hooker, NULL},
{"AccessPolicy3", "AccessPolicy3", {0}, hooker, "0"},
{"AccessControlList3", "AccessControlList3", {0}, hooker, NULL},
sed 's/dC:F0:90:9D:FC:23//i' 不分大小写将匹配到的字符串替换为空
sed 's/DC:F0:90:9D:FC:23\+;*//ig' 至少一次mac 至少0次;
root@OpenWrt:~# cat /etc/config/wireless
config wifi-device 'mt7603e'
option type 'mt7603e'
option vendor 'ralink'
option band '2.4G'
option beacon '100'
option wifimode '9'
option txpower '100'
option channel '0'
option disabled '0'
option hidden '0'
option wps_enabled 'enable'
option wps_router_pin 'pin'
option wps_mode 'PBC'
option bw '1'
option region '0'
option AccessPolicy0 '2'
option AccessControlList0 '58:E2:8F:2E:A2:AD;28:ED:6A:E9:AB:FB;58:11:22:2E:A2:AF'
root@OpenWrt:~# sed -i 's/58:E2:8F:2E:A2:AD\+;*//ig' /etc/config/wireles
root@OpenWrt:~# cat /etc/config/wireless
config wifi-device 'mt7603e'
option type 'mt7603e'
option vendor 'ralink'
option band '2.4G'
option beacon '100'
option wifimode '9'
option txpower '100'
option channel '0'
option disabled '0'
option hidden '0'
option wps_enabled 'enable'
option wps_router_pin 'pin'
option wps_mode 'PBC'
option bw '1'
option region '0'
option AccessPolicy0 '2'
option AccessControlList0 '28:ED:6A:E9:AB:FB;58:11:22:2E:A2:AF'
root@OpenWrt:~# cat /etc/config/wireless
config wifi-device 'mt7603e'
option type 'mt7603e'
option vendor 'ralink'
option band '2.4G'
option beacon '100'
option wifimode '9'
option txpower '100'
option channel '0'
option disabled '0'
option hidden '0'
option wps_enabled 'enable'
option wps_router_pin 'pin'
option wps_mode 'PBC'
option bw '1'
option region '0'
option AccessPolicy0 '2'
option AccessControlList0 '58:E2:8F:2E:A2:AD;28:ED:6A:E9:AB:FB;58:11:22:2E:A2:AF'
config wifi-iface
option device 'mt7603e'
option ifname 'ra0'
option network 'lan'
option mode 'ap'
option ssid 'FURRIONAP_CCDD04'
option instance '1'
option wmm 'enable'
option encryption 'psk-mixed+ccmp'
option key 'FACCDD04'
config wifi-device 'mt7612e'
option type 'mt7612e'
option vendor 'ralink'
option band '5G'
option channel '0'
option autoch '2'
option disabled '0'
option txpower '100'
option hidden '0'
option wifimode '14'
option bw '2'
option wps_enabled 'enable'
option wps_router_pin 'pin'
root@OpenWrt:~#
root@OpenWrt:~#
root@OpenWrt:~#
root@OpenWrt:~# cat /etc/config/wireless
config wifi-device 'mt7603e'
option type 'mt7603e'
option vendor 'ralink'
option band '2.4G'
option beacon '100'
option wifimode '9'
option txpower '100'
option channel '0'
option disabled '0'
option hidden '0'
option wps_enabled 'enable'
option wps_router_pin 'pin'
option wps_mode 'PBC'
option bw '1'
option region '0'
option AccessPolicy0 '2'
option AccessControlList0 '58:E2:8F:2E:A2:AD;28:ED:6A:E9:AB:FB;58:11:22:2E:A2:AF'
config wifi-iface
option device 'mt7603e'
option ifname 'ra0'
option network 'lan'
option mode 'ap'
option ssid 'FURRIONAP_CCDD04'
option instance '1'
option wmm 'enable'
option encryption 'psk-mixed+ccmp'
option key 'FACCDD04'
config wifi-device 'mt7612e'
option type 'mt7612e'
option vendor 'ralink'
option band '5G'
option channel '0'
option autoch '2'
option disabled '0'
option txpower '100'
option hidden '0'
option wifimode '14'
option bw '2'
option wps_enabled 'enable'
option wps_router_pin 'pin'
option wps_mode 'PBC'
option aregion '10'
option AccessPolicy0 '2'
option AccessControlList0 '58:E2:8F:2E:A2:AD;28:ED:6A:E9:AB:FB;58:11:22:2E:A2:AF'
config wifi-iface
option device 'mt7612e'
option ifname 'rai0'
option network 'lan'
option mode 'ap'
option ssid 'FURRIONAP_CCDD04'
option encryption 'psk-mixed+ccmp'
option key 'FACCDD04'
option instance '2'
config wifi-device 'radio0'
option type 'mac80211'
option channel '0'
option hwmode '11g'
option htmode 'HT20'
config wifi-iface
option device 'radio0'
option network 'wan0'
option mode 'sta'
option ssid 'wifi'
option encryption 'psk2'
option key 'wifiwifi'
option ifname 'wlan0'
root@OpenWrt:~# sed -i 's/58:E2:8F:2E:A2:AD\+;*//ig' /etc/config/wireless
root@OpenWrt:~# cat /etc/config/wireless
config wifi-device 'mt7603e'
option type 'mt7603e'
option vendor 'ralink'
option band '2.4G'
option beacon '100'
option wifimode '9'
option txpower '100'
option channel '0'
option disabled '0'
option hidden '0'
option wps_enabled 'enable'
option wps_router_pin 'pin'
option wps_mode 'PBC'
option bw '1'
option region '0'
option AccessPolicy0 '2'
option AccessControlList0 '28:ED:6A:E9:AB:FB;58:11:22:2E:A2:AF'
config wifi-iface
option device 'mt7603e'
option ifname 'ra0'
option network 'lan'
option mode 'ap'
option ssid 'FURRIONAP_CCDD04'
option instance '1'
option wmm 'enable'
option encryption 'psk-mixed+ccmp'
option key 'FACCDD04'
config wifi-device 'mt7612e'
option type 'mt7612e'
option vendor 'ralink'
option band '5G'
option channel '0'
option autoch '2'
option disabled '0'
option txpower '100'
option hidden '0'
option wifimode '14'
option bw '2'
option wps_enabled 'enable'
option wps_router_pin 'pin'
option wps_mode 'PBC'
option aregion '10'
option AccessPolicy0 '2'
option AccessControlList0 '28:ED:6A:E9:AB:FB;58:11:22:2E:A2:AF'
config wifi-iface
option device 'mt7612e'
option ifname 'rai0'
option network 'lan'
option mode 'ap'
option ssid 'FURRIONAP_CCDD04'
option encryption 'psk-mixed+ccmp'
option key 'FACCDD04'
option instance '2'
config wifi-device 'radio0'
option type 'mac80211'
option channel '0'
option hwmode '11g'
option htmode 'HT20'
config wifi-iface
option device 'radio0'
option network 'wan0'
option mode 'sta'
option ssid 'wifi'
option encryption 'psk2'
option key 'wifiwifi'
option ifname 'wlan0'
root@OpenWrt:~#
代码中记得转义字符\\
snprintf(cmd, sizeof(cmd), "sed -i 's/%s\\+;*//ig' /etc/config/wireless", g_l2filter_params.l2filter_list[i].l2addr);
my_printf(LOG_MODE_LEVEL_1, "%s(%d) cmd:%s \n",__FUNCTION__,__LINE__, cmd);
system(cmd);
system("sync");
ifconfig wlan0 down
iwpriv wlan0 set_mib aclmode=2
iwpriv wlan0 set_mib aclnum=0
iwpriv wlan0 set_mib acladdr=0c1daf4de901
iwpriv wlan0 set_mib acladdr=0c1daf4de902
iwpriv wlan0 set_mib acladdr=0c1daf4de903
iwpriv wlan0 set_mib acladdr=0c1daf4de904
iwpriv wlan0 set_mib acladdr=0c1daf4de905
ifconfig wlan0 up
root@OpenWrt:/# cat /proc/wlan0/mib_staconfig
Dot11StationConfigEntry...
dot11Bssid: 34ba9a998899
dot11DesiredSSID:(Len 16) Smart_Bro_998899
dot11DefaultSSID:(Len 0)
dot11SSIDtoScan:(Len 16) Smart_Bro_998899
dot11DesiredBssid: 000000000000
dot11OperationalRateSet: 82848b960c1218243048606c
dot11OperationalRateSetLen: 12
dot11BeaconPeriod: 100
dot11DTIMPeriod: 1
dot11swcrypto: 0
dot11AclMode: 2
dot11AclNum: 1
dot11AclAddr[0]: 0c1daf4de959
Access control list...
hwaddr: 0c1daf4de959(deny)
dot11SupportedRates: 0xfff
dot11BasicRates: 0xf
dot11RegDomain: 3
autoRate: 1
fixedTxRate: 0x0
swTkipMic: 1
protectionDisabled: 0
olbcDetectDisabled: 0
nmlscDetectDisabled: 0
legacySTADeny: 0
fastRoaming: 0
lowestMlcstRate: 0
supportedStaNum: 8
root@OpenWrt:/#