|
|
@ -3,8 +3,8 @@ append DRIVERS "broadcom" |
|
|
|
scan_broadcom() { |
|
|
|
scan_broadcom() { |
|
|
|
local device="$1" |
|
|
|
local device="$1" |
|
|
|
local wds |
|
|
|
local wds |
|
|
|
local adhoc sta apmode |
|
|
|
local adhoc sta apmode mon |
|
|
|
local adhoc_if sta_if ap_if |
|
|
|
local adhoc_if sta_if ap_if mon_if |
|
|
|
|
|
|
|
|
|
|
|
config_get vifs "$device" vifs |
|
|
|
config_get vifs "$device" vifs |
|
|
|
for vif in $vifs; do |
|
|
|
for vif in $vifs; do |
|
|
@ -26,17 +26,21 @@ scan_broadcom() { |
|
|
|
config_get addr "$vif" bssid |
|
|
|
config_get addr "$vif" bssid |
|
|
|
[ -z "$addr" ] || append wds "$addr" |
|
|
|
[ -z "$addr" ] || append wds "$addr" |
|
|
|
;; |
|
|
|
;; |
|
|
|
|
|
|
|
monitor) |
|
|
|
|
|
|
|
mon=1 |
|
|
|
|
|
|
|
mon_if="$vif" |
|
|
|
|
|
|
|
;; |
|
|
|
*) echo "$device($vif): Invalid mode";; |
|
|
|
*) echo "$device($vif): Invalid mode";; |
|
|
|
esac |
|
|
|
esac |
|
|
|
done |
|
|
|
done |
|
|
|
config_set "$device" wds "$wds" |
|
|
|
config_set "$device" wds "$wds" |
|
|
|
|
|
|
|
|
|
|
|
local _c= |
|
|
|
local _c= |
|
|
|
for vif in ${adhoc_if:-$sta_if $ap_if}; do |
|
|
|
for vif in ${adhoc_if:-$sta_if $ap_if $mon_if}; do |
|
|
|
config_set "$vif" ifname "wl0${_c:+.$_c}" |
|
|
|
config_set "$vif" ifname "wl0${_c:+.$_c}" |
|
|
|
_c=$((${_c:-0} + 1)) |
|
|
|
_c=$((${_c:-0} + 1)) |
|
|
|
done |
|
|
|
done |
|
|
|
config_set "$device" vifs "${adhoc_if:-$sta_if $ap_if}" |
|
|
|
config_set "$device" vifs "${adhoc_if:-$sta_if $ap_if $mon_if}" |
|
|
|
|
|
|
|
|
|
|
|
ifdown="down" |
|
|
|
ifdown="down" |
|
|
|
for vif in 0 1 2 3; do |
|
|
|
for vif in 0 1 2 3; do |
|
|
@ -49,21 +53,30 @@ scan_broadcom() { |
|
|
|
mssid=1 |
|
|
|
mssid=1 |
|
|
|
apsta=0 |
|
|
|
apsta=0 |
|
|
|
radio=1 |
|
|
|
radio=1 |
|
|
|
case "$adhoc:$sta:$apmode" in |
|
|
|
monitor=0 |
|
|
|
|
|
|
|
passive=0 |
|
|
|
|
|
|
|
case "$adhoc:$sta:$apmode:$mon" in |
|
|
|
1*) |
|
|
|
1*) |
|
|
|
ap=0 |
|
|
|
ap=0 |
|
|
|
mssid= |
|
|
|
mssid= |
|
|
|
infra=0 |
|
|
|
infra=0 |
|
|
|
;; |
|
|
|
;; |
|
|
|
:1:1) |
|
|
|
:1:1:) |
|
|
|
apsta=1 |
|
|
|
apsta=1 |
|
|
|
wet=1 |
|
|
|
wet=1 |
|
|
|
;; |
|
|
|
;; |
|
|
|
:1:) |
|
|
|
:1::) |
|
|
|
wet=1 |
|
|
|
wet=1 |
|
|
|
ap=0 |
|
|
|
ap=0 |
|
|
|
mssid= |
|
|
|
mssid= |
|
|
|
;; |
|
|
|
;; |
|
|
|
|
|
|
|
:::1) |
|
|
|
|
|
|
|
wet=1 |
|
|
|
|
|
|
|
ap=0 |
|
|
|
|
|
|
|
mssid= |
|
|
|
|
|
|
|
monitor=1 |
|
|
|
|
|
|
|
passive=1 |
|
|
|
|
|
|
|
;; |
|
|
|
::) |
|
|
|
::) |
|
|
|
radio=0 |
|
|
|
radio=0 |
|
|
|
;; |
|
|
|
;; |
|
|
@ -201,6 +214,11 @@ enable_broadcom() { |
|
|
|
append vif_post_up "vlan_mode 0" "$N" |
|
|
|
append vif_post_up "vlan_mode 0" "$N" |
|
|
|
append vif_post_up "ssid $ssid" "$N" |
|
|
|
append vif_post_up "ssid $ssid" "$N" |
|
|
|
append vif_do_up "ssid $ssid" "$N" |
|
|
|
append vif_do_up "ssid $ssid" "$N" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[ "$mode" = "monitor" ] && { |
|
|
|
|
|
|
|
append vif_post_up "monitor $monitor" "$N" |
|
|
|
|
|
|
|
append vif_post_up "passive $passive" "$N" |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
append vif_post_up "enabled 1" "$N" |
|
|
|
append vif_post_up "enabled 1" "$N" |
|
|
|
|
|
|
|
|
|
|
@ -243,6 +261,8 @@ ${wet:+wet 1} |
|
|
|
802.11h 0 |
|
|
|
802.11h 0 |
|
|
|
rxant ${rxant:-3} |
|
|
|
rxant ${rxant:-3} |
|
|
|
txant ${txant:-3} |
|
|
|
txant ${txant:-3} |
|
|
|
|
|
|
|
monitor ${monitor:-0} |
|
|
|
|
|
|
|
passive ${passive:-0} |
|
|
|
|
|
|
|
|
|
|
|
radio ${radio:-1} |
|
|
|
radio ${radio:-1} |
|
|
|
macfilter ${macfilter:-0} |
|
|
|
macfilter ${macfilter:-0} |
|
|
|