#!/bin/bash
# Copyright 2007	Luis R. Rodriguez <mcgrof@winlab.rutgers.edu>
#
# 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
