X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/d0b16203c647d4e7b2979084694a200c9f500ff5..08fc0ba23fbe10c57d2845be9a6b0e80241d9539:/package/hostap-driver/files/lib/wifi/hostap.sh diff --git a/package/hostap-driver/files/lib/wifi/hostap.sh b/package/hostap-driver/files/lib/wifi/hostap.sh index 29556b824..62d2e7e47 100755 --- a/package/hostap-driver/files/lib/wifi/hostap.sh +++ b/package/hostap-driver/files/lib/wifi/hostap.sh @@ -39,6 +39,9 @@ scan_prism2() { config_get vifs "$device" vifs local _c=0 for vif in $vifs; do + config_get_bool disabled "$vif" disabled 0 + [ $disabled = 0 ] || continue + config_get mode "$vif" mode case "$mode" in adhoc|sta|ap|monitor) @@ -112,7 +115,7 @@ enable_prism2() { config_get ssid "$vif" ssid config_get mode "$vif" mode - [ "$mode" = "wds" ] || iwconfig "$phy" essid -- "$ssid" + [ "$mode" = "wds" ] || iwconfig "$phy" essid ${ssid:+-- }"${ssid:-any}" case "$mode" in sta) @@ -124,6 +127,7 @@ enable_prism2() { ;; ap) iwconfig "$phy" mode master;; wds) iwpriv "$phy" wds_add "$ssid";; + adhoc) iwconfig "$phy" mode ad-hoc;; *) iwconfig "$phy" mode "$mode";; esac @@ -207,7 +211,7 @@ enable_prism2() { ;; wds|sta) if eval "type wpa_supplicant_setup_vif" 2>/dev/null >/dev/null; then - wpa_supplicant_setup_vif "$vif" hostap || { + wpa_supplicant_setup_vif "$vif" wext || { echo "enable_prism2($device): Failed to set up wpa_supplicant for interface $ifname" >&2 ifconfig "$ifname" down continue @@ -245,7 +249,6 @@ detect_prism2() { config_foreach check_prism2_device wifi-device [ "$found" -gt 0 ] && continue cat <