Gentoo Wiki


Remote control

It's surprisingly easy to setup this remote control. First and foremost, you must be using lirc 0.7.2 which has full support for the remote. As I write this (30/11/05), it's currently in portage masked as testing. If you're already using lirc 0.7.2, you can safely skip the following step.

Step 1: Simply add the following line to your /etc/portage/package.keywords.

File: /etc/portage/package.keywords
app-misc/lirc ~x86

Step 2: Chris Pascoe, the guy who developed the DVICO driver states that we need to enable support for hiddev in the kernel. Edit your kernel config to reflect this change.

Linux Kernel Configuration: enabling HIDDEV support
Device Drivers  --->
	USB support  --->
	<*> /dev/hiddev raw HID device support

Compile and install the kernel.

Step 3: Before emerging lirc, it's important to specify which driver you want to use. Fortunately for us, it's dvico. Ammend /etc/make.conf with the following line.

File: /etc/make.conf

Now emerge lirc. # emerge lirc

(note: the LIRC ebuild provided does not work with the 2.6.14 kernel, and perhaps others. Save yourself a few days' headaches by checking out this bug report)

Step 4: Test the remote control by executing the following command.

  1. /usr/sbin/lircd --driver=dvico --device=/dev/usb/hiddev0

Chris Pascoe also mentions that if this is not the only USB device on your system you will need to substitute the appropriate device number for your system. (The device number can be discovered by running "dmesg | grep hiddev" after you attach the device. Due to a bug in the Linux kernel, if it says "hiddev96" then the device to use is actually /dev/usb/hiddev0, "hiddev97" is /dev/usb/hiddev1, etc).

In 2.6.13, I experienced this problem, however it seems to be fixed in 2.6.14.

You should now be able to execute irw from a terminal.

Point your remote at the reciever and press the buttons, you should see some funky output displayed.

Step 5: Now it's time to fix the init.d script to properly load our driver everytime we boot the machine. Simply make the following changes to /etc/init.d/lircd.

File: /etc/init.d/lircd
start() {
        ebegin "Starting lircd"
        start-stop-daemon --start --quiet --exec /usr/sbin/lircd -- --driver=dvico --device=/dev/usb/hiddev0
        eend $?

Note: Instead of editing the init file itself, the lircd options could be placed into the config file for the init scrip: /etc/conf.d/lircd Now try starting the service.

File: /etc/conf.d/lircd
        # Options to pass to the lircd process
        LIRCD_OPTS="--driver=dvico --device=/dev/usb/hiddev0"

# /etc/init.d/lircd start Again, try irw. Everything should be functional.

Don't forget to add lircd to startup. # rc-update add lircd default

Retrieved from ""

Last modified: Tue, 19 Aug 2008 22:40:00 +0000 Hits: 314