X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/b9395c0f0cf2732fbfdabec30b9632adbe967cd8..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 e60674a49..998a2f58f 100644 --- a/package/broadcom-wl/files/lib/wifi/broadcom.sh +++ b/package/broadcom-wl/files/lib/wifi/broadcom.sh @@ -117,13 +117,14 @@ enable_broadcom() { config_get vifs "$device" vifs config_get distance "$device" distance config_get slottime "$device" slottime - config_get rxant "$device" rxant - config_get txant "$device" txant + config_get rxantenna "$device" rxantenna + config_get txantenna "$device" txantenna config_get_bool frameburst "$device" frameburst 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 + config_get txpower "$device" txpower + local vif_pre_up vif_post_up vif_do_up vif_txpower _c=0 nas="$(which nas)" @@ -152,6 +153,8 @@ enable_broadcom() { esac for vif in $vifs; do + config_get vif_txpower "$vif" txpower + config_get mode "$vif" mode append vif_pre_up "vif $_c" "$N" append vif_post_up "vif $_c" "$N" @@ -230,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\"" @@ -271,8 +282,8 @@ infra $infra ${wet:+wet 1} 802.11d 0 802.11h 0 -rxant ${rxant:-3} -txant ${txant:-3} +rxant ${rxantenna:-3} +txant ${txantenna:-3} monitor ${monitor:-0} passive ${passive:-0} @@ -295,6 +306,12 @@ EOF wlc stdin <