#!/bin/sh
#
# install_intersil_firmware
#
# This script tries to download and install the firmware needed to run
# WLAN cards using the ACX100 chip.

die()
{
    popd
    test -d $TMPDIR
    rm -rf $TMPDIR
    exit 1
}

test -z "$( type -p curl)" && { echo "'curl' is not installed, aborting"; exit 1; }
test -z "$( type -p unzip)" && { echo "'unzip' is not installed, aborting"; exit 1; }
test -d /lib/firmware || mkdir -p /lib/firmware

TMPDIR=$(mktemp -d /var/tmp/acx100.XXXXXX) || exit 1

pushd `pwd` >/dev/null
cd $TMPDIR
echo "Downloading firmware"
curl -# -o dwl520+_drivers_307.zip ftp://ftp.dlink.com/Wireless/dwl520+/Driver/dwl520+_drivers_307.zip
echo -n "Installing firmware"
unzip dwl520+_drivers_307.zip >/dev/null || die
mv Drivers/Win2000/WLANGEN.bin /lib/firmware/WLANGEN.BIN || die
mv Drivers/Win2000/RADIO0d.BIN /lib/firmware/ || die
mv Drivers/Win2000/RADIO11.BIN /lib/firmware/ || die
echo
echo "Firmware successfully installed."

popd >/dev/null
rm -rf $TMPDIR

exit 0
