#!/bin/bash
EICON_FIRM="ETSI"
EICON_OPT=""
case "$PROTOCOL" in
    1tr6)   EICON_FIRM="1TR6" ;;
    euro)   EICON_FIRM="ETSI" ;;
    leased) EICON_FIRM="ETSI";EICON_OPT="-p 1";;
    ni1)    EICON_FIRM="NI" ;;
    *)      EICON_FIRM="ETSI" ;;
esac
EICON_CNT=1
case "PARA_SUBTYPE" in
    0|1|2|3|5|7)    ;;
    6)              EICON_CNT=4 ;;
    4|8)            EICON_OPT="$EICON_OPT -s2 -n" ;;
    *)              ;;
esac
EICON_CNR=${EICON_CNR:=0}
if [ -z $EICON_LOADED ] ; then
    EICON_LOADED="yes"
    if [ $PARA_SUBTYPE -le 4 ] ; then
	EICON_PAR="irq=$PARA_IRQ membase=$PARA_MEMBASE"
    fi
    /sbin/modprobe capi
    /sbin/modprobe divadidd
    /sbin/modprobe --ignore-install divas
    /sbin/modprobe diva_idi
    /sbin/modprobe diva_mnt
    /sbin/modprobe divacapi
    RET=$?
fi
if [ $RET -eq 0 ] ; then
    /sbin/modprobe capidrv
    rc_failed $RET
    rc_status -v
#    echo -n "Loading firmware $EICON_FIRM to $ID"
    /sbin/divactrl load -f $EICON_FIRM $EICON_OPT
    RET=$?
    if [ $RET -eq 0 ] ; then
	if [ -n "$EAZMAP" ]; then
	    eval I4L_EAZMAP_$CONTR="\"${ID}${EICON_CNR} ${EAZMAP}\""
	    I4L_EAZMAP_IDX="$I4L_EAZMAP_IDX $CONTR"
	fi
	if [ $EICON_CNT -eq 4 ]; then
	    if [ -n "$EAZMAP_1" ]; then
		I4L_EAZMAP_${CONTR}_1="${ID}${EICON_CNR} ${EAZMAP_1}"
		I4L_EAZMAP_IDX="$I4L_EAZMAP_IDX ${CONTR}_1"
	    fi
	    if [ -n "$EAZMAP_2" ]; then
		I4L_EAZMAP_${CONTR}_2="${ID}$(($EICON_CNR + 1)) ${EAZMAP_2}"
		I4L_EAZMAP_IDX="$I4L_EAZMAP_IDX ${CONTR}_2"
	    fi
	    if [ -n "$EAZMAP_3" ]; then
		I4L_EAZMAP_${CONTR}_3="${ID}$(($EICON_CNR + 2)) ${EAZMAP_3}"
		I4L_EAZMAP_IDX="$I4L_EAZMAP_IDX ${CONTR}_3"
	    fi
	    if [ -n "$EAZMAP_4" ]; then
		I4L_EAZMAP_${CONTR}_4="${ID}$(($EICON_CNR + 3)) ${EAZMAP_4}"
		I4L_EAZMAP_IDX="$I4L_EAZMAP_IDX ${CONTR}_4"
	    fi
	fi
    fi
    EICON_CNR=$(($EICON_CNR + $EICON_CNT))
fi
test $RET -eq 0 && CONTR_CNT=$(($CONTR_CNT + $EICON_CNT))
