Antec Fusion Black + Logitech Harmony 880 (via LIRC iMon)

Harmony 880 and Antec Fusion Black

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.

About Jeff Fitzsimons

Jeff Fitzsimons is a software engineer in the California Bay Area. Technical specialties include C++, Win32, and multithreading. Personal interests include rock climbing, cycling, motorcycles, and photography.
This entry was posted in Technology and tagged , , , , , , , , , , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *