Hi there.

I've composed new rc.d script for this port, works like a charm.

--
Sphinx of black quartz judge my vow.
#!/bin/sh
#
# PROVIDE: aureal
# BEFORE: hald
# KEYWORD: nojail
#
# Add the following line to /etc/rc.conf[.local] to enable aureal
#
# aureal_enable="YES"
#

. /etc/rc.subr

name="aureal"
rcvar=${name}_enable

load_rc_config $name

: ${aureal_enable="NO"}

start_cmd=aureal_start
stop_cmd=aureal_stop

CARD=''

aureal_detect() {
        PCICONF="/usr/sbin/pciconf"

        if [ -z "${CARD}" -a -x ${PCICONF} ]; then
                if [ "`${PCICONF} -l 2>&- | grep 0x000312eb`" ]; then
                        CARD=8810
                elif [ "`${PCICONF} -l 2>&- | grep 0x000112eb`" ]; then
                        CARD=8820
                elif [ "`${PCICONF} -l 2>&- | grep 0x000212eb`" ]; then
                        CARD=8830
                fi
        fi

        if [ -z "${CARD}" ]; then
                echo "Unable to determine your Aureal card type -" \
                        "override it manually in $0" >&2
                exit 255
        fi

        PREFIX=/usr/local
        LIBDIR=${PREFIX}/lib/au88x0
        DRIVERFILE=snd_au${CARD}
}

aureal_start() {
        aureal_detect

        if [ ! -f ${LIBDIR}/${DRIVERFILE}.ko ]; then
                echo "${LIBDIR}/${DRIVERFILE} for ${CARD} not found!"
                exit 64
        fi

        if ! kldstat -qm ${DRIVERFILE}; then
                if kldload ${LIBDIR}/${DRIVERFILE}.ko; then
                        echo 'aureal module loaded.'
                else
                        warn 'aureal module failed to load.'
                        return 1
                fi
        fi

        if [ "$VIAKX133FIX" ]; then
                pcisel=`${PCICONF} -l 2>&- | grep ^pcm0 | awk -F: '{ 
gsub("[EMAIL PROTECTED]@", ""); print $1":"$2":"$3 }'`
                if [ -z "$pcisel" ]; then
                        echo " (WARNING: Soundcard PCI selector undetermined. 
Unable to install VIA KX133 workaround. Starting a playback will likely to 
lock-up your system!)"
                        exit 64
                fi
                oldvalue=`${PCICONF} -r -b $pcisel 0x40 2>&- | sed 's/ *$//'`
                echo -n " (with VIA KX133 workaround: ${pcisel},0x40: 
${oldvalue} -> "
                ${PCICONF} -w -b $pcisel 0x40 0xff
                echo -n "`${PCICONF} -r -b $pcisel 0x40 2>&- | sed 's/ *$//'`)"
        fi

        return 0
}

aureal_stop() {
        aureal_detect

        if kldstat -qm ${DRIVERFILE} && kldunload ${DRIVERFILE} ; then
                echo 'aureal module unloaded.'
        fi
}

run_rc_command "$1"
_______________________________________________
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to