local driver="$2"
local key="$key"
local options="$3"
+ local freq=""
+ [ -n "$4" ] && freq="frequency=$4"
# wpa_supplicant should use wext for mac80211 cards
[ "$driver" = "mac80211" ] && driver='wext'
config_set "$vif" bridge "$bridge"
}
- local mode ifname wds
+ local mode ifname wds modestr=""
config_get mode "$vif" mode
config_get ifname "$vif" ifname
config_get_bool wds "$vif" wds 0
echo "wpa_supplicant_setup_vif($ifname): Refusing to bridge $mode mode interface"
return 1
}
+ [ "$mode" = "adhoc" ] && modestr="mode=1"
+ key_mgmt='NONE'
case "$enc" in
- *none*)
- key_mgmt='NONE'
- ;;
+ *none*) ;;
*wep*)
- key_mgmt='NONE'
config_get key "$vif" key
key="${key:-1}"
case "$key" in
;;
*psk*)
key_mgmt='WPA-PSK'
- config_get_bool usepassphrase "$vif" passphrase 1
+ [ "$mode" = "adhoc" -a "$driver" != "nl80211" ] && key_mgmt='WPA-NONE'
+ config_get_bool usepassphrase "$vif" usepassphrase 1
if [ "$usepassphrase" = "1" ]; then
passphrase="psk=\"${key}\""
else
cat > /var/run/wpa_supplicant-$ifname.conf <<EOF
ctrl_interface=/var/run/wpa_supplicant-$ifname
network={
+ $modestr
scan_ssid=1
ssid="$ssid"
$bssid
key_mgmt=$key_mgmt
$proto
+ $freq
$ieee80211w
$passphrase
$pairwise