#!/bin/bash
# Copyright 2007	Luis R. Rodriguez <mcgrof@winlab.rutgers.edu>
#
# Loads ath5k or madwifi

. /usr/lib/compat-drivers/modlib.sh

if [[ $UID -ne 0 ]]; then
	echo "Run with root privileges"
	exit
fi


USAGE="Usage: $0 [ ath5k | madwifi ]"

# Default behavior: unload MadWifi and load ath5k
if [ $# -eq 0 ]; then
	athenable ath5k
	exit
elif [ $# -ne 1 ]; then
		echo "$USAGE"
		exit
fi

MODULE=$1
if [ "$MODULE" == "ath5k" ]; then
	madwifi-unload
	athenable ath5k
	modprobe ath5k
	CHECK=`modprobe -l ath5k`
	if [ ! -z $CHECK ]; then
		echo "ath5k loaded successfully"
	fi
	modprobe ath9k
	CHECK=`modprobe -l ath9k`
	if [ ! -z $CHECK ]; then
		echo "ath9k loaded successfully"
	fi
elif [ "$MODULE" == "madwifi" ]; then
	CHECK=`modprobe -l ath5k`
	if [ ! -z $CHECK ]; then
		echo "ath5k currently loaded, going to try to unload the module..."
		modprobe -r --ignore-remove ath5k
	fi
	athenable madwifi
	# MadWifi may be loaded, but it doesn't mean devices
	# currently available were picked up
	madwifi-unload 2>&1 > /dev/null
	modprobe ath_pci
	CHECK=`modprobe -l ath_pci`
	if [ ! -z $CHECK ]; then
		echo "MadWifi loaded successfully!"
	fi
else
	echo "$USAGE"
	exit
fi
