The iMON LCD that comes with a lot of HTPC cases has undergone some significant protocol changes. There is a new model
with USB hardware ID 15c2:0038, and it is incompatible with the version of the lirc_imon driver currently available in
CVS.
Thanks to the work of several people over at the codeka.com forums (especially Dean Harding for the initial work on the
iMON LCD, and madCoder for the 0038 patch) a lot of progress has been made on making the hardware functional, despite
the lack of support the linux community has received from SoundGraph.
I've modified madCoder's patch to handle a few extra details with the new iMON model, and an extra detail the may be
specific to the Thermaltake DH-101 case. The patch does the following:
Extended the LIRC code size to 8 bytes
Previously, the lirc driver only used the first 4 bytes of the 8 byte USB request buffer (URB). This was insufficient for the
Thermaltake case, as the codes for its front panel buttons only varied in the 5th byte.
Normalized the URB data size
The driver was expecting all URBs to have 8 bytes of data, and ignoring everything else. However, the mouse functions on the
pad remote only used 5 byte codes, and were thus getting ignored. I've extended all 5 byte codes to 8 bytes
Fixed handling for the pressure sensitive directional pad
The direction pad on the included pad remote was pressure sensitive, and thus (because of the way it was implemented) appeared
to lirc as over 100 buttons instead of 4. I've added code to map all variations to just 4 directions, and handled a jitter
problem when you are pressing too close to the diagonal and the direction keeps changing back and forth.
Also posted below is an updated lircd.conf file to deal with the 8 byte codes, as well as another lircd.conf file that
handles the front panel buttons on the Thermaltake DH-101 case.
I also have a detailed posting on my blog dealing with
getting iMON 0038 LCD working with
LIRC.
Updated patch for the iMON LCD 0038 model
Lircd.conf file for the iMON pad remote
Lircd.conf file for the Thermaltake DH-101
I've also added a followup post on my blog dealing with
getting iMON 0038 LCD working with
LCDproc. The patches used in that posting are linked below. They are basically the patches from the codeka.com forums
with a few tiny bug fixes and tweaks
Update version of Deans LCDproc patch for the iMON
Updated version of madCoder's LCDproc patch for the 0038 model iMON
patch for the LCDd.conf file