X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/74d543111ac1a2a8de70a6b7f9bbc38ed2239993..c31e54429a547a36431f6f9c01fd1f16952b37d9:/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 b30a3d9fe..998a2f58f 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" @@ -232,18 +233,26 @@ 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" config_get ifname "$vif" ifname #append if_up "ifconfig $ifname up" ";$N" - [ -z "$macaddr" ] || append if_up "ifconfig $ifname hw ether $macaddr" ";$N" + local net_cfg bridge 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\"" @@ -297,7 +306,11 @@ EOF wlc stdin <