diff --git a/package/mac80211/files/lib/wifi/mac80211.sh b/package/mac80211/files/lib/wifi/mac80211.sh index ff5470b5eb..e946a685ac 100644 --- a/package/mac80211/files/lib/wifi/mac80211.sh +++ b/package/mac80211/files/lib/wifi/mac80211.sh @@ -447,6 +447,17 @@ enable_mac80211() { config_get mcast_rate "$vif" mcast_rate local keyspec="" + [ "$encryption" == "psk" -o "$encryption" == "psk2" ] && { + if eval "type wpa_supplicant_setup_vif" 2>/dev/null >/dev/null; then + wpa_supplicant_setup_vif "$vif" nl80211 "" $freq || { + echo "enable_mac80211($device): Failed to set up wpa_supplicant for interface $ifname" >&2 + # make sure this wifi interface won't accidentally stay open without encryption + ifconfig "$ifname" down + continue + } + fi + } + [ "$encryption" == "wep" ] && { case "$key" in [1234])