[mythtv-users] IR Transmitter

David myth at dgreaves.com
Wed Apr 7 06:30:17 EDT 2004


Michael T. Dean wrote:

> Dan Morphis wrote:
>
>> David wrote:
>>
>>> I really don't think you need two instances - the idea is that lircd
>>
>>
>> Sure you could.  What if you have two different transmitters?  Or you 
>> have a pvr-x50 reciever, and a serial transmitter.
>
>
> That's pretty much like what I'm doing.  The ATI Remote Wonder is a 
> radio-frequency remote that uses a USB connection.  I'm building a 
> homebrew (serial or parallel) IR transmitter to control my components 
> because a) the components are not RF capable and b) IR circuits are a 
> lot simpler than RF.
>
> Since LIRC will receive RF signals from the USB device and will 
> transmit IR signals via serial or parallel, I will be using two 
> different LIRC modules.  Therefore, I'm assuming that means two 
> different instances of LIRC (and, probably, since the ATI Remote 
> Wonder requires a kernel module and specifying "any" for LIRC module 
> types during compilation does not build any kernel modules, probably 
> even two separate "installations" of LIRC).
>

That shouldn't be needed :)

The latest docs (docs/html/technical.html) say:
Note for packagers

      If you want to make a binary package for lirc (.deb, .rpm, ...),
      there are a couple of goodies you can take advantage of:
        --with-driver=any
    Builds support for as many devices as possible on a single lircd
    binary. Note that for some devices kernel support is required, and
    when using <em>any</em> driver, no kernel modules will be built
    automatically, so you will have to build them explicitly.

so build a single lircd with 'any'
Build your kernel drivers

After Dan's mail I looked at it a bit more and I guess you need (from 
lircd -h)
Usage: lircd 0.7.0pre3 [options] [config-file]
         -h --help                      display this message
         -v --version                   display version
         -n --nodaemon                  don't fork to background
         -p --permission=mode           file permissions for /dev/lircd
         -H --driver=driver             use given driver
         -d --device=device             read from given device
         -l --listen[=port]             listen for network connections 
on port
         -c --connect=host[:port]       connect to remote lircd server
         -o --output=socket             output socket filename
         -P --pidfile=file              daemon pid file
         -L --logfile=file              daemon log file

lircd --driver=lirc_<serial> --device=/dev/lirc --output=/dev/lircd
and
lircd --driver=lirc_<usb> --device=/dev/lirc1 --output=/dev/lircd1 
-P<blah> -L<blah>

you'll need aliases in your modules.conf:

alias char-major-61  lirc_<serial>
alias char-major-62  lirc_<usb>

and
mknod -m666 /dev/lirc1 c 62 0


It may be neater to do:
mknod -m666 /dev/lirc_serial c 61 0
mknod -m666 /dev/lirc_usb c 62 0

lircd --driver=lirc_<serial> --device=/dev/lirc_serial --output=/dev/lircd
lircd --driver=lirc_<usb> --device=/dev/lirc_usb --output=/dev/lircd_usb -P<blah> -L<blah>


HTH

David




More information about the mythtv-users mailing list