#!/bin/bash
set -e

# This is a simple script to setup the configuration for Wellenreiter to run

WELLEN_BIN=/opt/QtPalmtop/bin/wellenreiter
CARDCTL=/sbin/cardctl
SNIFFING_CONFIG=qpewlan2
PCMCIA_INIT=/etc/rc.d/init.d/pcmcia
WLAN_CONF=/etc/pcmcia/wlan-ng.conf
ORINOCO_CONF=/etc/pcmcia/wlan-ng.conf.orinoco
PRISM_CONF=/etc/pcmcia/wlan-ng.conf.prism2
HERMES_ON_CONF=/etc/pcmcia/hermes.conf
HERMES_OFF_CONF=/etc/pcmcia/.hermes.conf

# Let's test for some files that we will need...

test -x $WELLEN_BIN || exit 0
test -x $CARDCTL || exit 0
test -x $PCMCIA_INIT || exit 0
test -f $WLAN_CONF || exit 0
test -f $ORINOCO_CONF || exit 0
test -f $HERMES_OFF_CONF || exit 0

case "$1" in
  start)
        echo -n "Starting Wellenreiter"
	cp -f $ORINOCO_CONF $WLAN_CONF
	if [ $? -ne 0 ]; then
	  echo "Error copying $ORINOCO_CONF $WLAN_CONF"
	  exit 1
	fi

	cp -f $HERMES_OFF_CONF $HERMES_ON_CONF
	if [ $? -ne 0 ]; then
	  cp -f $PRISM_CONF $WLAN_CONF
	  echo "Error copying $HERMES_OFF_CONF $HERMES_ON_CONF"
	  exit 1
	fi
        
	$CARDCTL scheme CardSuspend
	$CARDCTL eject
	$PCMCIA_INIT restart &
	sleep 3

	$CARDCTL insert
	$CARDCTL scheme CardResume
	$CARDCTL scheme $SNIFFING_CONFIG

	$WELLEN_BIN 

        echo "Complete!"
	;;
  stop)
        echo -n "Stopping Wellenreiter"

	$CARDCTL scheme CardSuspend
	$CARDCTL eject
	
	rm -f $HERMES_ON_CONF

	if [ $? -ne 0 ]; then
	  echo "Error removing $HERMES_ON_CONF"
	  exit 1
	fi

	cp -f $PRISM_CONF $WLAN_CONF

	if [ $? -ne 0 ]; then
	  cp -f $ORINOCO_CONF $WLAN_CONF
	  echo "Error copying $PRISM_CONF $WLAN_CONF"
	  exit 1
	fi
	
	$PCMCIA_INIT restart &
	sleep 3

        echo "Complete!"
	;;

  *)
	echo "Usage: $0 {start|stop}"
	exit 1
esac

exit 0
