FAQ


There are various sources of information you should check before writing mails directly to me. Please read the LIRC homepage carefully and have a look at the FAQ.

If your question is not answered there try the LIRC mailing list. Before posting to the list check the mailing list archive for an answer.


Reporting bugs


If you believe that you have found a bug in LIRC your bug report should contain the following information:

  • LIRC version, versions of all other packages involved
  • description of the IR hardware you are using
  • Are you using a SMP machine?
  • output of ls -l /dev/lirc*
  • output of lsmod
  • relevant passages from /var/log/messages
  • contents of lircd's logfile /var/log/lircd
    Compile LIRC in debug mode. A new command line option (-d[debug_level]) will become available for lircd. The debug level (0 to 5) will control how much additional debug output will be displayed. But be careful with this. After some extensive debug sessions I once discovered that my logfile was using 110 MBytes of disk space. :-)
  • a description of the problem so I can reproduce it
  • a patch that solves the problem (this one is optional)
  • the config files you are using (lircd.conf, lircmd.conf, .lircrc)
  • If you have problems with a config file try to find the shortest example that does not work as one would expect and include it.
If you have problems with one of the TV card drivers you should write to the according authors directly. You will find their email addresses in the source code and at the developers page.


Adding new remote controls


The following description was written having receivers in mind that deliver IR signals as pulses and spaces. So some of this will not be relevant for receivers that work at a higher abstraction layer as e.g. the Irman or TV card receivers.

There already is a growing database of config files for remote controls available at the LIRC homepage. But if your remote control is not available yet you can use irrecord to create a config file for your remote control. If you want to use more than one remote control you have to create a separate file for each remote. If your remote control is able to control different devices it is often wise to create separate config files for each functional unit of the remote control. You can later use a single config file for lircd by simply merging the config files with cat config1 config2 >lircd.conf .

Before using irrecord you should start mode2 and have a look at the signals that your receiver supplies. If you can see random pulses without pushing any buttons of your remote control your receiver is picking up ambient light. So if your receiver has no ambient light filter try to add one. A good strategy might also be to create a config file in a dark room and to turn off all fluorescent lamps or any other devices that may cause IR noise.

If decoding of IR commands does not work reliably you can try to modify the eps and aeps values in the lircd config file to adjust the tolerance of signal lengths. aeps is an absolute value while eps is a relative value expressed in percent. Also if repeats do not work you should complain. I.e. if you hold down a button the output of irw should look like this.

	0000000000f40bf0 00 1_DOWN ANIMAX
	0000000000f40bf0 01 1_DOWN ANIMAX
	0000000000f40bf0 02 1_DOWN ANIMAX
	0000000000f40bf0 03 1_DOWN ANIMAX
	0000000000f40bf0 04 1_DOWN ANIMAX
	0000000000f40bf0 05 1_DOWN ANIMAX
Note how the second field gets incremented. Many people don't event notice if this does not work correctly.

If you want to use a config file to send IR commands you should try to vary the modulation frequency of the signals. The default frequency is 38000 Hz. It cannot be detected automatically because the receiver hardware only gives us the demodulated signals. Using the correct modulation frequency will increase range significantly. You can set the modulation frequency for a remote control by adding the line

        frequency <freq>
to the according section of the config file where freq stands for the modulation frequency in Hertz. Usually values from 34000 to 44000 are good choices.

As creating new config files is difficult sometimes and irrecord often cannot detect all features of the remote control please send new config files to lirc@bartelmus.de. Other people will appreciate this very much. Sometimes they cannot create such a config file themselves because their original remote control is broken or has been lost. Some devices that are capable of IR come without a remote control. Some people also only want to build a transmitter and if you make a config file available for them they won't need to build a receiver, too. Please add all information you can get concerning the remote control as a comment to the config file.

If you still have difficulties to create a working config file send the following information to lirc@bartelmus.de:

  • version of LIRC that you are using
    Check if you are using the current version and if there already is a config file for your remote control.
  • description of your problem
  • config file created by irrecord, if available
  • output of irrecord in DEBUG mode (you can compile LIRC in DEBUG mode by selecting this feature in the Software configuration section of the setup program or by adding --enable-debug to the configure script command line)
  • output of mode2
    Make sure you hold down some buttons for a while so that repeat codes will be visible. Do NOT edit this output. Just send it to me!
I won't be able to answer any emails that do not contain the necessary information!


Support for sending infrared signals


Support for sending is already included in this package but you need a special client application to use it. Currently there are only two clients available that are both included in the xrc package. You can download the xrc package from the LIRC homepage.

After installing the xrc package you will get two programs called xrc and rc. xrc is a Qt based program while rc is a simple console application. Setting up xrc and Qt is a bit tricky so if you don't manage to compile it you can still use rc. It has the full functionality you need.



[LIRC homepage]
The LIRC Manual, last update: 10-Sep-2000