Hey grg3, I'd been following your entries in the #328 bug fix thread, but haven't had any luck getting an up-to-date 6 running ir blaster yet. (I have one running routinely on a 5.5 machine, and am about to put this one back on 5.5 too...)
What version did you finally get working ? What parts of bugfix 328 worked for you ?
[Related threads]
http://www.eggshellskull.com/lirc/blaster/index.php
http://linhes.org/bugs/issues/328
http://mysettopbox.tv/phpBB2/viewtopic. ... =irblaster
http://mysettopbox.tv/phpBB2/viewtopic. ... =irblaster
http://mysettopbox.tv/phpBB2/viewtopic.php?t=19772
http://mysettopbox.tv/phpBB2/viewtopic. ... 2&start=15
http://mysettopbox.tv/phpBB2/viewtopic. ... =irblaster
Edit: Got it Working
After an excursion into 5.5, which got ir blaster working rather easily, I decided I didn't like 5.5 dropping frames on HD. (My other 5.5 machine just does SD off the other satellite receiver)
So back to my 6.02 CD, followed by a complete pacman -Syyu update.
On a new hard drive.
Now this setup played OTA HD (HDHRs...) & pvr-250 SD from the satbox just fine....
But the ir blaster wasn't working again..
So I put Jams' change_channel.sh file in /usr/bin (My file from the 5.5 machine didn't work...)
Still didn't work until some internet searching found a four line entry by command line:
/sbin/modprobe lirc_i2c
/sbin/modprobe lirc_serial
/usr/sbin/lircd --device=/dev/lirc0 --output=/dev/lircd
/usr/sbin/lircd --driver=default --device=/dev/lirc1 --output=/dev/lircd1 --pidfile=/var/run/lircd1.pid
I put this in & it worked !
So I don't think this will survive a reboot, though. Anyone know where it should be put to load on boot ?
http://knoppmyth.net/phpBB2/viewtopic.php?t=22000
My working '/usr/LH/bin/load-modules-mythvantage.sh' file:
Quote:
[greg@mythbox60 etc]$ cat /usr/LH/bin/load-modules-mythvantage.sh
#!/bin/bash
#/usr/bin/load-modules-mythvantage.sh UNLOAD LCD
export TERM=linux
. /etc/rc.conf
. /etc/rc.d/functions
. /etc/systemconfig
case $1 in
UNLOAD|unload )
MODULELIST=`grep /etc/modules.mythvantage $2`
for i in $MODULELIST
do
/sbin/rmmod $i
done
;;
*) printhl " Loading MythVantage-modules"
#try to load the cx88 modules
if [ ! x$SystemType = xFrontend_only ]
then
/sbin/modprobe cx88-dvb 2>/dev/null
fi
if [ -f /etc/modules.mythvantage ]
then
while read line
do
module=`echo $line |cut -d# -f1`
#this doesn't do anything on boot cause ttySX does not yet exisit
if [ x$module = xlirc_serial ]
then
if [ x$ReceiverType = xSerial ]
then
case $ReceiverSerialport 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 2>/dev/null
if [ $? = 0 ]
then
/sbin/modprobe lirc_serial $FLAGS 2>/dev/nulla
fi
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/$HostSerialPort_blasterlirc uart none 2>/dev/null
if [ $? = 0 ]
then
/sbin/modprobe lirc_serial $FLAGS 2>/dev/nulla
fi
fi
fi
/sbin/modprobe $module 2> /dev/null
done < /etc/modules.mythvantage
fi
esac
My working /etc/systemconfig file (ir settings section):
Quote:
#IR settings
Remotetype="streamzap"
ReceiverType="streamzap"
HDHRlirc_device=""
HostLircWait=""
ReceiverSerialport="ttyS0"
HostTransmitproto_1="none"
HostTransmitproto_2="none"
HostTransmitproto_3="none"
HostTransmitproto_4="none"
HostBlasterType="Serial"
HostSerialPort_blasterlirc="ttyS0"
Hostnumblaster="1"
rootSSH=""
My working 'usr/bin/change_channel.sh' file:
Quote:
[greg@mythbox60 etc]$ cat /usr/bin/change_channel.sh
#!/bin/sh
REMOTE_NAME=dish
cmd="$1"
case $cmd in
[0-9]*)
for digit in $(echo $1 | sed -e 's/./& /g'); do irsend --device=/dev/lircd1 SEND_ONCE $REMOTE_NAME $digit
sleep 0.3
# If things work OK with sleep 1, try this for faster channel changes:
# sleep 0.3
done
;;
*)
irsend SEND_ONCE $REMOTE_NAME $cmd
;;
esac
# /usr/bin/fix_audio.sh &
Edit 3/17: After a crash and having to set it up again, I noted other files from Bugfix #328 Notes 1, 9, & 13
that needed to be in one place (here):
Bugfix #328 Note 1:
/usr/LH/bin/load-modules-mythvantage.sh
Code:
[greg@mythbox60 bin]$ cat load-modules-mythvantage.sh
#!/bin/bash
#/usr/bin/load-modules-mythvantage.sh UNLOAD LCD
export TERM=linux
. /etc/rc.conf
. /etc/rc.d/functions
. /etc/systemconfig
case $1 in
UNLOAD|unload )
MODULELIST=`grep /etc/modules.mythvantage $2`
for i in $MODULELIST
do
/sbin/rmmod $i
done
;;
*) printhl " Loading MythVantage-modules"
#try to load the cx88 modules
if [ ! x$SystemType = xFrontend_only ]
then
/sbin/modprobe cx88-dvb 2>/dev/null
fi
if [ -f /etc/modules.mythvantage ]
then
while read line
do
module=`echo $line |cut -d# -f1`
#this doesn't do anything on boot cause ttySX does not yet exisit
if [ x$module = xlirc_serial ]
then
if [ x$ReceiverType = xSerial ]
then
case $ReceiverSerialport 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 2>/dev/null
if [ $? = 0 ]
then
/sbin/modprobe lirc_serial $FLAGS 2>/dev/nulla
fi
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/$HostSerialPort_blasterlirc uart none 2>/dev/null
if [ $? = 0 ]
then
/sbin/modprobe lirc_serial $FLAGS 2>/dev/nulla
fi
fi
fi
/sbin/modprobe $module 2> /dev/null
done < /etc/modules.mythvantage
fi
esac
Bugfix #328 Note 9:
Superceded by Note 13:
(Kebe) made a minimalist /etc/sv/lircd/run script by stripping out everything that's not needed.
Bugfix #328 Note 13 kebe's /etc/sv/lircd/run
Code:
#!/bin/bash exec 2>&1 export TERM=linux . /etc/rc.conf . /etc/rc.d/functions LOG=/tmp/lirc.log if [ -f $LOG ] then rm -f $LOG fi . /etc/systemconfig stat_runit "Starting lirc" [ -e /etc/sv/lircd/.runtime ] || mkdir -p /etc/sv/lircd/.runtime serial_port=$HostSerialPort_blasterlirc 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 CMD="/usr/sbin/lircd -r -d /dev/lirc1 --output=/dev/lircd1 --pidfile=/var/run/lircd1.pid" printhl " Device 1" $CMD >>$LOG 2>>$LOG LCMD="/usr/sbin/lircd -r -n -d /dev/lirc0 --output /dev/lircd" exec $LCMD >>$LOG 2>>$LOG