This is a read-only archive. Find the latest Linux articles, documentation, and answers at the new!

Feature: Tools & Utilities

Simplifying infrared device configuration

By Nathan Willis on June 18, 2008 (7:00:00 PM)

Share    Print    Comments   

Building a MythTV digital video recorder (DVR) is a series of small battles -- configuring digital sound, aligning your video sources and channel guide data, getting XvMC running, and so on. Any tool that simplifies one of those battles is welcome, and GNOME LIRC Properties promises to be just such a tool. It is a shortcut to configuring infrared receivers and remote controls, and although it is not perfect, it is a good step in the right direction.

MythTV is not alone in its use of infrared (IR) receivers and remotes, but it is the most popular of the Linux DVR projects, which is the most popular category of IR-supporting applications. Linux's IR support is more akin to configuring a printer than a keyboard or mouse. IR devices do not interact with X Windows (at least, not natively); you must find and load (and in some cases compile) the proper drivers for your hardware, and you must set up a special service to send and receive IR events.

Linux communicates over IR by means of the Linux Infrared Remote Control (LIRC) system. Among other things, the LIRC project provides lircd, a daemon that listens to IR receivers (USB or serial), recognizes the codes sent by remote controls, and triggers application launchers or events in response.

The keys to making LIRC work with your remote control -- from a simple remote bundled with a video capture card to a programmable, universal remote -- are finding the right driver for your IR receiver and setting up the /etc/lircd.conf configuration file to decode the signals from your remote. In the old days, this meant tracking down the hardware by make and model number, loading the right kernel module, and tweaking your lircd.conf based on the success stories of users who had gone before.

It is that process that GNOME LIRC Properties is meant to replace. The utility can auto-detect hardware, and exposes the supported drivers and configuration options in an easy-to-use drop-down selection-driven GUI. Once you have made a selection, you can test it, and if you're satisfied, write the changes out to the configuration file.

Getting it and getting started

You can download GNOME LIRC Properties from its page at the wiki; source code tarballs are provided. The dependencies are LIRC, Python, PyGTK, and PolicyKit. Before you go to that trouble, though, check and see whether your distribution provides a package. GNOME LIRC Properties began as a project at Fluendo and was integrated into Ubuntu 8.04, but there is talk of including it in other GNOME-supporting distros like Fedora and openSUSE. If you must download the tarball, a traditional ./configure; make; make install three-step install is all that is required. The package will install a launcher as the System -> Administration -> Infrared Remote Control menu item in GNOME.

The application's interface is split into three sections: the topmost for IR receivers, the middle for IR remotes, and the lowest for testing the selected configuration. Clicking the Auto-detect button at the bottom of the IR receiver section searches through the database of known IR receivers, looking to see if an attached device matches. For some IR receiver hardware (such as USB receivers) this is simple, but the software can't detect all receivers. Many users will have to choose their hardware with the Manufacturer and Model pull-down menus. If your hardware is among the choices provided, all you have to do is select it (possibly providing details like the serial port for serial-connected receivers). If it isn't, try the auto-detection option.

Likewise, you can choose the appropriate remote control from the drop-down boxes in the second section. For receivers that normally ship bundled with a remote (such as Hauppauge DVR kits), the "Use supplied remote control" setting should suffice. For other remotes, you can select the manufacturer and model if it appears in the list of those known, and edit the configuration directly if it does not. Hidden within the Custom Configuration dialog is a remote auto-detect. Once you update your configuration, you can test it by watching the bottom section of the window for feedback to your button presses.

Pitfalls and practicality

For the hardware that GNOME LIRC Properties understands, the tool works well: straightforward and simple. Compared to the time it takes to wade through the man pages and (often conflicting) wiki and forum threads, setting up IR with this utility is a breeze.

The limited set of supported receiver hardware is the app's main weakness. It does not recognize every LIRC-supported receiver; instead it relies on its own local definitions (receivers.conf and overrides.conf in the tarball). For the version that ships with Ubuntu 8.04, that amounts to just seven types of receiver. Granted, for each of those seven, multiple models and revisions from the same manufacturer should be compatible, but it is still far from complete.

I tested GNOME LIRC Properties on three machines, each with a different type of receiver, but none matched up with a supported model. That left auto-detection as my only option, which presents a dilemma. For the app to correctly auto-detect the IR receiver, it must be already running. There are doubtless a lot of mainstream receivers that are not in the receivers.conf list but are detectable, but if yours fails both criteria, you are back to manual configuration. I hope that GNOME LIRC Properties will continue to add support for more receiver hardware.

Receivers notwithstanding, GNOME LIRC Properties is still useful for its remote control configuration ability. Receivers are more of a hassle than remotes; they require finding and loading drivers, while remote configuration is just a matter of putting the correct parameters and key codes into the configuration file. But wading through pages of remote configurations is a chore nobody wants. Selecting the right remote from the drop-down menu and then seeing whether it tests correctly is faster, and it encourage users who might be intimidated by config file editing.

For remotes, GNOME LIRC Properties supports all hardware known to LIRC. In my personal tests, it correctly configured remotes from Apple, Hauppauge, and (via a Logitech programmable model) Windows MCE.

Looking forward

Even though my hardware was not among the chosen, I think it was wise of the GNOME LIRC Properties developers to limit their utility to a set of known, supported receivers. Configuring IR receivers and remotes is painful enough that a new tool is worth waiting for. Better, then, to start with something manageable and build support than to take on too much at the outset and collapse.

Hopefully GNOME LIRC Properties will continue to add receivers to its GUI in the near term, and will someday add support for the other main aspect of IR: transmitters. IR transmitters are devices attached to the PC that send signals to other devices. In addition to home automation possibilities, these transmitters are a common way for DVR programs to control external channel-changing hardware like cable and satellite boxes. Like receivers, configuring transmitters is a matter of loading device drivers, so it won't come easy. But the Mythbuntu project has an IR transmitter configuration page in its control center, so it is within the realm of possibility.

As I have gained experience with MythTV, LIRC is one of those quirky subsystems that is more frustrating the more you work with it. In the long term, LIRC might go away, and IR remotes be treated like other X input devices -- the idea gets brought up from time-to-time -- but I'm not holding my breath. Instead, I am going to collect whatever knowledge I can about the IR receiver hardware I own, and see if I can get it added to the next release of GNOME LIRC Properties.

Share    Print    Comments   


on Simplifying infrared device configuration

Note: Comments are owned by the poster. We are not responsible for their content.

Simplifying infrared device configuration - RF remotes also?

Posted by: Anonymous [ip:] on June 19, 2008 01:15 PM
I've an ATI RF remote left over from my AIW 9600 board. Does anyone know if this same setup would work with it or where a device specific howto may be located?

My wishlist also includes:
- pvr500 board working under KDE and MythTV (I seem to be the only person who can't get it working in three easy steps)
- lcd on the logitech G15 keyboard and additional keys (identified during boot but not used beyond default "logitech" banner)
- Copperhead mouse additional functions accessible (identified during boot but not used beyond standard mouse functions)

The ATI remote is the only outstanding item not completely off topic for this article though.


Simplifying infrared device configuration

Posted by: Anonymous [ip:] on June 19, 2008 09:31 PM
I think the ATi RF remote is basically the X10 RF remote or the Snapstream Firefly remote. You should try those modules as I think they work, been a long time since I messed with RF remotes (had both the X10 and Snapstream).


Re: Simplifying infrared device configuration

Posted by: Anonymous [ip:] on June 21, 2008 10:12 PM
cheers, I'll check out setup for both those and see if one catches the RF remote here. I believe it is an X10. I seem to remember that popping up during boot on the same line with the ATI Remote label.


Simplifying infrared device configuration

Posted by: Anonymous [ip:] on June 23, 2008 06:02 PM
Something that would really help push manufacturers to support Linux would be if a hardware list for supported remotes was made, and even better, a store to sell Linux-compatible remotes and receivers.


This story has been archived. Comments can no longer be posted.

Tableless layout Validate XHTML 1.0 Strict Validate CSS Powered by Xaraya