X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/467cdf09e361728e88063d6d24b6d80d12c08be8..1a4a2b5ae76b2c685d4142402e1190431af629b8:/package/broadcom-wl/files/lib/wifi/broadcom.sh diff --git a/package/broadcom-wl/files/lib/wifi/broadcom.sh b/package/broadcom-wl/files/lib/wifi/broadcom.sh index e0d741b95..7d56c10e0 100644 --- a/package/broadcom-wl/files/lib/wifi/broadcom.sh +++ b/package/broadcom-wl/files/lib/wifi/broadcom.sh @@ -123,7 +123,8 @@ enable_broadcom() { config_get macfilter "$device" macfilter config_get maclist "$device" maclist config_get macaddr "$device" macaddr - local vif_pre_up vif_post_up vif_do_up txpower + config_get txpower "$device" txpower + local vif_pre_up vif_post_up vif_do_up vif_txpower _c=0 nas="$(which nas)" @@ -152,7 +153,7 @@ enable_broadcom() { esac for vif in $vifs; do - config_get txpower "$vif" txpower + config_get vif_txpower "$vif" txpower config_get mode "$vif" mode append vif_pre_up "vif $_c" "$N" @@ -198,6 +199,7 @@ enable_broadcom() { case "$enc" in wpa*+wpa2*|WPA*+WPA2*|*psk+*psk2|*PSK+*PSK2) auth=132; wsec=6;; wpa2*|WPA2*|*PSK2|*psk2) auth=128; wsec=4;; + *aes|*AES) auth=4; wsec=4;; *) auth=4; wsec=2;; esac eval "${vif}_key=\"\$key\"" @@ -232,6 +234,14 @@ enable_broadcom() { append vif_post_up "monitor $monitor" "$N" append vif_post_up "passive $passive" "$N" } + + [ "$mode" = "adhoc" ] && { + config_get bssid "$vif" bssid + [ -n "$bssid" ] && { + append vif_pre_up "des_bssid $bssid" "$N" + append vif_pre_up "allow_mode 1" "$N" + } + } || append vif_pre_up "allow_mode 0" "$N" append vif_post_up "enabled 1" "$N" @@ -242,8 +252,8 @@ enable_broadcom() { net_cfg="$(find_net_config "$vif")" [ -z "$net_cfg" ] || { bridge="$(bridge_interface "$net_cfg")" - append if_up "start_net '$ifname' '$net_cfg'" ";$N" append if_up "set_wifi_up '$vif' '$ifname'" ";$N" + append if_up "start_net '$ifname' '$net_cfg' \$(wlc ifname '$ifname' bssid)" ";$N" } [ -z "$nasopts" ] || { eval "${vif}_ssid=\"\$ssid\"" @@ -266,9 +276,9 @@ enable_broadcom() { wlc stdin <