mac80211: don't pass the hostapd ctrl iface in adhoc
authorAntonio Quartulli <ordex@autistici.org>
Fri, 9 Nov 2012 14:23:34 +0000 (15:23 +0100)
committerJo-Philipp Wich <jo@mein.io>
Wed, 13 Dec 2017 15:51:12 +0000 (16:51 +0100)
Passing the ctrl iface to wpa_supplicant will automatically cause wpa_supplicant
to send "STOP_AP" messages to the hostapd. This breaks the AP interfaces.

Signed-off-by: Antonio Quartulli <ordex@autistici.org>
(cherry picked from commit 0da54fa6428ea98d31b49f5d9a4a272214f5d188)

package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh

index ebd24df..703609b 100644 (file)
@@ -522,6 +522,12 @@ mac80211_setup_supplicant() {
        wpa_supplicant_run "$ifname" ${hostapd_ctrl:+-H $hostapd_ctrl}
 }
 
+mac80211_setup_supplicant_noctl() {
+       wpa_supplicant_prepare_interface "$ifname" nl80211 || return 1
+       wpa_supplicant_add_network "$ifname"
+       wpa_supplicant_run "$ifname"
+}
+
 mac80211_setup_adhoc_htmode() {
        case "$htmode" in
                VHT20|HT20) ibss_htmode=HT20;;
@@ -631,7 +637,7 @@ mac80211_setup_vif() {
                                        authsae_start_interface || failed=1
                                else
                                        wireless_vif_parse_encryption
-                                       mac80211_setup_supplicant || failed=1
+                                       mac80211_setup_supplicant_noctl || failed=1
                                fi
                        else
                                json_get_vars mesh_id mcast_rate
@@ -688,7 +694,7 @@ mac80211_setup_vif() {
                        wireless_vif_parse_encryption
                        mac80211_setup_adhoc_htmode
                        if [ "$wpa" -gt 0 -o "$auto_channel" -gt 0 ]; then
-                               mac80211_setup_supplicant || failed=1
+                               mac80211_setup_supplicant_noctl || failed=1
                        else
                                mac80211_setup_adhoc
                        fi