#! /bin/bash
cd /etc/sysconfig/isdn
. scripts/functions
test -c /dev/ippp0 || . scripts/mkdev.sh
ACTION=$1
shift
PRODUCT=$1
shift
DEVICE=$1
shift
CONTR_FILES=""
for c in cfg-contr* ; do 
  case $c in 
    *~*|*.*) 
      # drop backup files, rpm{save,new,orig}
      ;;
    cfg-contr\*)
      # no files
      ;;
    *)
      CONTR_FILES="$CONTR_FILES $c"
      ;;
  esac
done
if [ ${MODPROBE_MODULE}v == v ] ; then
	echo MODPROBE_MODULE not set
	exit 1
fi

echo "CONTR_FILES = $CONTR_FILES"
DRV=$MODPROBE_MODULE
FIRMWARE="-"
SCRIPT=""
ISDNLOG_START="no"

case "$MODPROBE_MODULE" in
    "fcdslsl") # FRITZCARD!DSL SL
	SCRIPT=fcdslsl
	FIRMWARE="fdssbase.bin"	
	;;
    *) # unknown card
	echo "unhandled driver: $MODPROBE_MODULE"
	exit 1
esac

FOUND=no

test -n "$CONTR_FILES" && for CF in $CONTR_FILES; do
    DRIVER=""
    CONTR=${CF#cfg-}
    . $CF
    if [ "$DRV" = "$DRIVER" ]; then
	FOUND=yes
	break
    elif [ "generic_usb" = "$DRIVER" ]; then
	FOUND=generic
	break
    else
	continue
    fi
done
if [ "$FOUND" = "no" ]; then
	echo "no setup for driver $DRV found using defaults"
	CONTR=""
fi
if [ -x scripts/load-${SCRIPT} ]; then
	. scripts/load-${SCRIPT}
else
	echo "script load-${SCRIPT} not available"
	exit 1
fi
