IR BLASTER INSTALLATION


Introduction

If you have a set top box that does not have or does not allow to change the channel programmatically then you need to control it through an IR sender like your regular remote. It is not the best solution because if something goes wrong the computer will not notice and so it will happily record on the wrong channel. That said I hardly encounter any failures and so it is the best solution so far.

I bought my IR Blaster Hardware from IR Blaster.info and I took the clear version.


Prerequisites

This documentation shows you how to install an IR Blaster specific LIRC driver on OpenSuSE 10.x. Then it will use the configuration for the Direct TV D10 Settop Box but that can be easily replaced by looking for your remote configuration on the lirc.org website.
If you have Fedora it might work with minor changes because the two OSes are quite similar.

This docu is based on the excellent documentation found here.

Attention: this configuration has to be done mostly as root because we are dealing with kernel drivers, device configurations and runlevel services. Therefore it is probably the best to do everything as root but pay attention to what you are doing as root.


Steps to IR Blaster Heaven


Build IR Blaster LIRC

Here we are going to create our own LIRC driver for the IR Blaster enabling you to have used your regular LIRC for another purpose. This section will create the LIRC IR Blaster kernel module, setup the device, provide the driver configuration and finally load the kernel module for the first time.

First you need to download Lirc 0.8.2 from lirc.org (attention: 0.8.0 did not work for 10.2 and 10.3). Extract it now to a temporary directory which we call ir.blaster.home from now on. Then create a script name mythtv-ledxmit.sh in this directory with this content.

Now run the script:
    ./mythtv-ledxmit.sh <path to lirc 0.8.2>

This will create a new directory called mythtv_ledxmit.WIP. Now enter this directory and build the driver with:
    make install

Now we need to create the remote configuration file called /etc/ledxmitd.conf (don't forget the d in the name) with that content.

After that we need to make sure that modprobe understands the driver. This is done by appending the /etc/modprobe.conf.local with this piece.

Finally we just have to load the driver:
    /sbin/depmod -a
    /bin/mknod /dev/ledxmit c 72 0
    /bin/setserial /dev/ttyS0 uart none
(for COM2 use ttyS1)
    /sbin/modprobe ledxmit_serial

Now we just need to verify that everything is working by:
    dmesg | grep ledxmit

and you should see something like that:
    ledxmit_dev: IR Remote Control driver registered, at major 72
    ledxmit_serial: auto-detected active high receiver
    ledxmit_dev: ledxmit_register_plugin:sample_rate: 0


IR Blaster as Runlevel Service

In order to have the IR Blaster Device available when the server restarts we need to create a runlevel service. This includes the SuSE configuration file (sysconfig) and the runlevel script which contains all the necessary data for Yast to make configuring simple.

Attention: the configuration part is not separated from the regular LIRC but it shouldn't be that difficult to do and as soon as it is separated an update will be posted here.

The sysconfig file contains the necessary information for the runlevel script to start up with the right parameters. In Yast it can be found under Hardware/Lirc allowing to edit these properties is necessary.

Finally create a lirc.ledxmit script inside the /etc/init.d directory, open Yast and go to System -> Runlevel, scroll down to lirc.ledxmit and enable the script which will start that service as well.

To test the installation open a console and execute (as root) /etc/init.d/lirc.ledxmit status and it should tell you that the service is running.


Change Channel Script

The last step is to provide the change channel script with can be used my MythTV in order to change the channels when required. This will make the IR Blaster to emit IR signals like a regular remote making the Settop Box change the channel.

The script is does not depend on the type of the remote LIRC is going to emulate but it needs to specify the name of the remote which can be found in the beginning of the ledxmitd.conf file. Just adjust the REMOTE_NAME with the name in the ledxmitd.conf file.

To test the script just open a console and execute /usr/local/bin/change_channel.sh <channel number> and the settop box should switch to the given channel.




MAD plaNETMAD plaNET: Advanced Internet Technology