systemd, lircd, mceusb, xbmc and Arch Linux

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:

  1. Hi,
    I had been fighting with this for over a week now, and finally got i working. What I don’t understand is the blacklisting of kernel modules. I have not installed lirc, so presumably the system is still using the lirc module from the kernel, just not those listed in the blacklist file. What is it then using? My remote uses the RC6 protocol, so why blacklist it?
    Anyway it’s working now and have linked to you article from my blog.

    Thanks again.

  2. How would you suggest I run multiple LIRCs as service?

Leave a Comment

NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">