
I have an Antec Fusion Black 430 HTPC case, which has a built-in LCD and IR receiver, and I want to control it using my Logitech Harmony 880 programmable remote.
Getting it to work was a major pain.
Overview
The lirc_imon module is used to communicate with the iMON PAD. LIRC has to be configured and compiled to provide this. The LIRC daemon then has to be properly configured so that it loads the correct driver, interacts with the right device, and sends the correct virtual keypresses to MythTV.
Step 1: Verify Hardware Connection
The output of lsusb
should contain a line similar to this:
Bus 001 Device 003: ID 15c2:ffdc SoundGraph Inc. iMON PAD Remote Controller
If something like this doesn’t appear in the output, then the USB connector from the front of the case is probably not connected properly.
Step 2: Prepare for LIRC Compilation
The instructions for compiling LIRC leave out several necessary dependencies. They will be listed here when I find my notes.
Step 3: Compile LIRC iMon Support
Follow these instructions to download and compile LIRC for iMon support.
Step 4: Configure LIRC for iMon
Copy an appropriate hardware.conf file to /etc/lirc/hardware.conf. Here is my hardware.conf:
# /etc/lirc/hardware.conf
#
#Chosen Remote Control
REMOTE="harmony880"
#Don't start lircmd even if there seems to be a good config file
START_LIRCMD=false
#Try to load appropriate kernel modules
LOAD_MODULES=true
# Run "lircd --driver=help" for a list of supported drivers.
DRIVER=""
# If DEVICE is set to /dev/lirc and devfs is in use /dev/lirc/0 will be
# automatically used instead
DEVICE="/dev/lirc0"
MODULES="lirc_imon"
# Default configuration files for your hardware if any
#LIRCD_CONF="hauppauge/lircd.conf.hauppauge"
LIRCD_CONF="/etc/lirc/lircd.conf"
LIRCMD_CONF="/etc/lirc/lircmd.conf"
Step 5: Configure LIRC for the Logitech Harmony 880
copy the correct lircd.conf file to /etc/lircd.conf. Note that it does not go in /etc/lirc/lircd.conf, since lircd seems to only look for /etc/lircd.conf.
I started out with this lircd.conf file, but it’s intended for a true Microsoft Media Center remote. For whatever reason, entirely different button codes are sent with my Harmony 880 configured to control a “Microsoft Media PC”. Using irrecord to capture button codes, I ended up with this file:
# lircd.conf file for Harmony 880 (configured to control a
# Microsoft Media Center PC) and the Antec Fusion's iMON PAD
# IR remote controller.
#
# This file should be placed in /etc/lircd.conf
#
# - Jeff Fitzsimons 2/25/2008
begin remote
name harmony880
bits 8
eps 30
aeps 100
one 0 0
zero 0 0
pre_data_bits 24
pre_data 0x800F04
gap 204001
min_repeat 1
toggle_bit_mask 0x8000
begin codes
#Power 0x00007bf3
#MyTV 0x00007bb9
#MyMusic 0x00007bb8
#MyPictures 0x00007bb6
#MyVideos 0x00007bb5
Record 0x17
Stop 0x19
Pause 0x18
Play 0x16
Rewind 0x15
Forward 0x14
#Replay 0x00007be4
#Skip 0x00007be5
#More 0x00007bf0
Back 0x0A
Left 0x20
Right 0x21
Up 0x1E
Down 0x1F
OK 0x22
VolUp 0x10
VolDown 0x11
ChanUp 0x12
ChanDown 0x13
#Home 0x00007bf2
Mute 0x0E
#RecordedTV 0x00007bb7
Guide 0x26
#LiveTV 0x00007bda
DVDMenu 0x24
One 0x01
Two 0x02
Three 0x03
Four 0x04
Five 0x05
Six 0x06
Seven 0x07
Eight 0x08
Nine 0x09
Zero 0x00
#Star 0x0A
#Hash 0x0B
Clear 0x0A
Enter 0x0B
#Red 0x00007ba4
#Green 0x00007ba3
#Yellow 0x00007ba2
#Blue 0x00007ba1
#Teletext 0x00007ba5
end codes
end remote
Step 6: Configure LIRC for MythTV
Now that LIRC knows how to talk to the hardware (step 4), and what the button codes mean (step 5), you have to tell LIRC what virtual keypresses to generate in order to interact with MythTV. This requires that an appropriate lircrc file be copied to ~/.mythtv/lircrc. In my case, the user ‘mythtv’ runs MythFrontend, so the file is /home/mythtv/.mythtv/lircrc.
I used the lircrc file from MythTV.org’s Harmony 880 wiki page.