Finally i got lirc to work in 2.6.38.4.Just to recap kernel 2.6.33 is NOT compatible with lirc so i downgraded it to 2.6.31 which works just fine.The next challenge was to get it working in the latest 2.6.38.4.On my system i have a TV PCI card with an IR controller(which i don't use) showing up as /dev/lirc/0.My MCE usb receiver shows up as /dev/lirc/1.I have lirc 0.8.7 installed from the repos.The trouble i was having was that when i pointed lircd to /dev/lirc/1 nothing would show up on irw.I even replaced the lirc daemon (lircd) with the 0.9.0 version compiled from source and still no luck.I then changed the lircd.conf to lircd.conf.mceusb (from the compiled lirc 0.9.0 package) and again nothing showed up on irw.I ran the command ir-keytable and got the following output:
Found /sys/class/rc/rc0/ (/dev/input/event3) with:
Driver cx88xx, table rc-hauppauge-new
Supported protocols: NEC RC-5 RC-6 JVC SONY LIRC
Enabled protocols: NEC RC-5 RC-6 JVC SONY LIRC
Found /sys/class/rc/rc1/ (/dev/input/event4) with:
Driver mceusb, table rc-rc6-mce
Supported protocols: NEC RC-5 RC-6 JVC SONY LIRC
Enabled protocols: RC-6
Repeat delay = 500 ms, repeat period = 33 ms
Repeat delay = 500 ms, repeat period = 33 ms
This showed that my mceusb remote mapped to /sys/class/rc/rc1 and did NOT have the LIRC protocol enabled by default (instead it was RC-6).So to activate the LIRC decoding protocol for my remote i ran this command as root:
echo lirc > /sys/class/rc/rc1/protocols
Then i started lircd with "lircd -nd /dev/lirc/1" (n=non daemon mode) in one console and ran irw in the other and this time the keypresses were registered by irw.However when i rebooted,/sys/class/rc/rc1/protocols reverted to RC-6 decoding.To prevent this i added the line echo lirc >/sys/class/rc/rc1/protocols to /etc/rc.local and now i can run the remote even after rebooting.I didn't need to change my lircd.conf file from the 0.8.7 package.The only thing i had to ensure was that the device entry in /etc/sysconfig/lircd pointed to /dev/lirc/1 and not /dev/lirc/0 as was the case on the earlier kernels (this ofcourse will vary depending on one's individual setup).The ideal solution would be to have all the decoding protocols activated by default for every remote under /sys/class/rc. Perhaps there is a kernal patch for this?
Reference:
https://bbs.archlinux.org/viewtopic.php?id=116515