I’ve been on a quest to find a good remote for MythTV. My first try was with a Logitech Harmony. Those things are nasty horrible pieces of crap. I’d never touch one again. Programming it is a nightmare. It does not have a generic PVR option so you have to fake it to make it work with Mythtv by telling it its another device and learning those codes in LIRC. It is a very slow device with what felt like a 500ms delay with each keypress. It also tried to know what state your equipment was in so that it could turn things on and off, but of course it would always be out of sync and then you’d have to go through this process of turning things on and off until it was in sync again.
Enter the HP MediaSmart IR remote, also known as HP RC2285202/01. These devices used come with a media player box that HP used to sell. As far as I can tell, its not in production anymore but the remotes are readily available on Ebay.
- Dedicated IR codes for the PVR. On previous universal remotes I have used, I was unable to find a “code” setting that would make all the buttons active, that I could then learn in LIRC.
- Back-lit keys. All the keys seem to be backlit. Some universal remotes either only backlight a few keys or have no backlight at all.
- Cheap. A$23 with USB receiver, delivered.
- Universal remote. Can control 5 devices including your PVR.
- Punch Through. Some buttons like volume and mute can punch through from the TV or Amp, to the PVR device. IE. you can make it turn the volume up on the amp when you press the volume button when in PVR or TV modes.
- Takes standard AA batteries.
There are a few downsides too:
- Difficult to get going (solved now that you have found this blog post)
- Punch through does not work on all buttons. Namely Power and Source. This is annoying but solvable with a pulse-eight CEC adapter
I spent many hours trying to work out why it would not work on my system. In the end it came down to two things.
For some reason LIRC does not work correctly with MCEUSB receivers that are plugged into USB3 sockets.
You need to tell the kernel to treat the receiver as lirc rather than anything else, in order for LIRC to be able to connect to it:
$ sudo sh -c "echo lirc > /sys/class/rc/rc6/protocols" $ sudo cat /sys/class/rc/rc6/protocols rc-5 nec rc-6 jvc sony mce_kbd [lirc]
The word [lirc] surrounded with square brackets tells you it worked.
I implemented this at boot time by adding
to /etc/rc.local and then in /etc/rc-scripts/start-lirc
#!/bin/bash echo "Making lirc the default for rc" echo lirc > /sys/class/rc/rc0/protocols echo "Starting lircd" /etc/init.d/lirc start
Remove lirc from the normal startup process:
$ sudo update-rc.d lirc remove
Test your configuration (retrieve HP-RC2285301-01.conf below):
$ sudo /usr/sbin/lircd -n -d /dev/lirc0 -P ./lirc.pid HP-RC2285201-01.conf $ irw
And when you press the keys on your remote, you should see some output from irw.