|
|
Subscribe / Log in / New account

LIRC - the Linux Infrared Remote Control project

LIRC, the Linux Infrared Remote Control project interfaces common IR remote controls to a Linux system. It is being produced by this group of developers.

The software's description states:

[LIRC]

The most important part of LIRC is the lircd daemon that will decode IR signals received by the device drivers and provide the information on a socket. It will also accept commands for IR signals to be sent if the hardware supports this. The second daemon program called lircmd will connect to lircd and translate the decoded IR signals to mouse movements. You can e.g. configure X to use your remote control as an input device. The user space applications will allow you to control your computer with your remote control. You can send X events to applications, start programs and much more on just one button press. The possible applications are obvious: Infra-red mouse, remote control for your TV tuner card or CD-ROM, shutdown by remote, program your VCR and/or satellite tuner with your computer, etc. I've heard that MP3 players are also quite popular these days.

The list of supported devices shows the hardware that will work with LIRC, this includes audio, TV card, MIDI, Bluetooth and USB interfaces, TV cards, some radio remote controls and even a few PDAs. For the hardware hacker, documentation is available for constructing a number of serial port receivers, serial port transmitters and a bidirectional parallel port interface. Colin McGregor has put together a Linux Journal HOWTO article on building an LIRC interface.

The LIRC FAQ and HOWTOs document has both hardware and software build/install information and the online manual explains how the system works in detail.

LIRC is used by a number of higher level projects such as the Rhythmbox and XMMS music players, the PulseAudio sound server, Fluendo's Elisa Media Center and the MythTV PVR project.

Version 0.8.1 of LIRC was recently announced, the previous release came out about a year ago. Changes include new support for USB-UIRT, transmitter support for newer versions of the Windows Media Center transceiver and support for the Iguanaworks USB IR Transceiver.

If you want to add an IR remote control to your favorite Linux project, take a look at LIRC. The LIRC software is available for download here.


to post comments

LIRC - the Linux Infrared Remote Control project

Posted Jan 11, 2007 12:54 UTC (Thu) by nim-nim (subscriber, #34454) [Link] (3 responses)

My main beef with lirc is the kernel bits are not pushed Linus-side, which is only slightly less annoying and time-wasting than closed binary modules

I'm surprised LWN forgot to mention it.

LIRC - the Linux Infrared Remote Control project

Posted Jan 11, 2007 13:31 UTC (Thu) by pbardet (guest, #22762) [Link] (2 responses)

If I remember correctly, Alsa had to wait until being 0.9XXX+ before being included in the kernel. I would assume it's normal to wait for a software to exit the pre 1.0 version to include it in an official kernel.

LIRC - the Linux Infrared Remote Control project

Posted Jan 11, 2007 14:08 UTC (Thu) by nim-nim (subscriber, #34454) [Link] (1 responses)

No it's not.

Unclean code is frowned upon but merely experimental code that can be used to do things is OK (and lirc passed this stage years ago).

The restriction is on code quality, not feature-completeness (for example Xen is feature-complete but code is not in top shape, while kvm is a partial semi-experimental implementation with good coding. Guess which one is in Linus' kernels)

Xen vs KVM might not be the fairest example

Posted Jan 11, 2007 15:34 UTC (Thu) by AnswerGuy (guest, #1256) [Link]

... one might argue that Xen is suffering from a little bit of "NIH" syndrome in the kernel development community. (Not invented here).

I'm not asserting that this *is* the case ... merely that Xen vs. KVM is not the best example to use when talking about the inclusion of lirc kernel code into the mainstream kernel sources.

I remember that the PCMCIA drivers were maintained out of tree for many ... many ... far too many years. I get the impression that this is comparable to the state of lirc.

So, who's going to rectify this? When?

JimD

LIRC - the Linux Infrared Remote Control project

Posted Jan 11, 2007 20:47 UTC (Thu) by lakeland (guest, #1157) [Link]

Even from a user's perspective, LIRC is a nightmare currently.

Buy a new receiver - recompile your LIRC tree. The driver=all doesn't seem to work and half the time I have to handedit the configure script to trick it into building multiple drivers.

AFAICT, you can't even specifify multiple drivers on the configure line and have things 'just work', you seem to have to configure and install it multiple times, with the last one using the driver=any.

I have lirc_serial, lirc_mceusb2, lirc_imon. I have yet to have all three work on the machine at the same time.

Not only is it hard to get the kernel parts working, but the userspace interface is painful. You have irw and mode2 to configure complete with conffiles for everything, and then .lircrc to configure before your applications will start using the configuration.

Oh, and forget about something simple like /dev/lirc/serial0... you have to access the devices in the order they are modprobed... If something changes that order you'll have to edit your scripts.

I really think remote controls should be plug and play with LIRC supporting EVERYTHING. Is that so unrealistic?

Corrin

LIRC - the Linux Infrared Remote Control project

Posted Jan 13, 2007 13:40 UTC (Sat) by scarabaeus (guest, #7142) [Link] (1 responses)

My (maybe uninformed?) impression was that LIRC is a dying project which will not make it into the kernel. I thought that newer hardware used some other mechanism to transmit remote control info to the kernel - HID?? At least my DVB-T receiver (Terratec Cinergy T2) does this; using the remote control results in the generation of keyboard input, which is not useful in all cases.

IMHO, a de-facto API standard for remote controls is urgently needed for Linux 2.6, and I doubt that it is LIRC, as LIRC will not enter the mainline.

LWN folks, like the others above I'm also surprised not to read a well-informed explanation about the probable future of LIRC! You're usually excellent at providing a good estimation on the future of kernel-related projects!

LIRC - the Linux Infrared Remote Control project

Posted Jan 18, 2007 8:16 UTC (Thu) by tcwan (guest, #42830) [Link]

The problem lies with standalone IR remotes (via serial/usb).

A lot of v4l2 tuner card with IR remotes currently support event passing via the kernel's Input Layer. Hence some button presses (0-9) show up as keypresses in a terminal. You can configure lirc to accept button events via the input layer. I have this setup for my Freevo media box.

However, configuring LIRC to work properly is an entire-weekend exercise. Hopefully the Input Layer becomes the standard interface for all remotes and we can bypass LIRC altogether.


Copyright © 2007, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds