|
|
@@ -1,28 +1,24 @@
|
|
|
authsae_start_interface() {
|
|
|
- local device="$1" # to use the correct channel
|
|
|
- local vif="$2"
|
|
|
- local band
|
|
|
+ local mcast_rate
|
|
|
+ local mesh_htmode
|
|
|
+ local mesh_band
|
|
|
+ local authsae_conf_file="/var/run/authsae-$ifname.cfg"
|
|
|
+ local ret=1
|
|
|
|
|
|
- cfgfile="/var/run/authsae-$vif.cfg"
|
|
|
- config_get channel "$device" channel
|
|
|
- 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"
|
|
|
+ json_get_vars mcast_rate
|
|
|
+ set_default mcast_rate "12"
|
|
|
|
|
|
case "$htmode" in
|
|
|
- HT20|HT40+|HT40-) htmode="$htmode";;
|
|
|
- NOHT|none|*) htmode="none";;
|
|
|
+ HT20|HT40+|HT40-) mesh_htmode="$htmode";;
|
|
|
+ *) mesh_htmode="none";;
|
|
|
esac
|
|
|
|
|
|
case "$hwmode" in
|
|
|
- *g*) band=11g;;
|
|
|
- *a*) band=11a;;
|
|
|
+ *g*) mesh_band=11g;;
|
|
|
+ *a*) mesh_band=11a;;
|
|
|
esac
|
|
|
|
|
|
- cat > "$cfgfile" <<EOF
|
|
|
+ cat > "$authsae_conf_file" <<EOF
|
|
|
authsae:
|
|
|
{
|
|
|
sae:
|
|
|
@@ -41,13 +37,21 @@ authsae:
|
|
|
passive = 0;
|
|
|
debug = 0;
|
|
|
mediaopt = 1;
|
|
|
- band = "$band";
|
|
|
+ band = "$mesh_band";
|
|
|
channel = $channel;
|
|
|
- htmode = "$htmode";
|
|
|
+ htmode = "$mesh_htmode";
|
|
|
mcast-rate = $mcast_rate;
|
|
|
};
|
|
|
};
|
|
|
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
|
|
|
}
|