@ -1,28 +1,24 @@
authsae_start_interface( ) {
authsae_start_interface( ) {
local device = " $1 " # to use the correct channel
local mcast_rate
local vif = " $2 "
local mesh_htmode
local band
local mesh_band
local authsae_conf_file = " /var/run/authsae- $ifname .cfg "
local ret = 1
cfgfile = " /var/run/authsae- $vif .cfg "
json_get_vars mcast_rate
config_get channel " $device " channel
set_default mcast_rate "12"
config_get hwmode " $device " hwmode
config_get htmode " $device " htmode
config_get ifname " $vif " ifname
config_get key " $vif " key
config_get mesh_id " $vif " mesh_id
config_get mcast_rate " $vif " mcast_rate "12"
case " $htmode " in
case " $htmode " in
HT20| HT40+| HT40-) htmode = " $htmode " ; ;
HT20| HT40+| HT40-) mesh_htmode = " $htmode " ; ;
NOHT| none| *) htmode = "none" ; ;
*) mesh_htmode = "none" ; ;
esac
esac
case " $hwmode " in
case " $hwmode " in
*g*) band = 11g; ;
*g*) mesh_ band= 11g; ;
*a*) band = 11a; ;
*a*) mesh_ band= 11a; ;
esac
esac
cat > " $cfg file " <<EOF
cat > " $authsae_conf_ file " <<EOF
authsae:
authsae:
{
{
sae:
sae:
@ -41,13 +37,21 @@ authsae:
passive = 0;
passive = 0;
debug = 0;
debug = 0;
mediaopt = 1;
mediaopt = 1;
band = " $band " ;
band = " $mesh_ band " ;
channel = $channel ;
channel = $channel ;
htmode = " $htmode " ;
htmode = " $mesh_ htmode " ;
mcast-rate = $mcast_rate ;
mcast-rate = $mcast_rate ;
} ;
} ;
} ;
} ;
EOF
EOF
ifconfig " $ifname " up
meshd-nl80211 -i " $ifname " -s " $mesh_id " -c " $cfgfile " -B
/usr/bin/meshd-nl80211 -i " $ifname " -s " $mesh_id " -c " $authsae_conf_file " </dev/null >/dev/null 2>/dev/null &
authsae_pid = " $! "
ret = " $? "
echo $authsae_pid > /var/run/authsae-$ifname .pid
wireless_add_process " $authsae_pid " "/usr/bin/meshd-nl80211" 1
[ " $ret " != 0 ] && wireless_setup_vif_failed AUTHSAE_FAILED
return $ret
}
}