Ubuntu

lirc-modules-source breaks in-kernel lirc support

Reported by Jarod Wilson on 2011-05-05
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
lirc (Ubuntu)
Critical
Unassigned
Natty
Critical
Mario Limonciello
Oneiric
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/$(uname -r)/ -name lirc_dev.ko
/lib/modules/2.6.38-8-generic/kernel/drivers/media/rc/lirc_dev.ko
/lib/modules/2.6.38-8-generic/updates/dkms/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).

** 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.

MarcRandolph (mrand) on 2011-05-05
Changed in lirc (Ubuntu):
importance: Undecided → Critical
milestone: none → natty-updates
status: New → Triaged
Mario Limonciello (superm1) wrote :

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.

Changed in lirc (Ubuntu Natty):
milestone: none → natty-updates
Changed in lirc (Ubuntu Oneiric):
milestone: natty-updates → oneiric-alpha-1
Changed in lirc (Ubuntu Natty):
importance: Undecided → Critical
status: New → Triaged
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package lirc - 0.9.0-0ubuntu1

---------------
lirc (0.9.0-0ubuntu1) oneiric; urgency=low

  * New upstream version (0.9.0)
  * Drop lirc-modules-source (LP: #778026)
  * Change to v3 package (quilt)
  * debian/control:
    - Build-deps on newer debhelper
    - bump standards version.
  * debian/compat:
    - Bump to 7
  * Drop Patches:
    - debian/patches/13-warning-cleanup
    - debian/patches/define_current_cpu_data.patch
    - debian/patches/lirc-in-kernel-ioctls.patch
    - debian/patches/updated-driver-names.patch
  * Move extra remotes to our remotes DB.
  * debian/rules:
    - Remove references to quilt (as it's source package that does it now)
    - remove deprecated dh_clean -k
 -- Mario Limonciello <email address hidden> Thu, 05 May 2011 14:45:59 -0500

Changed in lirc (Ubuntu Oneiric):
status: Triaged → Fix Released
Mario Limonciello (superm1) wrote :
description: updated
Changed in lirc (Ubuntu Natty):
status: Triaged → New
assignee: nobody → Mario Limonciello (superm1)

Accepted lirc into natty-proposed, the package will build now and be available in a few hours. Please test and give feedback here. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

Changed in lirc (Ubuntu Natty):
status: New → Fix Committed
tags: added: verification-needed
Thomas C. (thomas-creutz) wrote :

why not leave the dkms modules package for kernel < 2.6.36 and add to the dkms.conf a

BUILD_EXCLUSIVE_KERNEL=

So we can also use old kernels with this package :-/

dino99 (9d9) wrote :
Changed in lirc (Ubuntu Natty):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Bug attachments