- esac
-
- config_get ssid "$vif" ssid
- append if_up "iwconfig $ifname essid $ssid channel $channel" ";$N"
- append if_up "sleep 1" ";$N"
- append if_up "ifconfig $ifname up" ";$N"
-
+ adhoc)
+ config_get addr "$vif" bssid
+ [ -z "$addr" ] || {
+ iwconfig "$ifname" ap "$addr"
+ }
+ ;;
+ esac
+
+ [ "$mode" = "sta" ] && {
+ config_get_bool bgscan "$vif" bgscan 1
+ iwpriv "$ifname" bgscan "$bgscan"
+ }
+
+ config_get_bool antdiv "$device" diversity 1
+ sysctl -w dev."$device".diversity="$antdiv" >&-
+
+ config_get antrx "$device" rxantenna
+ if [ -n "$antrx" ]; then
+ sysctl -w dev."$device".rxantenna="$antrx" >&-
+ fi
+
+ config_get anttx "$device" txantenna
+ if [ -n "$anttx" ]; then
+ sysctl -w dev."$device".txantenna="$anttx" >&-
+ fi
+
+ config_get distance "$device" distance
+ if [ -n "$distance" ]; then
+ athctrl -i "$device" -d "$distance" >&-
+ fi
+
+ config_get txpwr "$vif" txpower
+ if [ -n "$txpwr" ]; then
+ iwconfig "$ifname" txpower "${txpwr%%.*}"
+ fi
+
+ ifconfig "$ifname" up
+ iwconfig "$ifname" channel "$channel" >/dev/null 2>/dev/null
+