Getting it to work was a major pain.
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.