Browse Source

mac80211: don't pass the hostapd ctrl iface in adhoc

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 <[email protected]>
Antonio Quartulli 13 years ago
parent
commit
0da54fa642
1 changed files with 8 additions and 2 deletions
  1. 8 2
      package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh

+ 8 - 2
package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh

@@ -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