lirc-modules-source breaks in-kernel lirc support
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
lirc (Ubuntu) |
Fix Released
|
Critical
|
Unassigned | ||
Natty |
Fix Released
|
Critical
|
Mario Limonciello | ||
Oneiric |
Fix Released
|
Critical
|
Unassigned |
Bug Description
Binary package hint: lirc-modules-source
** Impact **
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/
/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
FATAL: Error inserting ir_lirc_codec (/lib/modules/
# 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_
[ 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-
** Addressing in future versions **
For oneiric and later the lirc-modules-source package has been dropped
** Reproducing the bug **
1) Install lirc-modules-source
2) modprobe ir-lirc-codec
3) Observe errors in dmesg
** Regression Potential **
Little, although the DKMS package builds, it will not not interact properly with the kernel's built-in LIRC support. It's not possible to use right now, and this is just to prevent users from trying.
Changed in lirc (Ubuntu): | |
importance: | Undecided → Critical |
milestone: | none → natty-updates |
status: | New → Triaged |
lirc-modules-source shouldn't be installed by default, but maybe we should drop it from the archive in the future considering the modules in 2.6.38+.
but yes it should be fixed regardless for 11.04.