lirc and LCDproc for Soundgraph iMON changes

well… after an update quite a while ago my lirc and lcdproc stopped working. starting lirc on the default ubuntu install would always result in:

unable to load LIRC kernel modules. Verify your selected kernel modules in /etc/lirc/hardware.conf

so trying to add the modules manually would tell me a bit more:

root@augustiner:~$ modprobe lirc_imon
FATAL: Error inserting lirc_imon (/lib/modules/2.6.31-21-generic/updates/dkms/lirc_imon.ko): Unknown symbol in module, or unknown parameter (see dmesg)
root@augustiner:~$ dmesg | grep lirc_imon | tail -n1
[  420.742877] lirc_imon: Unknown parameter `islcd'

i noticed a line in the options that was wrong and removed it:

options lirc_imon islcd=0

lirc was back up and running but not my LCD screen. the logs showed:

[  492.637968] lirc_imon: lcd_write: invalid payload size: 32 (expecting 8)
[  492.762951] lirc_imon: lcd_write: invalid payload size: 32 (expecting 8)
[  492.887947] lirc_imon: lcd_write: invalid payload size: 32 (expecting 8)
[  493.012940] lirc_imon: lcd_write: invalid payload size: 32 (expecting 8)
[  493.137946] lirc_imon: lcd_write: invalid payload size: 32 (expecting 8)
[  493.262958] lirc_imon: lcd_write: invalid payload size: 32 (expecting 8)
[  493.387957] lirc_imon: lcd_write: invalid payload size: 32 (expecting 8)
...

some further googling and i found out that the options line has changed from release to release. to get it back working use:

options lirc_imon display_type=1

to get the write type just look into lirc_imon.c

enum {
   IMON_DISPLAY_TYPE_AUTO,
   IMON_DISPLAY_TYPE_VFD,
   IMON_DISPLAY_TYPE_LCD,
   IMON_DISPLAY_TYPE_NONE,
};