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)
committerFelix Fietkau <nbd@nbd.name>
Wed, 15 Nov 2017 17:49:12 +0000 (18:49 +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>
package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh

index ebd24df0d3e984bf2afc5997207509f8150509b2..703609b1475449c4c70a50fe305db2fbab4b21ce 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