In the hope that somebody can Google this information and avoid the
frustration I experienced getting lirc working:

(I suppose I could also put it on the wiki, unless anybody has some
objections)

In regards to:

http://doc.freevo.org/ExternalTunerConfig#head-a658b45812ae23ccabd4e3f07fafaa8b0c405038

I found this information invaluable, but incomplete. 

The installation of lirc in Ubuntu 9.10 creates a lirc1 for transmitting
to an external box, meaning you will not need to mess around creating an
init script.  So, you can skip that whole portion of the wiki. 

d...@dan-desktop:~$ ls /dev/lirc*
/dev/lirc0  /dev/lirc1  /dev/lircd  /dev/lircd1

Unfortunately, like many things in Ubuntu, they managed to break it. 
The diff to correct it to work correctly is as follows:

d...@dan-desktop:~$ diff lirc /etc/init.d/lirc
83c83
<             TRANSMITTER_SOCKET="${TRANSMITTER_SOCKET}1"
---
>             TRANSMITTER_SOCKET="${TRANSMITTER_SOCKET}"
131c131
<     TRANSMITTER_SOCKET="/var/run/lirc/lircd"
---
>     TRANSMITTER_SOCKET="/var/run/lirc/lircd1"
d...@dan-desktop:~$

For those not familiar with diff, that would mean I would edit line 83
to remove the 1, and add that 1 in line 131.  This will make lirc1 work
correctly.  (after a sudo service lirc restart)

Freevo's code to create /etc/freevo/lircrc (or where ever) does not seem
to work anymore.  I took a quick look at the code (which filename I
can't even remember now); the first problem is that it fails to strip
the " from the include directory.  However, it's not the only problem,
and I didn't have time to further debug it. 

As a workaround, you can try some copying.  For instance, my
/etc/lirc/lircd.conf has:

include "/usr/share/lirc/extras/more_remotes/hauppauge/lircd.conf.hauppauge"

I think (pretty sure, can't remember) to get around this, I temporarily
copied the entire section for "Hauppauge_350" into the end of
/etc/lirc/lircd.conf so that the script would run to create the freevo
lircrc.  When it was done, I took it out. 

Now you can proceed to test if irsend works.  I have a dish network
301.  Looking at the lircd.conf, I saw this file was:

/usr/share/lirc/extras/transmitters/dish/general.conf

Which, when you look at, includes the remotes dish, dish1, dish2, ect. 
dish worked for me, as doing a:

/usr/bin/irsend -d /dev/lircd1 SEND_ONCE dish select

worked quite well in my test.  Putting that in the local_conf, the only
argument I had to set was "dish":

plugin_external_tuner = plugin.activate('tv.irsend_generic',
                args=('/usr/bin/irsend -d /dev/lircd1 SEND_ONCE dish'))

Also might want this:

LIRCRC = '/etc/freevo/lircrc'

The last thing is to get irsend_generic working for our purposes.  Don't
mess with irsend_echostar, it is messed up. By now, if you're anything
like I was, you're getting discouraged and want the quickest, dirtiest
hack to just get freevo working.

Said quick and dirty hack is as follows in these parts of
/usr/share/pyshared/freevo/tv/plugins/irsend_generic.py.  (If you're
really lazy, you don't even have to add in my comments)

    def setChannel(self, chan):
        chan = str(chan)
        digits = len(chan)
        chan_args = ''

        for i in range(digits):
        # Dan was here!
        # Runs too fast.  Let's fix that with a pause after each digit.
            #chan_args += chan[i] + ' '
            self.transmitSignal(chan[i])

        #self.transmitSignal(chan_args)
       
        # All we use lirc for is to change channels.  We could try pass
        # "select" but, we're lazy and already here.  Your box
        # may require "enter" instead
        self.enterkey = "select"
        if self.enterkey:
            # Sometimes you need to send a "ENTER" or a "SELECT"
            # after keying in a code.
            self.transmitSignal(self.enterkey)

The last hack goes on the very last line:

    def transmitSignal(self, code):
        sendcmd = '%s %s' % (self.command, code)
        os.system(sendcmd)
        # Let's add that pause.  It should be passed but, again, lazy.
        time.sleep(.1)

The time.sleep modifies how long it waits in-between digits.  I suggest
setting this number somewhere in the range of .1 to .5 - trial and
error. Restart freevo and lirc should work now.

Oh, one last thing.  Lirc in Ubuntu is flaky.  Half the time, on boot
up, I have to do a "service lirc restart" and "service freevo_xserver
restart" just to get it to work. 

------------------------------------------------------------------------------
Download Intel&#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Freevo-users mailing list
Freevo-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freevo-users

Reply via email to