remove all broadcom interfaces from bridges and bring them down completely when wifi down is called
SVN-Revision: 5116
This commit is contained in:
parent
5fee2188f5
commit
313556e91e
3 changed files with 28 additions and 8 deletions
|
@ -70,6 +70,11 @@ setup_interface() {
|
||||||
proto="${3:-$(config_get "$config" proto)}"
|
proto="${3:-$(config_get "$config" proto)}"
|
||||||
config_get iftype "$config" type
|
config_get iftype "$config" type
|
||||||
|
|
||||||
|
ifconfig "$iface" 2>/dev/null >/dev/null && {
|
||||||
|
# make sure the interface is removed from any existing bridge
|
||||||
|
unbridge "$iface"
|
||||||
|
}
|
||||||
|
|
||||||
# Setup VLAN interfaces
|
# Setup VLAN interfaces
|
||||||
add_vlan "$iface"
|
add_vlan "$iface"
|
||||||
|
|
||||||
|
@ -141,3 +146,15 @@ setup_interface() {
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
|
unbridge() {
|
||||||
|
local dev="$1"
|
||||||
|
local brdev
|
||||||
|
|
||||||
|
brctl show | grep "$dev" >/dev/null && {
|
||||||
|
# interface is still part of a bridge, correct that
|
||||||
|
|
||||||
|
for brdev in $(brctl show | awk '$2 ~ /^[0-9].*\./ { print $1 }'); do
|
||||||
|
brctl delif "$brdev" "$dev" 2>/dev/null >/dev/null
|
||||||
|
done
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -10,12 +10,5 @@ case "$iftype" in
|
||||||
esac
|
esac
|
||||||
|
|
||||||
for dev in $ifname; do
|
for dev in $ifname; do
|
||||||
brctl show | grep "$dev" >/dev/null && {
|
|
||||||
# interface is still part of a bridge, correct that
|
|
||||||
|
|
||||||
for brdev in $(brctl show | awk '$2 ~ /^[0-9].*\./ { print $1 }'); do
|
|
||||||
brctl delif "$brdev" "$dev" 2>/dev/null >/dev/null
|
|
||||||
done
|
|
||||||
}
|
|
||||||
setup_interface "$dev" "$1"
|
setup_interface "$dev" "$1"
|
||||||
done
|
done
|
||||||
|
|
|
@ -75,7 +75,17 @@ scan_broadcom() {
|
||||||
|
|
||||||
disable_broadcom() {
|
disable_broadcom() {
|
||||||
wlc down
|
wlc down
|
||||||
ifconfig wl0 down
|
(
|
||||||
|
include /lib/network
|
||||||
|
scan_interfaces
|
||||||
|
|
||||||
|
# make sure the interfaces are down and removed from all bridges
|
||||||
|
for dev in wl0 wl0.1 wl0.2 wl0.3; do
|
||||||
|
ifconfig "$dev" down 2>/dev/null >/dev/null && {
|
||||||
|
unbridge "$dev"
|
||||||
|
}
|
||||||
|
done
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
enable_broadcom() {
|
enable_broadcom() {
|
||||||
|
|
Loading…
Reference in a new issue