Ubuntu 11.04 is shipping with a 2.6.38 kernel, which has numerous lirc device drivers from the staging tree enabled, as well as rc-core infrastructure and several new rc-core device drivers. The rc-core drivers and the in-kernel lirc device drivers rely on the lirc device interface driver (lirc_dev.ko) provided by the kernel to provide the lirc character device interface needed by lircd.
Also shipping is an lirc-modules-source package, based on lirc 0.8.7-era out-of-tree lirc device driver code. When this package is installed and dkms builds modules, they override the in-kernel ones, most troubling being lirc_dev.ko:
Now when any of the in-kernel lirc drivers or an rc-core driver with support for the ir-lirc-codec bridge driver tries to load, you get something like the following:
# modprobe ir-lirc-codec
FATAL: Error inserting ir_lirc_codec (/lib/modules/2.6.38-8-generic/kernel/drivers/media/rc/ir-lirc-codec.ko): Unknown symbol in module, or unknown parameter (see dmesg)
# dmesg | grep ir_lirc_codec
[ 13.439407] ir_lirc_codec: Unknown symbol lirc_dev_fop_poll (err 0)
[ 13.439557] ir_lirc_codec: Unknown symbol lirc_dev_fop_open (err 0)
[ 13.439622] ir_lirc_codec: disagrees about version of symbol lirc_get_pdata
[ 13.439623] ir_lirc_codec: Unknown symbol lirc_get_pdata (err -22)
[ 13.439706] ir_lirc_codec: Unknown symbol lirc_dev_fop_close (err 0)
[ 13.439770] ir_lirc_codec: Unknown symbol lirc_dev_fop_read (err 0)
[ 13.439824] ir_lirc_codec: disagrees about version of symbol lirc_register_driver
[ 13.439826] ir_lirc_codec: Unknown symbol lirc_register_driver (err -22)
[ 13.439960] ir_lirc_codec: Unknown symbol lirc_dev_fop_ioctl (err 0)
This completely breaks in-kernel drivers' lirc support.
Please either stop shipping lirc-modules-source, or properly update it to build against the in-kernel lirc bits (and preferably, strip out the entirely redundant drivers).
Binary package hint: lirc-modules-source
Ubuntu 11.04 is shipping with a 2.6.38 kernel, which has numerous lirc device drivers from the staging tree enabled, as well as rc-core infrastructure and several new rc-core device drivers. The rc-core drivers and the in-kernel lirc device drivers rely on the lirc device interface driver (lirc_dev.ko) provided by the kernel to provide the lirc character device interface needed by lircd.
Also shipping is an lirc-modules-source package, based on lirc 0.8.7-era out-of-tree lirc device driver code. When this package is installed and dkms builds modules, they override the in-kernel ones, most troubling being lirc_dev.ko:
# find /lib/modules/ $(uname -r)/ -name lirc_dev.ko 2.6.38- 8-generic/ kernel/ drivers/ media/rc/ lirc_dev. ko 2.6.38- 8-generic/ updates/ dkms/lirc_ dev.ko
/lib/modules/
/lib/modules/
Now when any of the in-kernel lirc drivers or an rc-core driver with support for the ir-lirc-codec bridge driver tries to load, you get something like the following:
# modprobe ir-lirc-codec 2.6.38- 8-generic/ kernel/ drivers/ media/rc/ ir-lirc- codec.ko) : Unknown symbol in module, or unknown parameter (see dmesg)
FATAL: Error inserting ir_lirc_codec (/lib/modules/
# dmesg | grep ir_lirc_codec driver driver (err -22)
[ 13.439407] ir_lirc_codec: Unknown symbol lirc_dev_fop_poll (err 0)
[ 13.439557] ir_lirc_codec: Unknown symbol lirc_dev_fop_open (err 0)
[ 13.439622] ir_lirc_codec: disagrees about version of symbol lirc_get_pdata
[ 13.439623] ir_lirc_codec: Unknown symbol lirc_get_pdata (err -22)
[ 13.439706] ir_lirc_codec: Unknown symbol lirc_dev_fop_close (err 0)
[ 13.439770] ir_lirc_codec: Unknown symbol lirc_dev_fop_read (err 0)
[ 13.439824] ir_lirc_codec: disagrees about version of symbol lirc_register_
[ 13.439826] ir_lirc_codec: Unknown symbol lirc_register_
[ 13.439960] ir_lirc_codec: Unknown symbol lirc_dev_fop_ioctl (err 0)
This completely breaks in-kernel drivers' lirc support.
Please either stop shipping lirc-modules- source, or properly update it to build against the in-kernel lirc bits (and preferably, strip out the entirely redundant drivers).