Signed-off-by: Antonio Quartulli <[email protected]>
---
 package/hostapd/files/wpa_supplicant.sh |   22 ++++++++++++++++++++++
 1 files changed, 22 insertions(+), 0 deletions(-)

diff --git a/package/hostapd/files/wpa_supplicant.sh 
b/package/hostapd/files/wpa_supplicant.sh
index 1ab6c66..0d69628 100644
--- a/package/hostapd/files/wpa_supplicant.sh
+++ b/package/hostapd/files/wpa_supplicant.sh
@@ -3,6 +3,7 @@ wpa_supplicant_setup_vif() {
        local driver="$2"
        local key="$key"
        local options="$3"
+       local freq="frequency=$4"
 
        # wpa_supplicant should use wext for mac80211 cards
        [ "$driver" = "mac80211" ] && driver='wext'
@@ -58,7 +59,26 @@ wpa_supplicant_setup_vif() {
                        esac
                ;;
                *psk*)
+                       case "$mode" in
+                               adhoc)
+                                       mode='mode=1'
+                                       #default to channel 1
+                                       [ "$freq" == "" ] && {
+                                               freq='frequency=2412'
+                                       }
+
+                                       [ "$driver" == "madwifi" ] && {
+                                               key_mgmt='WPA-NONE'
+                                               driver='wext'
+                                       }
+                                       [ "$driver" == "nl80211" ] && {
                        key_mgmt='WPA-PSK'
+                                       }
+                               ;;
+                               *)
+                                       key_mgmt='WPA-PSK'
+                               ;;
+                       esac
                        config_get_bool usepassphrase "$vif" passphrase 1
                        if [ "$usepassphrase" = "1" ]; then
                                passphrase="psk=\"${key}\""
@@ -121,11 +141,13 @@ wpa_supplicant_setup_vif() {
        cat > /var/run/wpa_supplicant-$ifname.conf <<EOF
 ctrl_interface=/var/run/wpa_supplicant-$ifname
 network={
+       $mode
        scan_ssid=1
        ssid="$ssid"
        $bssid
        key_mgmt=$key_mgmt
        $proto
+       $freq
        $ieee80211w
        $passphrase
        $pairwise
-- 
1.7.3.4

_______________________________________________
openwrt-devel mailing list
[email protected]
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to