#!/bin/bash
# Copyright 2008	Luis R. Rodriguez <lrodriguez@atheros.com>
#
# Loads new Intel iwl (iwlagn) or the old ones (iwl4965)

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

IWL_OLD="iwl4965"
IWL_NEW="iwlagn"

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


USAGE="Usage: $0 [ iwlagn | iwl4965 ]"

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

MODULE=$1
if [ "$MODULE" == "iwlagn" ]; then
        grep iwl4965 /proc/modules 2>&1 > /dev/null
        if [ $? -eq 0 ]; then
                echo Unloading $i...
		modprobe -r --ignore-remove iwl4965
        fi
	# Enables both b43 and b43legacy
	iwl-enable iwlagn
	modprobe iwlagn
	CHECK=`modprobe -l iwlagn`
	if [ ! -z $CHECK ]; then
		echo "iwlagn loaded successfully"
	fi
elif [ "$MODULE" == "iwl4965" ]; then
	CHECK=`modprobe -l iwlagn`
	if [ ! -z $CHECK ]; then
		echo "iwlagn currently loaded, going to try to unload the module..."
		modprobe -r --ignore-remove iwlagn
	fi
	iwl-enable iwl4965
	# iwl4965 may be loaded already lets remove it first
	modprobe -r --ignore-remov iwl4965 2>&1 > /dev/null
	modprobe iwl4965
	CHECK=`modprobe -l iwl4965`
	if [ ! -z $CHECK ]; then
		echo "iwl4965 loaded successfully!"
	fi
else
	echo "$USAGE"
	exit
fi
