FAQ



 

Hardware related

  1. Is my USB IrDA dongle supported by LIRC?

    No, it's technically not possible to use USB IrDA dongles (as specified by the Infrared Data Association) with LIRC. This does not apply to USB receivers in general.

  2. Can I use my home-brew receiver and transmitter on the same serial port?

    Yes, just make sure that you enable transmitter support during configuration of LIRC.

  3. The value of the resistor in the receiver circuit is labeled as '4k7' Ohm. Is this 4.7 Ohm, 4.7 kOhm or what?

    4k7 Ohm means 4700 Ohm. k is the abbreviation of kilo.

  4. Can I use a home-brew LIRC receiver with a Serial to USB adapter?

    No, this won't work. But there is a project working on a dedicated USB transceiver or you can connect an IR receiver to a FTDI based USB chip. Using an Irman with USB adapter should work though.

  5. I have a Hauppauge TV card. Can I use a different remote control with this TV card except the original Hauppauge remote control?

    The Hauppauge remote control uses the RC-5 protocol. You should be able to use any TV remote control that uses this protocol. Common brands that use this protocol are Philips and Marantz. A short description how to setup LIRC with an universal remote control was posted on the mailing list.

  6. How do the drivers for the home-brew receivers work? Do they use polling?

    No, the serial port driver is fully interrupt driven. On each edge of the IR signal the interrupt handler is called and the time since the last interrupt is calculated. As the parallel port only generates interrupts on the rising edge of the input signal, the parallel port driver uses polling with the help of the hardware timer until the signal becomes low again. As it is polling only for microseconds this has no noticeable effect on system performance.

  7. I would like to connect an LCD display and an home-brew IR receiver to the same serial port. Will this work?

    No, unless somebody writes a driver that merges the functionality of the kernel serial port driver and the LIRC lirc_serial driver. This is not trivial. I don't have any plans to do it.

Compilation trouble

  1. I'm unable to compile lirc-0.8.7 with kernel 2.x.x.

    lirc-0.8.7 has been tested with kernel versions up to 2.6.35. Older versions should also work. 2.4.x kernels are not supported anymore, but chances are good that it's still working. The last release officially supporting 2.4.x was 0.8.2. Please don't report problems with compilation on 2.4.x kernels. 2.2.x kernels are not supported anymore.
    From 2.6.36 on all LIRC kernel drivers are already included in the kernel. There has been a slight interface change in the LIRC ioctls that will affect 64-bit kernels. For recent kernels please only use 0.9.0 which is compatilbe with the in-kernel drivers.

  2. When I try to compile LIRC I get this error message.
    [...]
    make[3]: Entering directory `/usr/src/lirc-0.6.4/drivers/lirc_serial'
    DIR=`pwd`; (cd /usr/src/linux/; make SUBDIRS=$DIR obj-m=lirc_serial.o modules)
    /usr/src/linux/scripts/pathdown.sh: TOPDIR: parameter null or not set
    make[4]: Entering directory `/usr/src/linux'
    make[4]: *** No rule to make target `lirc_serial.o', needed by `modules'.
    [...]
    			
    This means that you did not set up and compile your current kernel from the given Linux kernel sources. Recompile your kernel and reboot before proceeding to compile LIRC. There is no other reliable way to get working LIRC modules than compiling your kernel yourself. During compilation LIRC uses the kernel sources to get the current kernel configuration.

  3. When I try to compile a LIRC kernel module I get this error message.
    The present kernel configuration has modules disabled.
    Type 'make config' and enable loadable module support.
    Then build a kernel with module support enabled.
    			
    You did not configure your kernel sources properly. Some people have reported that it's sufficient to simply run 'make [menu|x]config' once. But I don't recommend this as it may lead to problems that are really hard to track down. You have to make sure that you are compiling LIRC modules with your current kernel configuration. The only way to make this sure is to compile your own kernel.

  4. I have compiled the kernel modules necessary for my hardware ok, but when I try to load them with modprobe I get lots of unresolved symbols.

    Your modules do not match the currently running kernel. See the answers to the previous two questions.

Software setup

  1. I have trouble to create a working lircd config file for my remote. What can I do?

    Please read the documentation about how to add new remote controls.

  2. Which kernel module do I have to load for my hardware?

    The documentation contains a detailed list how to setup the various devices supported by LIRC.

  3. When I run irrecord or mode2 I get an error message like this:
    mode2: error opening /dev/lirc
    mode2: Device or resource busy
    			
    Another application is probably already accessing /dev/lirc. Only one process can use the device at a time. You can find out which process uses the device by calling (as root) fuser /dev/lirc.

  4. Most of the time I have to push a button twice for LIRC to recognize it. What's wrong?

    The remote control probably uses the RC-5, RC-6 or RECS80 protocol, but irrecord wasn't able to recognize this correctly.

    Try running irrecord remotes/generic/RC-5.conf, irrecord remotes/generic/RC-6.conf or irrecord remotes/generic/RECS80.conf. You will find these template config files inside the LIRC source package. If this won't work read this.

  5. Every time I press a button on my remote control irw will show at least 5 events (or any other number > 1) independent of how short I try pressing the button.

    In most cases this is the correct behavior. Many remote controls send the same code multiple times to make sure that at least one code comes through to the receiver when you press a button for a short time. The default .lircrc setup ignores repeat events. If you want to use the button to do things repeatedly when it is being hold down, like e.g. increasing the volume or something similar, you should use the delay token (will be available in 0.7.0) in your .lircrc file.

    You can identify such remotes by the fact that irrecord usually will add a min_repeat field for this remote control to the lircd.conf config file.

    If you want to suppress those repeats already at lircd level, you can also add suppress_repeat x to the lircd.conf config file where x is the number of repeats you want to suppress. This feature is available in lircd since release 0.8.6.

  6. Only root can run LIRC applications. When I run LIRC applications (e.g. irexec) I get this error message:
        irexec: could not connect to socket
    			
    You have to change the file permissions of /dev/lircd. Usually it should be safe to give everyone read and write permissions. I try to make the daemon as secure as possible. You can also create a special group for this purpose.
        chmod 666 /dev/lircd
    			

  7. I'm running Mandrake 9.2 and the LIRC applications all report:
    could not connect to socket
    connection refused
    			

    These applications expect the lircd socket in /tmp (blame Mandrake). The following command will fix the problem.
    ln -s /dev/lircd /tmp/.lircd
    			
    Please note that you might have to execute this command on every system startup as /tmp usually is cleaned up during startup.

Misc

  1. I need a config file for <brand> <device>. Do you have such a config file?

    If it's not on the website, then I don't have it. Please don't ask me for config files.

  2. Do you speak German?

    Please only use English when sending emails.

  3. Why didn't you answer my mail?

    I get way more mails than I can handle. If you don't get an answer to your question the probability is very high that you will find the answer in the documentation.

    Mails about Total irRemote will go to /dev/null unread.



HOWTOs

 

 
[LIRC Homepage]