#!/bin/bash
test "$DSL_CONTR" = "dslonly" || /sbin/modprobe --ignore-install isdn
/sbin/modprobe --ignore-install kernelcapi >& /dev/null
/sbin/modprobe --ignore-install capi >& /dev/null
typeset -i tout=0
while ((tout++ < 400)) ; do
    test -e /dev/capi/31 && break
    usleep 25000
done
/sbin/modprobe --ignore-install $DRV >& /dev/null
if [ "$DSL_CONTR" = "dslonly" ]; then
    free_idx=-1
else
    get_first_free_idx
fi
CONTR=${CONTR:-contr$free_idx}
CAPIFILE=capi.conf.usb.$CONTR
echo "#temp capi.conf generated by load-avmusb" > $CAPIFILE
echo "# card	file	proto	io	irq	mem	cardnr	options" >> $CAPIFILE
echo "$DRV	$FIRMWARE	-	-	-	-	- $DRIVER_OPTIONS" >> $CAPIFILE
/sbin/capiinit -c $CAPIFILE start >& /dev/null
RET=$?
if [ $RET -eq 0 -a $free_idx != -1 ]; then
    /sbin/modprobe --ignore-install capidrv >& /dev/null
    start_isdnlog $free_idx ${CONTR}
    echo "$free_idx" > /var/run/usb_isdn_${USBBUS}_${USBDEV}.idx
    if [ -n "$EAZMAP" ]; then
	get_i4l_id $free_idx
	/sbin/isdnctrl mapping $card_id $EAZMAP >& /dev/null
    fi
fi
if [ -n "$DSL_CONTR" -a ! -f /etc/drdsl/adsl.conf ]; then
    sleep 1
    RET=99
    test -x /sbin/drdsl && /sbin/drdsl -q >& /dev/null;RET=$?
    test -x /usr/sbin/drdsl && /usr/sbin/drdsl -q >& /dev/null;RET=$?
    echo "drdsl return $RET"
    RET=0
fi
