60 lines
1.1 KiB
Bash
Executable File
60 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# Copyright 2007 Luis R. Rodriguez <mcgrof@winlab.rutgers.edu>
|
|
#
|
|
# Makes sure either b43, b43legacy (new mac80211 drivers) or bcm43xx
|
|
# is enabled to be used. This allows us to choose any driver without
|
|
# blacklisting each other.
|
|
|
|
. /usr/lib/compat-wireless/modlib.sh
|
|
|
|
if [[ $UID -ne 0 ]]; then
|
|
echo "Run with root privileges"
|
|
exit
|
|
fi
|
|
|
|
B43S="b43 b43legacy"
|
|
B43_OLD="bcm43xx"
|
|
B43_PROP="wl"
|
|
|
|
# Appended to module file at the end when we want to ignore one
|
|
USAGE="Usage: $0 [ b43 | bcm43xx | wl ]"
|
|
|
|
function enable_b43 {
|
|
module_disable $B43_OLD
|
|
module_disable $B43_PROP
|
|
for i in $B43S; do
|
|
module_enable $i
|
|
done
|
|
}
|
|
|
|
# Default behavior: disables the old bcm43xx driver and enables b43
|
|
# and b43legacy
|
|
if [ $# -eq 0 ]; then
|
|
enable_b43
|
|
exit
|
|
elif [ $# -ne 1 ]; then
|
|
echo "$USAGE"
|
|
exit
|
|
fi
|
|
|
|
MODULE=$1
|
|
if [ "$MODULE" == "bcm43xx" ]; then
|
|
for i in $B43S; do
|
|
module_disable $i
|
|
done
|
|
module_disable $B43_PROP
|
|
module_enable $B43_OLD
|
|
elif [ "$MODULE" == "wl" ]; then
|
|
for i in $B43S; do
|
|
module_disable $i
|
|
done
|
|
module_disable $B43_OLD
|
|
module_enable $B43_PROP
|
|
elif [ "$MODULE" == "b43" ]; then
|
|
enable_b43
|
|
else
|
|
echo "$USAGE"
|
|
exit
|
|
fi
|