Maverick's imon kernel module does not support protocol switching (regression)

Bug #666493 reported by Hanno on 2010-10-25
112
This bug affects 17 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Undecided
Unassigned

Bug Description

Binary package hint: linux-image-2.6.35-22-generic

Hello,

with Maverick and the switch to the 2.6.35 kernel, the handling of infrared remote receivers has changed, resulting in a regression for users of MCE-compatible "IMON" receivers, such as myself: My previously working HTPC system has stopped accepting IR commands.

The previous Ubuntu versions were using the LIRC modules, but Maverick has switched to the new in-kernel infrared driver stack. The old module "lirc_imon" has since been replaced by the "imon" module, but the Maverick kernel comes with an outdated version of it.

Some IMON receivers allow switching the receiver's protocol to the popular MCE remote codes. The "lirc_imon" used a module parameter to do this, the new "imon" module needs a command line utility "ir-keytable" from v4l-utils. This tool is not provided as an Ubuntu package yet, but can be installed manually.

However, even with this tool, the Maverick kernel's "imon" module is not able to switch the IR protocol.

The module's developer Jarod Wilson says that Maverick's kernel uses an outdated version and that this has been fixed upstream, so he recommends that the Ubuntu kernel team updates the kernel's IR driver stack to a more recent version.

For more details, please see here:

http://web.archiveorange.com/archive/v/Xn95H6d7UblvPDwLjIlj

Please:

- update the Maverick kernel's IR driver stack with the upstream updates to resolve this regression

- add v4l-utils with "ir-keytable" as an Ubuntu package

Thank you very much.

Jarod Wilson (jarod-wilsonet) wrote :

I've had at least one report that the 2.6.36 imon module behaves as expected for another imon/mce user -- but it does still require v4l-utils ir-keytable. However, I don't think the problem here is actually in the imon code itself, but rather in the ir layer, so simply pulling in imon.c from 2.6.36 into 2.6.35.x isn't likely to be sufficient to fix the problem. I do have an updated ir layer backported for 2.6.35 that I've patched into the Fedora kernels, which does work as well, but I've already been told its too invasive a patchset for an Ubuntu SRU kernel.

However, another possible alternative... I *think* a ~10-line patch that adds back a modparam for choosing which ir protocol to use at module load time would work too. I actually put such a thing together for upstream, but in talking with others there, we decided against pushing it, as its expected that by the end of 2.6.37 development, we'll be uploading *all* keytables from userspace using udev anyway, so adding a modparam upstream would be irrelevant and/or redundant.

Hanno (hzulla) on 2010-10-27
tags: added: kernel-bug regression-release
Hanno (hzulla) wrote :
Hanno (hzulla) wrote :

I was unable to solve this with the default Ubuntu kernel (the imon.ko module does not switch to the MCE protocol) and the aforementioned 2.6.36 kernel was unstable, producing kernel oopses and undesired video artifacts with my AMD graphics card.

Wanting to stick with the default kernel, my solution so far was:

- remove the default kernel's /lib/modules/2.6.35-22-generic/kernel/drivers/staging/lirc/lirc_imon.ko (which does not work, as well)

- install lirc-modules-source package (this will add an old, but working lirc_imon.ko to the module directory)

- Add this blacklist to /etc/modprobe.d/blacklist-imon.conf:

   blacklist ir_core
   blacklist ir_lirc_codec
   blacklist ir_sony_decoder
   blacklist ir_jvc_decoder
   blacklist ir_rc6_decoder
   blacklist ir_rc5_decoder
   blacklist ir_nec_decoder
   blacklist rc_imon_pad
   blacklist imon

- Add this entry to /etc/modules:

   lirc_imon

- Add this parameter to /etc/modprobe.d/lirc_imon.conf:

   options lirc_imon ir_protocol=1

With this, my old lirc setup continues to work. Hopefully, this helps others looking for a solution.

Instead of reverting to the old lirc setup, a better solution would be to get Ubuntu's imon.ko to work, though.

Tim Thomson (tim-thomson) wrote :

I managed to get this to work with the maverick kernel by catting "rc6" rather than "rc-6" to /sys/class/rc/rc0/protocols.
e.g.
    echo rc6 | sudo tee /sys/class/rc/rc0/protocols

This combined with

    sudo ir-keytable -p rc6 -w /etc/rc_keymaps/imon_mce

Got it working for me.

I put this in rc.local for now, but there is a chance the modules may not have loaded when rc.local is run, so I've forced a modprobe for now. Once this is all in udev it should be much cleaner.
My rc.local looks like this:

modprobe imon
ir-keytable -p rc6 -w /etc/rc_keymaps/imon_mce
echo rc6 > /sys/class/rc/rc0/protocols

mvisa (mikko-puolikuu) wrote :

Affected by this also, this is a notable regression from 10.04, where everything worked out of the box with imon (0038) in mce compatibility mode.

I am also affected by this. I am using a Harmony Remote Control and the Harmony does not support the native IMON protocol well and is unseable on my setup. I even went back to Ubuntu 10.4 to use the old driver but the recent kernel update has nixed that option for me as well.

This bug is missing log files that will aid in dianosing the problem. From a terminal window please run:

apport-collect 666493

and then change the status of the bug back to 'New'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
Arnaud Ligot (arnaud-cblue) wrote :

I fixed same kind of problem without recompiling lirc modules but by adding:

REMOTE_MODULES="lirc_dev"

to hardware.conf.

I found the information on this forum: http://ubuntuforums.org/showthread.php?t=1609652

ppww (pete-launchpad) wrote :

Anyone have updated information on this? Sticking with the last kernel in which lirc_imon worked (2.6.32-25) until there's a stable, long-term situation, but would like to upgrade to Natty soon. Is the lirc_imon module currently shipping in Natty usable? Just checked the latest Maverick (2.6.35-30) and lirc_imon,ko is still missing the ir_protocol param. If that driver is obsolete, do you recommend spending the time reconfiguring everything to use lirc_dev instead? What is the impact on the display unit that is part of this device? The display_type parameter was also removed from lirc_imon at some point; that needed to be set to 1 for the VFD to work, otherwise it stays blank, and the log fills with errors about a protocol mismatch.

Changed in linux (Ubuntu):
status: Incomplete → New
Brad Figg (brad-figg) wrote :

This bug is missing log files that will aid in diagnosing the problem. From a terminal window please run:

apport-collect 666493

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
tags: added: maverick
Robert (anon-razza) wrote :

Hi Pete,

Last I tried the bug was still apparent.

Berend Dekens (cyberwizzard) wrote :

With Ubuntu 11.10 it seems to be broken still.

I can load new tables using ir-keytable but it never registers anything (not even unknown keys) from the imon device.

I'd love to use apport to add more info but Launchpads login procedure seems to be broken in Links2.

Berend Dekens (cyberwizzard) wrote :

Let me clarify my last post: I have the '0038' device and using the original remote + LCD works fine. Loading and using a RC-6 MCE remote is not working.

However, since manipulating the keymaps is working, I am starting to wonder if my sources are correct and if the '0038' is able to decode RC6 in the first place.

Launchpad Janitor (janitor) wrote :

[Expired for linux (Ubuntu) because there has been no activity for 60 days.]

Changed in linux (Ubuntu):
status: Incomplete → Expired

I have also just bought and attempted to connect an iMon LCD device (an UltraBay, that lsusb reads as "Bus 002 Device 004: ID 15c2:0045 SoundGraph Inc." and am having absolutely no luck connecting to my Ubuntu 11.10 machine. Any attempts to start LCDd or similar just report that the IMON kernel module hasnt been installed and that it cannot access the driver [imonlcd].

I tried Hanno's workaround from #3 with no success.

I'm usually not too bad, but with this I'm completely stuck. Is there any information I'm missing? Or has someone found a way of making imon_lcd.ko that works in Oneiric?

Changed in linux (Ubuntu):
status: Expired → New
tags: added: apport-collected oneiric running-unity staging

AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.24.
ApportVersion: 1.23-0ubuntu4
Architecture: i386
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: agc93 2025 F.... pulseaudio
                      agc93 2375 F.... TeamViewer.exe
CRDA: Error: [Errno 2] No such file or directory
Card0.Amixer.info:
 Card hw:0 'Intel'/'HDA Intel at 0xd3220000 irq 47'
   Mixer name : 'Realtek ALC888'
   Components : 'HDA:10ec0888,80860002,00100001'
   Controls : 38
   Simple ctrls : 21
DistroRelease: Ubuntu 11.10
HibernationDevice: RESUME=UUID=a43b108d-c51f-4672-b066-d54afefd7f2d
InstallationMedia: Ubuntu 11.04 "Natty Narwhal" - Release i386 (20110427.1)
IwConfig:
 lo no wireless extensions.

 eth0 no wireless extensions.
NonfreeKernelModules: nvidia
Package: linux (not installed)
ProcEnviron:
 PATH=(custom, user)
 LANG=en_US.UTF-8
 SHELL=/bin/bash
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.0.0-16-generic root=UUID=f6ffefb8-54d3-449e-a839-0a476ef6d7f1 ro quiet splash vt.handoff=7
ProcVersionSignature: Ubuntu 3.0.0-16.29-generic 3.0.20
RelatedPackageVersions:
 linux-restricted-modules-3.0.0-16-generic N/A
 linux-backports-modules-3.0.0-16-generic N/A
 linux-firmware 1.60
RfKill:

StagingDrivers: mei
Tags: oneiric running-unity staging
Uname: Linux 3.0.0-16-generic i686
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: adm admin cdrom dialout lpadmin plugdev root sambashare
dmi.bios.date: 02/18/2008
dmi.bios.vendor: Intel Corp.
dmi.bios.version: DPP3510J.86A.0407.2008.0218.0923
dmi.board.asset.tag: Base Board Asset Tag
dmi.board.name: DG33FB
dmi.board.vendor: Intel Corporation
dmi.board.version: AAD81072-307
dmi.chassis.type: 3
dmi.modalias: dmi:bvnIntelCorp.:bvrDPP3510J.86A.0407.2008.0218.0923:bd02/18/2008:svn:pn:pvr:rvnIntelCorporation:rnDG33FB:rvrAAD81072-307:cvn:ct3:cvr:

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

I've tried running that apport-collect command, but you should be warned that I've tried a bunch of random supposed workarounds so things might be a little messed up on that front. If you've got any other ideas or information you need, lay it on me.

This bug is missing log files that will aid in diagnosing the problem. From a terminal window please run:

apport-collect 666493

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete

AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.24.
ApportVersion: 1.23-0ubuntu4
Architecture: i386
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: agc93 2025 F.... pulseaudio
                      agc93 2375 F.... TeamViewer.exe
CRDA: Error: [Errno 2] No such file or directory
Card0.Amixer.info:
 Card hw:0 'Intel'/'HDA Intel at 0xd3220000 irq 47'
   Mixer name : 'Realtek ALC888'
   Components : 'HDA:10ec0888,80860002,00100001'
   Controls : 38
   Simple ctrls : 21
DistroRelease: Ubuntu 11.10
HibernationDevice: RESUME=UUID=a43b108d-c51f-4672-b066-d54afefd7f2d
InstallationMedia: Ubuntu 11.04 "Natty Narwhal" - Release i386 (20110427.1)
IwConfig:
 lo no wireless extensions.

 eth0 no wireless extensions.
NonfreeKernelModules: nvidia
Package: linux (not installed)
ProcEnviron:
 PATH=(custom, user)
 LANG=en_US.UTF-8
 SHELL=/bin/bash
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.0.0-16-generic root=UUID=f6ffefb8-54d3-449e-a839-0a476ef6d7f1 ro quiet splash vt.handoff=7
ProcVersionSignature: Ubuntu 3.0.0-16.29-generic 3.0.20
RelatedPackageVersions:
 linux-restricted-modules-3.0.0-16-generic N/A
 linux-backports-modules-3.0.0-16-generic N/A
 linux-firmware 1.60
RfKill:

StagingDrivers: mei
Tags: oneiric running-unity staging
Uname: Linux 3.0.0-16-generic i686
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: adm admin cdrom dialout lpadmin plugdev root sambashare
dmi.bios.date: 02/18/2008
dmi.bios.vendor: Intel Corp.
dmi.bios.version: DPP3510J.86A.0407.2008.0218.0923
dmi.board.asset.tag: Base Board Asset Tag
dmi.board.name: DG33FB
dmi.board.vendor: Intel Corporation
dmi.board.version: AAD81072-307
dmi.chassis.type: 3
dmi.modalias: dmi:bvnIntelCorp.:bvrDPP3510J.86A.0407.2008.0218.0923:bd02/18/2008:svn:pn:pvr:rvnIntelCorporation:rnDG33FB:rvrAAD81072-307:cvn:ct3:cvr:

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

apport information

Changed in linux (Ubuntu):
status: Incomplete → Confirmed

Also, uname -r reports I am on 3.0.0-16-generic and I am a first-time reporter so if I'm doing this wrong, let me know.

At least for my iMon ultrabay, I can get it working by manually downloading the kernel (pub/kernel/v3.0/linux-3.0.16.tar.gz of your favourite mirror, for example) then modifying the included Makefile, following this guide (http://www.cyberciti.biz/tips/build-linux-kernel-module-against-installed-kernel-source-tree.html) and compiling and manually modprobing the imon and lirc_dev modules, then changing the lirc set up (with dpkg-reconfigure lirc) to use the linux devinput system, and I have at least some of my IT keys working and lcdproc also now works without a hitch.

Stan Paulus (u-sta0-h) wrote :

Alistair would you mind writing a more detailed howto on how you managed to got it working? I'm struggling getting the ir to work myself (got a Imon 15c2:0036 myself) and I guess others would find such a howto helpfull as well.

Sure thing. Just hit http://projects.alistairchapman.com and choose the iMon Drivers for Linux section. There's no screenshots, but the instructions should be enough for moderately experienced users who know their way around a command line.

Dammit. That link is dead. Give me a couple of days and I'll get it back up again.

That link (http://projects.alistairchapman.com) should now be right. If anyone has any suggestions, PM me and I'll update the guide as soon as I can.

Hanno, thank you for reporting this and helping make Ubuntu better. Maverick reached EOL on April 2012.
Please see this document for currently supported Ubuntu releases:
https://wiki.ubuntu.com/Releases

We were wondering if this is still an issue on a supported release? If so, can you try with the latest development release of Ubuntu? ISO CD images are available from http://cdimage.ubuntu.com/releases/ .

If it remains an issue in a supported release, could you run the following command from a Terminal (Applications->Accessories->Terminal). It will automatically gather and attach updated debug information to this report.

apport-collect -p linux <replace-with-bug-number>

Also, if you could test the latest upstream kernel available that would be great. It will allow additional upstream developers to examine the issue. Refer to https://wiki.ubuntu.com/KernelMainlineBuilds . Once you've tested the upstream kernel, please remove the 'needs-upstream-testing' tag. This can be done by clicking on the yellow pencil icon next to the tag located at the bottom of the bug description and deleting the 'needs-upstream-testing' text. Please let us know your results.

Thanks in advance.

Changed in linux (Ubuntu):
status: Confirmed → Incomplete

All of my testing has been on Ubuntu 11.10 Oneiric, upgraded from 11.04.
And I have already attached my apport info in previous posts to this bug.
If anyone else can, as I am currently unable to test the upstream kernel, I have tested on 3.0.0-16 and that's what all my files and comments have been regarding.

Alistair Chapman, please file a new bug via the Terminal and feel free to subscribe me to it:
ubuntu-bug linux

Thanks!

Launchpad Janitor (janitor) wrote :

[Expired for linux (Ubuntu) because there has been no activity for 60 days.]

Changed in linux (Ubuntu):
status: Incomplete → Expired
To post a comment you must log in.