broadcom-wl: support more virtual interfaces

Read the number of virtual interfaces to support from the device
capabilities; as some newer devices can support up to 16.

Signed-off-by: Nathan Hintz <nlhintz@hotmail.com>


git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38759 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
Hauke Mehrtens
2013-11-11 22:03:25 +00:00
parent dc0ff18316
commit e46232e69a
2 changed files with 53 additions and 2 deletions

View File

@@ -108,12 +108,14 @@ disable_broadcom() {
# make sure all of the devices are disabled in the driver
local ifdown=
local vif
local bssmax=$(wlc ifname "$device" bssmax)
local vif=$((${bssmax:-4} - 1))
append ifdown "down" "$N"
append ifdown "wds none" "$N"
for vif in 3 2 1 0; do
while [ $vif -ge 0 ]; do
append ifdown "vif $vif" "$N"
append ifdown "enabled 0" "$N"
vif=$(($vif - 1))
done
wlc ifname "$device" stdin <<EOF
@@ -209,8 +211,12 @@ enable_broadcom() {
local nas="$(which nas)"
local if_pre_up if_up nas_cmd
local vif vif_pre_up vif_post_up vif_do_up vif_txpower
local bssmax=$(wlc ifname "$device" bssmax)
bssmax=${bssmax:-4}
for vif in $vifs; do
[ $_c -ge $bssmax ] && break
config_get vif_txpower "$vif" txpower
local mode