#!/bin/bash exec 2>&1 export TERM=linux . /etc/rc.conf . /etc/rc.d/functions . /usr/MythVantage/bin/install_functions.sh LOG=/tmp/lirc.log if [ -f $LOG ] then rm -f $LOG fi #since what we do may not be enough #if your one of those people, this is where you place your stuff #This means place your lirc stuff in /etc/runit/lirc.sh. #Anything in that file will be used and the rest of this file is ignored if [ -f /etc/runit/lirc.sh ] then #program must not terminate. stat_runit "Starting lirc" /etc/runit/lirc.sh else . /etc/systemconfig stat_runit "Starting lirc" in_kernel_support "disable" [ -e /etc/sv/lircd/.runtime ] || mkdir -p /etc/sv/lircd/.runtime [ -e /var/run/lirc ] || mkdir -p /var/run/lirc function dvico_detect { if [[ x$Remotetype = xdvico* ]] || [ x$Remotetype = "xDvico-Dual-Digital4-rev2" ] then RunDvico=true else RunDvico=false fi } num_lirc=`ls -la /dev/lirc[0-9] 2>/dev/null |wc -l ` num_lirc=$((num_lirc-1)) serial_port="" if [ x$ReceiverType = xSerial ] then serial_port=$ReceiverSerialport elif [ x$HostBlasterType = xSerial ] then serial_port=$HostSerialPort_blasterlirc fi if [ -n "$serial_port" ] then #/dev/ttyS0 (COM1), port 0x3f8, irq 4 #/dev/ttyS1 (COM2), port 0x2f8, irq 3 #/dev/ttyS2 (COM3), port 0x3e8, irq 4 #/dev/ttyS3 (COM4), port 0x2e8, irq 3 case $serial_port in ttyS0) FLAGS="io=0x3f8 irq=4" ;; ttyS1) FLAGS="io=0x2f8 irq=3" ;; ttyS2) FLAGS="io=0x3e8 irq=4" ;; ttyS3) FLAGS="io=0x2e8 irq=3" ;; esac /usr/bin/setserial /dev/$serial_port uart none sleep 0.5 /sbin/modprobe lirc_serial $FLAGS sleep 0.5 fi dvico_detect if [ x$HostBlasterType = xCommandIR -o x$ReceiverType = xCommandIR ] then CMD="/usr/sbin/lircd -r -n --driver=commandir" printhl " Using commandir" $CMD >>$LOG 2>>$LOG #echo $CMD elif [ x$HostBlasterType = xiguanaIR-usb -o x$ReceiverType = xiguanaIR-usb ] then sv start igdaemon CMD="/usr/sbin/lircd -r -n --driver=iguanaIR" printhl " Using iguanaIR usb" #echo $CMD $CMD >>$LOG 2>>$LOG elif [ x$ReceiverType = "xSiliconDust_HDHR" ] then # if using the SiliconDust_HDHR as an I/R Receiver printhl " Using SiliconDust on port 5000" CMD="/usr/sbin/lircd -H udp -d 5000 -n" exec $CMD >>$LOG 2>>$LOG else LASTCMD="" for i in `seq 1 $num_lirc` do CMD="/usr/sbin/lircd -r -d /dev/lirc$i --output=/var/run/lirc/lircd$i --pidfile=/var/run/lircd$i.pid --listen=876$i" printhl " Device $i" #echo $CMD $CMD >>$LOG 2>>$LOG LASTCMD="--connect=localhost:876$i $LASTCMD " done if [ $RunDvico = "true" ] then if [[ x$Remotetype = xdvico* ]] then LCMD="/usr/sbin/lircd -r -n -d /dev/usb/dvicoIR --driver=dvico --output /var/run/lirc/lircd" else LCMD="/usr/sbin/lircd -r -n -d /dev/input/irremote --driver=devinput --output /var/run/lirc/lircd" fi if [ $num_lirc -lt 0 ] then # Only run Dvico printhl " Device $Remotetype" #echo $LCMD exec $LCMD >>$LOG 2>>$LOG elif [ $num_lirc -gt -1 ] then i=$((i+1)) CMD="$LCMD --output=/var/run/lirc/lircd$i --pidfile=/var/run/lircd$i.pid --listen=876$i" $CMD >> $LOG LASTCMD="--connect=localhost:876$i $LASTCMD " printhl " Device Dvico" /usr/sbin/lircd -r -n -d /dev/lirc0 --output /var/run/lirc/lircd $LASTCMD >>$LOG 2>>$LOG fi else LCMD="/usr/sbin/lircd -r -n -d /dev/lirc0 --output /var/run/lirc/lircd $LASTCMD" #echo $LCMD exec $LCMD >>$LOG 2>>$LOG fi fi fi