|
ar9531芯片,qsdk无线驱动,发2G添加多个SSID以后,只有第一个SSID的mac过滤有效,后面的SSID设置的mac过滤都无线,检查qcawifi.sh发现,除了第一个SSID读取到了maclist,其他的maclist都没有读取到导致其他ssid的mac过滤无效的。
- config_get maclist "$vif" maclist
- tmp_file="/tmp/"${ifname}
- echo $ifname >> /tmp/ifname.tmp
- tou
- [ -n "$maclist" ] && {
- # flush MAC list
- iwpriv "$ifname" maccmd 3
- for mac in $maclist; do
- echo $mac >> $tmp_file
- iwpriv "$ifname" addmac "$mac"
- done
- }
- config_get macfilter "$vif" macfilter
- echo $macfilter >> $tmp_file
- case "$macfilter" in
- allow)
- iwpriv "$ifname" maccmd 1
- ;;
- deny)
- iwpriv "$ifname" maccmd 2
- ;;
- *)
- # default deny policy if mac list exists
- [ -n "$maclist" ] && iwpriv "$ifname" maccmd 2
- ;;
- esac
复制代码
最后查了半天发现是这句有问题!很奇怪,因为第一个SSID可以获取到,后面的获取不到maclist
- config_get maclist "$vif" maclist
复制代码
后面改成这样就OK了
- maclist=$(uci get wireless."$vif".maclist)
复制代码
|
|