diff options
Diffstat (limited to 'abs/core-testing/runit-scripts/runitscripts/services')
| -rwxr-xr-x | abs/core-testing/runit-scripts/runitscripts/services/lircd/run | 128 | 
1 files changed, 67 insertions, 61 deletions
| diff --git a/abs/core-testing/runit-scripts/runitscripts/services/lircd/run b/abs/core-testing/runit-scripts/runitscripts/services/lircd/run index 6d67537..0a398ac 100755 --- a/abs/core-testing/runit-scripts/runitscripts/services/lircd/run +++ b/abs/core-testing/runit-scripts/runitscripts/services/lircd/run @@ -1,30 +1,36 @@  #!/bin/bash +  exec 2>&1  export TERM=linux +  . /etc/rc.conf  . /etc/rc.d/functions  #since what we do may not be enough  #if your one of those people, this is where you place your stuff +  LOG=/tmp/lirc.log +  if [ -f $LOG ]  then -	rm -f $LOG +    rm -f $LOG  fi +  if [ -f /etc/runit/lirc.sh ]  then      #program must not terminate. -	stat_runit "Starting lirc" +    stat_runit "Starting lirc"      /etc/runit/lirc.sh  else      . /etc/systemconfig      stat_runit "Starting lirc" +      [ -e /etc/sv/lircd/.runtime ] || mkdir -p /etc/sv/lircd/.runtime      function dvico_detect { -        if [ x$Remotetype = "xdvico" ] +        if [ x$Remotetype = "xdvico" ] || [ x$Remotetype = "xDvico-Dual-Digital4-rev2" ]          then              RunDvico=true          else @@ -35,15 +41,26 @@ else      num_lirc=`ls -la /dev/lirc[0-9] 2>/dev/null |wc -l `      num_lirc=$((num_lirc-1)) -    #/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 +    serial_port="" +      if [ x$ReceiverType = xSerial ]      then -        case $ReceiverSerialport in +        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" +               FLAGS="io=0x3f8  irq=4"                 ;;          ttyS1)                 FLAGS="io=0x2f8  irq=3" @@ -52,81 +69,70 @@ else                 FLAGS="io=0x3e8  irq=4"                 ;;          ttyS3) -               FLAGS="io=0x2f8  irq=3" +               FLAGS="io=0x2e8  irq=3"                 ;;          esac -        /usr/bin/setserial /dev/$ReceiverSerialport uart none -	sleep  .5 +        /usr/bin/setserial /dev/serial_port uart none +	sleep 0.5          /sbin/modprobe lirc_serial $FLAGS -	sleep .5 -    elif [ x$HostBlasterType = xSerial ] -    then -            case $HostSerialPort_blasterlirc in -            ttyS0) -                    FLAGS="io=0x3f8  irq=4" -                   ;; -            ttyS1) -                   FLAGS="io=0x2f8  irq=3" -                   ;; -            ttyS2) -                   FLAGS="io=0x3e8  irq=4" -                   ;; -            ttyS3) -                   FLAGS="io=0x2f8  irq=3" -                   ;; -            esac -            /usr/bin/setserial /dev/$ReceiverSerialport uart none -            sleep .5 -           /sbin/modprobe lirc_serial $FLAGS -           sleep .5 +	sleep 0.5      fi      dvico_detect +      if [ x$HostBlasterType = xCommandIR -o x$ReceiverType = xCommandIR ]      then          CMD="/usr/sbin/lircd -n  --driver=commandir"  	printhl "	Using commandir"          $CMD >>$LOG 2>>$LOG -   elif [  x$HostBlasterType = xiguanaIR-usb -o x$ReceiverType = xiguanaIR-usb ] -   then +#echo $CMD +    elif [  x$HostBlasterType = xiguanaIR-usb -o x$ReceiverType = xiguanaIR-usb ] +    then  	sv start igdaemon          CMD="/usr/sbin/lircd -n  --driver=iguanaIR"  	printhl "       Using iguanaIR usb" +#echo $CMD          $CMD >>$LOG 2>>$LOG      else          LASTCMD="" +          for i in `seq 1 $num_lirc`          do              CMD="/usr/sbin/lircd -d /dev/lirc$i --output=/dev/lircd$i --pidfile=/var/run/lircd$i.pid --listen=876$i" -#            echo $CMD  	    printhl "	Device $i" +#echo $CMD              $CMD >>$LOG 2>>$LOG              LASTCMD="--connect=localhost:876$i   $LASTCMD    "          done -        if [ $RunDvico = "true" -a $num_lirc -lt 0 ] -        then -	        #only run dvicio -	        LCMD="/usr/sbin/lircd -n -d /dev/usb/dvicoIR --driver=dvico  --output /dev/lircd" -	    #      echo $LCMD -		printhl "	Device Dvicio" -		 -	        exec $LCMD >>$LOG 2>>$LOG -        elif [ $RunDvico = true -a $num_lirc -gt -1  ] -        then -            #chain them together -            i=$((i+1)) -            CMD="/usr/sbin/lircd -d /dev/usb/dvicoIR --driver=dvico  --output=/dev/lircd$i --pidfile=/var/run/lircd$i.pid --listen=876$i" -    #        echo $CMD -            $CMD >> $LOG -            LASTCMD="--connect=localhost:876$i   $LASTCMD    " -		printhl "	Device Dvicio" -		 -            /usr/sbin/lircd -n -d /dev/lirc0 --output /dev/lircd  $LASTCMD  >>$LOG 2>>$LOG -        else -        LCMD="/usr/sbin/lircd -n -d /dev/lirc0 --output /dev/lircd  $LASTCMD" -    #       echo $LCMD -         -        exec $LCMD >>$LOG 2>>$LOG -        fi + +	if [ $RunDvico = "true" ] +	then +	    if [ x$Remotetype = "xdvico" ] +            then +                LCMD="/usr/sbin/lircd -n -d /dev/usb/dvicoIR --driver=dvico  --output /dev/lircd" +            else +                LCMD="/usr/sbin/lircd -n -d /dev/input/irremote --driver=devinput  --output /dev/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=/dev/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 -n -d /dev/lirc0 --output /dev/lircd  $LASTCMD  >>$LOG 2>>$LOG +	    fi +	else +	    LCMD="/usr/sbin/lircd -n -d /dev/lirc0 --output /dev/lircd  $LASTCMD" +#echo $LCMD +     	    exec $LCMD >>$LOG 2>>$LOG +	fi      fi  fi | 
