authsae: adapt uci scripts to use authsae
[openwrt/staging/yousong.git] / package / kernel / mac80211 / files / lib / wifi / mac80211.sh
index 20f6bfa93cb55c74312d09edd51f82bd399a88c4..fb6cd296764e994fffe3585c8b2c0c015f8db0b4 100644 (file)
@@ -251,7 +251,7 @@ disable_mac80211() (
        include /lib/network
        for wdev in $(list_phy_interfaces "$phy"); do
                [ -f "/var/run/$wdev.pid" ] && kill $(cat /var/run/$wdev.pid) >&/dev/null 2>&1
-               for pid in `pidof wpa_supplicant`; do
+               for pid in `pidof wpa_supplicant meshd-nl80211`; do
                        grep "$wdev" /proc/$pid/cmdline >/dev/null && \
                                kill $pid
                done
@@ -370,8 +370,13 @@ enable_mac80211() {
                                [ "$apidx" -gt 1 ] || iw phy "$phy" interface add "$ifname" type managed
                        ;;
                        mesh)
-                               config_get mesh_id "$vif" mesh_id
-                               iw phy "$phy" interface add "$ifname" type mp mesh_id "$mesh_id"
+                               config_get key "$vif" key ""
+                               if [ -n "$key" ]; then
+                                       iw phy "$phy" interface add "$ifname" type mp
+                               else
+                                       config_get mesh_id "$vif" mesh_id
+                                       iw phy "$phy" interface add "$ifname" type mp mesh_id "$mesh_id"
+                               fi
                        ;;
                        monitor)
                                iw phy "$phy" interface add "$ifname" type monitor
@@ -426,9 +431,16 @@ enable_mac80211() {
        rm -f /var/run/hostapd-$phy.conf
        for vif in $vifs; do
                config_get mode "$vif" mode
-               [ "$mode" = "ap" ] || continue
-               mac80211_hostapd_setup_bss "$phy" "$vif"
-               start_hostapd=1
+               case "$mode" in
+                       ap)
+                               mac80211_hostapd_setup_bss "$phy" "$vif"
+                               start_hostapd=1
+                       ;;
+                       mesh)
+                               config_get key "$vif" key ""
+                               [ -n "$key" ] && authsae_start_interface "$device" "$vif"
+                       ;;
+               esac
        done
 
        [ -n "$start_hostapd" ] && {