}
config_set "$vif" ifname "$ifname"
+ # only need to change freq band and channel on the first vif
+ config_get agmode "$device" agmode
+ [ -z "$agmode" ] && config_get agmode "$device" mode
+
+ pureg=0
+ case "$agmode" in
+ *b) agmode=11b;;
+ *bg) agmode=11g;;
+ *g) agmode=11g; pureg=1;;
+ *gdt) agmode=11gdt;;
+ *a) agmode=11a;;
+ *adt) agmode=11adt;;
+ *ast) agmode=11ast;;
+ *fh) agmode=fh;;
+ *) agmode=auto;;
+ esac
+ iwpriv "$ifname" mode "$agmode"
+ iwpriv "$ifname" pureg "$pureg"
+
[ "$first" = 1 ] && {
- # only need to change freq band and channel on the first vif
- config_get agmode "$device" agmode
- [ -z "$agmode" ] && config_get agmode "$device" mode
-
- pureg=0
- case "$agmode" in
- *b) agmode=11b;;
- *bg) agmode=11g;;
- *g) agmode=11g; pureg=1;;
- *gdt) agmode=11gdt;;
- *a) agmode=11a;;
- *adt) agmode=11adt;;
- *ast) agmode=11ast;;
- *fh) agmode=fh;;
- *) agmode=auto;;
- esac
- iwpriv "$ifname" mode "$agmode"
- iwpriv "$ifname" pureg "$pureg"
iwconfig "$ifname" channel "$channel" >/dev/null 2>/dev/null
}