#!/bin/sh
MODULE=ipw2200

if [ `whoami` != "root" ]; then
	echo "You must be root to run this script."
	return
fi

. unload
unset LOADED

function load_pre
{
     for i in firmware_class; do
	if ! (lsmod | grep -q $i) && \
	   ! (modprobe $i > /dev/null 2>&1 && LOADED="${LOADED}${i} ") && \
	   ! (grep -q request_firmware /proc/kallsyms); then
		echo "Firmware capabilities not found.  See INSTALL."
		return 0
	fi
     done
     return 1
}


function load_modules
{
     for i in ieee80211_crypt ieee80211_crypt_{wep,tkip,ccmp}; do
	if [ -e ./$i.ko ]; then
		insmod ./$i.ko && LOADED="${LOADED}${i} "
	fi
     done

     if [ -z ${IEEE80211_DEBUG} ]; then
	IEEE80211_DEBUG=0
     fi

     i=ieee80211
     insmod ./${i}.ko debug=${IEEE80211_DEBUG} && \
	LOADED="${LOADED}${i} "

     if [ -z $1 ]; then
	insmod ./${MODULE}.ko debug=255 && LOADED="${LOADED}${MODULE} "
     else
	insmod ./${MODULE}.ko $@ && LOADED="${LOADED}${MODULE} "
     fi

     return 1
}

if ! load_pre && ! load_modules $@; then 
	if [ -z "${LOADED}" ]; then
		echo "No modules loaded."
	else
		echo "Loaded: ${LOADED}"
	fi
else
	echo "Load failed."
fi

