#!/bin/bash # Copyright 2007 Luis R. Rodriguez # # Loads new broadcom drivers (b43 and b43legacy) or the old ones (bcm43xx) . /usr/lib/compat-wireless/modlib.sh if [[ $UID -ne 0 ]]; then echo "Run with root privileges" exit fi USAGE="Usage: $0 [ b43 | bcm43xx ]" # Default behavior: unload bcm43xx and load b43 and b43legacy if [ $# -eq 0 ]; then 1=b43 elif [ $# -ne 1 ]; then echo "$USAGE" exit fi MODULE=$1 if [ "$MODULE" == "b43" ]; then grep bcm43xx /proc/modules 2>&1 > /dev/null if [ $? -eq 0 ]; then echo Unloading $i... modprobe -r --ignore-remove bcm43xx fi # Enables both b43 and b43legacy b43enable b43 modprobe b43 modprobe b43legacy CHECK=`modprobe -l b43` if [ ! -z $CHECK ]; then echo "b43 loaded successfully" fi CHECK=`modprobe -l b43legacy` if [ ! -z $CHECK ]; then echo "b43legacy loaded successfully" fi elif [ "$MODULE" == "bcm43xx" ]; then CHECK=`modprobe -l b43` if [ ! -z $CHECK ]; then echo "b43 currently loaded, going to try to unload the module..." modprobe -r --ignore-remove b43 fi CHECK=`modprobe -l b43legacy` if [ ! -z $CHECK ]; then echo "b43legacy currently loaded, going to try to unload the module..." modprobe -r --ignore-remove b43legacy fi b43enable bcm43xx # bcm43xx may be loaded already lets remove them first modprobe -r --ignore-remov bcm43xx 2>&1 > /dev/null modprobe bcm43xx CHECK=`modprobe -l bcm43xx` if [ ! -z $CHECK ]; then echo "bcm43xx loaded successfully!" fi else echo "$USAGE" exit fi