systemd, lircd, mceusb, xbmc and Arch Linux

November 11, 2012

NOTICE!!! This guide may be outdated, please check if your distro has a suitable lircd.service already.

After migrating my Arch based media center to systemd, my IR mceusb remote stopped working with lircd.

I needed to do the following steps in order to make it function again.

1. Copy /usr/lib/systemd/system/lirc.service to /etc/systemd/system/lirc.service (service files in /etc/systemd/system always takes precedence to files located in /usr/lib/systemd/system).

2. Edit /etc/systemd/system/lirc.service accordingly:

The creation of the symlink to /dev/lirc eliminates lircd errors like this:

There may be more “correct” ways of fixing this, but creating the symlink satifies lircd.

3. Now adjust variables in /etc/conf.d/lircd.conf:

My /etc/lirc/lircd.conf looks like this and works with a mceusb based RC:

4. Disable lircd conflicting kernel modules by creating a blacklist file /etc/modprobe.d/blacklist_mce.conf containing:

Reboot or remove these modules using modprobe -r.

5. Reenable lirc.service: