The breakage of the lirc_i2c module happens at a kernel >= 2.6.28, where 0.8.4a (old default 9.04 package) is no longer usable, due to i2c changes in the kernel mainline.
I've been following this issue for several months as I moved to a >= 2.6.30 kernel quite a while back for various other reasons. The actual IR sensor driver resides in cx18_i2c, which is part of the V4L-DVB subsystem.
It seems that there has been a flurry of changes surrounding i2c drivers in both the kernel, in lirc, and in the v4l-dvb code, but I was surprised to find that I could avoid the nonfunctional lirc_i2c/i2c_dev issues by running ir-kbd-i2c instead.
I have not tried 9.10, and all the shiny new (more) up to date packages, so it might be worth trying a modprobe ir-kbd-i2c and checking your dmesg etc.
The following worked for me:
1. Get a 2.6.31 kernel loaded (possible a 2.6.30 would work; have not tried)2. Get the latest version of v4l-dvb
3. Get 0.8.6 lirc source installed.
hg clone http://linuxtv.org/hg/v4l-dvb
I should note that to get a full compilation of all the v4l modules, I needed to go comment out some entries for a firedtv module (in a makefile) that was failing to build. I've not pulled any updates for a few days so perhaps that is fixed? YMMV with code pulled from live repos.
If you're going to be running setup.sh (yes you probably will) you're going to want to edit it to change line 338 to " echo ./configure --prefix=/usr \\" >>$START so that you don't end up with the complied version ending up in the lirc default (/usr/local).So, go ahead and load ir-kbd-i2c and check it out.
When you configure LIRC, you will want to choose "Linux input layer (/dev/input/
eventX)" (indicated by driver:devinput). Complete the build process via the script, make, sudo make install etc..
Note the device node - /devices/virtual/input/input6
indi@indulgent:~$sudo modprobe ir-kbd-i2c
Nov 3 21:10:45 indulgent kernel: [ ] input: i2c IR (CX23418 Z8F0811 Hauppau as /devices/virtual/input/input7
Nov 3 21:10:45 indulgent kernel: [ ] ir-kbd-i2c: i2c IR (CX23418 Z8F0811 Hauppau detected at i2c-0/0-0071/ir0 [cx18 i2c driver #0-0]
indi@indulgent:/etc/lirc$ cat /proc/bus/input/devices | grep -A6 "i2c IR"
N: Name="i2c IR (CX23418 Z8F0811 Hauppau"
H: Handlers=kbd event6
Stop lircd if you've got it running (sudo /etc/init.d/lirc stop, whatever)
Well, that would be mostly working.
indi@indulgent:sudo lircd -n --device=/dev/input/event6 --output=/var/run/lirc/lircd
lircd-0.8.6: lircd(devinput) ready, using /var/run/lirc/lircd
lircd-0.8.6: accepted new client on /var/run/lirc/lircd
lircd-0.8.6: initializing '/dev/input/event6'
0000000080010161 00 Go HVR-1100
I changed my /etc/lirc/hardware.conf a little, and by adding ir-kbd-i2c to the lirc list of modules you get it to load on restart.
Notes: ir-kbd-i2c does not autoload (by previous design to prevent device conflicts), I seem to get incorrectly identified as a 1100, but I don't care, it works. I did end up re-tweaking my ~/.lircrc slightly and modified the /usr/share/lirc/extras/more_remotes/hauppauge/lircd.conf.hauppauge a bit too. I have not tried 9.10, but imagine that a similar process should work out, as the kernel versions/lirc/v4l stuff should all be similar.