summaryrefslogtreecommitdiffstats
path: root/abs/core-testing/runit-scripts/runitscripts
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core-testing/runit-scripts/runitscripts')
-rwxr-xr-xabs/core-testing/runit-scripts/runitscripts/services/lircd/run128
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..7067b90 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