lirc-modules-source-0.8.6-0ubuntu4: lirc_dev-2.6.33.patch breaks lirc-nct677x-src

Bug #570700 reported by Torbjörn Svensson on 2010-04-27
174
This bug affects 15 people
Affects Status Importance Assigned to Milestone
lirc (Ubuntu)
Undecided
Unassigned
Nominated for Lucid by Torbjörn Svensson

Bug Description

Binary package hint: lirc

1)
# lsb_release -rd
Description: Ubuntu lucid (development branch)
Release: 10.04

2)
# apt-cache policy lirc-modules-source
lirc-modules-source:
  Installed: 0.8.6-0ubuntu4
  Candidate: 0.8.6-0ubuntu4
  Version table:
 *** 0.8.6-0ubuntu4 0
        500 http://se.archive.ubuntu.com/ubuntu/ lucid/universe Packages
        100 /var/lib/dpkg/status

After applying the lirc_dev-2.6.33.patch, the 3d party driver for the Nuvoton 677x is no longer loadable. It compiles fine, but complains about incorrect version upon modprobe:

[ 5870.433827] lirc_dev: IR Remote Control driver registered, major 61
[ 5870.436038] lirc_wb677: disagrees about version of symbol lirc_register_driver
[ 5870.436038] lirc_wb677: Unknown symbol lirc_register_driver

After removing the above mentioned patch to lirc, both compilation and modprobe works fine:
[ 7700.230465] lirc_dev: IR Remote Control driver registered, major 61
[ 7700.234243] lirc_wb677 w677hga: chip id high: 0xff expect:0xb4
[ 7700.234257] lirc_wb677 w677hga: chip id low: 0xff expect:0x73
[ 7700.236124] input: MCE Remote Keyboard as /devices/virtual/input/input6
[ 7700.236494] lirc_dev: lirc_register_driver: sample_rate: 0

The source package, lirc-nct677x-src, can be downloaded from:
http://europe.asrock.com/downloadsite/drivers/Nettop/Ubuntu/IR(9.10).zip

Erik (erik-pope) wrote :

I am having the same problem how would I remove that patch?

Torbjörn Svensson (azoff) wrote :

Removing the patch can be done by:

$ cd /tmp
$ apt-get source lirc-modules-source
$ sudo apt-get build-dep lirc-modules-source
$ cd /tmp/lirc-0.8.6
$ nano debian/patches/series # remove the lirc_dev-2.6.33.patch line and save
$ debuild
$ sudo dpkg -i ../lirc-modules-source*deb

Probably there's a better way to do this, but this is what I did to test what made the module fail to load.

Torbjörn Svensson (azoff) wrote :

After I reported this issue yesterday, I have tried to narrow this issue down and I have found out that it's the change of symbol name in struct lirc_buffer makes the lirc_wb677.ko unloadable. If I apply the lirc_dev-2.6.33.patch and after that applies another patch that reverts the name change in the struct lirc_buffer ('fifo_lock' -> 'lock') the module is yet again loadable. From what I know, a change of symbol name like this shouldn't cause this kind of problem.

Samuel Hultgren (taortan) wrote :

I'm also experiencing the same problem.

tags: added: lirc-nct677x-src
Erik (erik-pope) wrote :

I still get:
sudo /etc/init.d/lirc restart

 * Stopping execution daemon: irexec [fail]
 * Stopping remote control daemon(s): LIRC [fail]
 * Loading LIRC modules [ OK ]
 * Unable to load LIRC kernel modules. Verify your
 * selected kernel modules in /etc/lirc/hardware.conf
 * Starting execution daemon: irexec [fail]

any ideas?

I have tryed
lirc-nct677x-1.0.4-ubuntu9.10.deb
and the older
lirc-nct677x-1.0.1-ubuntu9.10.deb

The older worked in 9.10 but I really want to have 10.04.

Torbjörn Svensson (azoff) wrote :

@Erik: You need to recompile the driver for your current kernel, thus you need the lirc-nct677x-src-1.0.4-ubuntu9.10.deb. Also, I haven't been able to really test the driver, just make it load into the kernel, as my ION 330HT box is about 300km away.

Erik (erik-pope) wrote :

I get this:
Now signing changes and any dsc files...
 signfile lirc_0.8.6-0ubuntu4.dsc Mario Limonciello <email address hidden>
gpg: directory `/home/media/.gnupg' created
gpg: new configuration file `/home/media/.gnupg/gpg.conf' created
gpg: WARNING: options in `/home/media/.gnupg/gpg.conf' are not yet active during this run
gpg: keyring `/home/media/.gnupg/secring.gpg' created
gpg: keyring `/home/media/.gnupg/pubring.gpg' created
gpg: skipped "Mario Limonciello <email address hidden>": secret key not available
gpg: [stdin]: clearsign failed: secret key not available
WARNING: Can't find the right public key-- can't check signature integrity.
debuild: fatal error at line 1261:
running debsign failed

What should I do?

to recompile for my kernel what do I have to do after installing lirc-nct677x-src-1.0.4-ubuntu9.10.deb?

Thanks

Erik (erik-pope) wrote :

sudo dkms build -m lirc-nct677x-srv -v 1.0.0-ubuntu9.10

Error! DKMS tree does not contain: lirc-nct677x-srv-1.0.0-ubuntu9.10
Build cannot continue without the proper tree.

Why is it 1.0.0 when I install 1.0.4. I tried both and same thing.

Torbjörn Svensson (azoff) wrote :

That's a bug in the lirc-nct677x-src package. This is how you build and install the driver:
$ sudo dkms add -m lirc-nct677x-src -v 1.0.4-ubuntu9.10
$ sudo dkms build -m lirc-nct677x-src -v 1.0.4-ubuntu9.10
$ sudo dkms install -m lirc-nct677x-src -v 1.0.4-ubuntu9.10

If you removed the patch, you should successfully be able to run:
$ sudo modprobe lirc_wb677

Verify that the module loaded by:
$ sudo dmesg | tail

Erik (erik-pope) wrote :

Thanks for all the help. all works. I learned a lot too.

Excellent, this worked for me too. Although I had to restart before loading the lirc_wb677 module, before reboot I got the same error as before fixing with the patch.

I don't think this bug will do much except helping Ubuntu-people experiencing this bug (since these are not Ubuntu-packages, just packages FOR Ubuntu).

I think bug report should be sent upstream to LIRC or to ASRock to have effect.

Hi,
not everything that you wrote above worked for me. Here is my workaround for the problem:
1) uninstall lirc-modules-source (if installed)
2) install lirc-nct677x-1.0.4-ubuntu9.10.deb (it patches /usr/share/lirc/lirc.hwdb and adds remote definition)
3) rm /lib/modules/2.6.32-21-generic/kernel/ubuntu/lirc/lirc_wb677/lirc_wb677.ko (installed in 2) )
4) force install (dpkg --force-depends) lirc-nct677x-src-1.0.4-ubuntu9.10.deb
5) dkms add -m lirc-nct677x-src -v 1.0.4-ubuntu9.10
6) dkms build -m lirc-nct677x-src -v 1.0.4-ubuntu9.10
7) rmmod lirc_dev; modprobe lirc_wb677
8) make sure that /etc/lirc/lircd.conf contains something like:
include "/usr/share/lirc/remotes/lirc_wb677/lircd.conf.wb677"
9) dpkg-reconfigure lirc (set nuvoton as lirc receiver)
10) service lirc restart
11) check if your remote works using irw command
12) ???
13) profit! ;)

Would somebody consider adding this package to the Ubuntu/Debian repositories so everybody can benefit from it? Or could it become a standard part of the lirc package?

Torbjörn Svensson (azoff) wrote :

Sorry for not being able to respond earlier.
As I stated in comment 6, I had at that time not been able to test on the real hardware when I reported this bug. This weekend I managed to test on the real hardware and found out that to get it working, I actually needed to get the configuration files from the lirc-nct677x-x64-1.0.4-ubuntu9.10.deb package in order to receive any events from the remote. With lirc.hwdb patched, the /etc/lirc/lircd.conf including /usr/share/lirc/remotes/lirc_wb677/lircd.conf.wb677 and the file extracted from the binary package I managed to it working.

Torbjörn Svensson (azoff) wrote :

Apparently, a new version of the drivers for 10.04 has been released by ASRock. From running a diff on the two versions shows that it's actually just a renamed package (9.10 has been replaced by 10.04).
The new package can be downloaded from here: http://europe.asrock.com/downloadsite/drivers/Nettop/Ubuntu/IR(10.04).rar

I have downloaded the driver on http://www.asrock.com/Nettop/download.asp?Model=ION%20330HT&o=Linux and installed it without problems on Ubuntu 10.04.

Linux XBMC 2.6.32-22-generic #33-Ubuntu SMP Wed Apr 28 13:27:30 UTC 2010 i686 GNU/Linux

Package: lirc-nct677x
Status: install ok installed
Priority: extra
Section: utils
Installed-Size: 69
Maintainer: Nuvoton Technology Co. (PS00) <email address hidden>
Architecture: all
Version: 1.0.4-ubuntu10.04
Depends: lirc (>= 0.8.6-0ubuntu2)
Conflicts: lirc (<< 0.6.3-1)
Description: infra-red remote control support for nuvoton nct6775 / w836x7 - kernel module source
LIRC stands for 'Linux Infra-red Remote Control'.
.
This package provides the source for the kernel modules to support
infra-red remote controls under Linux.
Homepage: http://www.nuvoton.com

I had tried the same a few days back and it didn't work... so most likely the driver got updated in the meantime.

Chris.

Torbjörn Svensson (azoff) wrote :

If you read the summary on this bug, you would see that it only states that the -src package can't be compiled due to the name change. I know that the binary package can be installed and that it works at that moment, but as soon as you upgrade the kernel to a new release, 2.6.x-y -> 2.6.x-z, where y != z, it no longer finds the required module. The dkms is supposed to work around this, but for that to work, the -src package must be buildable ;)

Dogers (dogers) wrote :

Chris- it only appears to affect 2.6.32-33, I guess that's either what the patch is for or included with?

Torbjörn- would you be able to upload your module/deb somewhere? I've tried building it myself on another box (don't really want to install loads of packages onto my little video box!), but get a completely different error when loading the module now..
[ 413.619359] lirc_wb677: disagrees about version of symbol lirc_register_driver
[ 413.619370] lirc_wb677: Unknown symbol lirc_register_driver

DMcCloskey (davemccloskey) wrote :

Dogers, I get the same error now. I just upgraded. Now my remote is broken. None of the workarounds on this page work anymore, at least not on x64.

[ 5674.248879] lirc_wb677: disagrees about version of symbol lirc_register_driver
[ 5674.248889] lirc_wb677: Unknown symbol lirc_register_driver

Forget about trying to install the module directly from the .deb. At least with the source version you get a meaningful error.

I grepped the source of wb677 for "lock" and there are like 30 lines there, and I'm not sure which of them I'd change to fifo_lock. But shouldn't lirc not be changing its kernel symbols randomly? That's kind of a major thing, isn't it? Can't rebuild lirc modules myself because of the aforementioned pgp error. I don't even have close to an idea why I need to do anything with pgp or gpg to build modules on my own machine. That's very stupid too.

Omid Tehrani (omid-teh) wrote :

Hello. I reinstalled my Asrock 330HT with Ubuntu 10.04 32bit and remote worked. But when I updated Ubuntu the remote stop working with error:
[ 5674.248879] lirc_wb677: disagrees about version of symbol lirc_register_driver
[ 5674.248889] lirc_wb677: Unknown symbol lirc_register_driver

Do you think it could be fixed soon or shell I revert the kernel update?

Regard Omid

Soenke (s0enke) wrote :

Correct, lirc version 0.8.6-0ubuntu4.1 breaks the module. I reverted to 0.8.6-0ubuntu4 and everything back to normal (no source install, though)

$ apt-cache policy lirc
lirc:
  Installed: 0.8.6-0ubuntu4
  Candidate: 0.8.6-0ubuntu4.1
  Version table:
     0.8.6-0ubuntu4.1 0
        500 http://de.archive.ubuntu.com/ubuntu/ lucid-updates/main Packages
 *** 0.8.6-0ubuntu4 0
        500 http://de.archive.ubuntu.com/ubuntu/ lucid/main Packages
        100 /var/lib/dpkg/status

$ uname -a
Linux mediageloet 2.6.32-23-generic #37-Ubuntu SMP Fri Jun 11 08:03:28 UTC 2010 x86_64 GNU/Linux

Workaround: Pin the version - add the following to /etc/apt/preferences

Package: lirc
Pin-Priority: 900
Pin: version 0.8.6-0ubuntu4

Now it won't get installed by updates:

apt-cache policy lirc
lirc:
  Installed: 0.8.6-0ubuntu4
  Candidate: 0.8.6-0ubuntu4
  Package pin: 0.8.6-0ubuntu4
  Version table:
     0.8.6-0ubuntu4.1 900
        500 http://de.archive.ubuntu.com/ubuntu/ lucid-updates/main Packages
 *** 0.8.6-0ubuntu4 900
        500 http://de.archive.ubuntu.com/ubuntu/ lucid/main Packages
        100 /var/lib/dpkg/status

Louis (louis-louis) wrote :

Asrock has released a new driver which works for newer kernels (2.6.32-23 & 24).
You can get it here: http://www.asrock.com/nettop/download.asp?Model=ION%20330HT&o=Linux
Just remember to uninstall "lirc-modules-source" (if installed) before installing the new driver.

It would be nice to see this IR-driver included in the Ubuntu repos.

kronic (kronic2006) on 2010-09-28
visibility: public → private
MarcRandolph (mrand) on 2010-10-01
visibility: private → public
Damiano (d-barretta) wrote :

Sorry to everyone but i'm a newbie
I installed ubuntu server 10.04 on my asrock 330ht, can you write me a step by step guide to succesfully install remote controller ?
Thank you so much

damouzer (damouzer) wrote :

Hi Damiano,

Upgrade your install to ubuntu 10.10 (reboot required)

install lirc and lirc module sources

Download the CIR receiver driver and source code for Ubuntu 10.10 32/64 bit ver:1.1.0 (kernel 2.6.35-22) from http://www.asrock.com/nettop/download.asp?Model=ION%20330HT&o=Linux

Follow the manual http://www.asrock.com/nettop/download.asp?Model=ION%20330HT&o=Linux

When you install the driver you can a screen where u need to select a receiver and sender for the remote. In the first two screen select none. You see a lirc restart, after that select nuvoton at receiver screen and none at the sender.

Hope its accurate enough. I did the upgrade and driver install last week and it worked finally without any problems.

Not sure you use it for XBMC, a new version of XBMC can be added with the repository: http://xbmc.org/theuni/2010/09/14/dharma-beta-2/ some nice new features are in it.

Damiano (d-barretta) wrote :

Thank you very much damouzer!
I'll try with ubuntu 10.10 but the asrock installation manual refers always to ubuntu desktop
in ubuntu desktop 10.04 i have not problem to install and configure remote controller in xbmc (following the manual)
i have problem in ubuntu server :(

I downloaded Nuvoton 677 driver on http://www.asrock.com/Nettop/download.asp?Model=Vision%203D%20Series&o=Linux but they don't work with Ubuntu 11.04.
I send a mél to Asrock support but they don't understand.

You contact with France support or Global support?

Global support.
My infrared remote control works with Ubuntu lirc but not completly and
Asrock driver doesn't install.

Le vendredi 29 avril 2011 à 20:10 +0000, RussianNeuroMancer a écrit :

> You contact with France support or Global support?
>

@David VANTYGHEM

With 11.04 you actually don't need a special driver for the Asrock 330. It is supported by the Linux kernel.

Check with dmesg, you should be able to see your IR-receiver loading at startup.

[ 8.827892] IR NEC protocol handler initialized
[ 8.836586] IR RC5(x) protocol handler initialized
[ 8.854161] IR RC6 protocol handler initialized
[ 8.863126] IR JVC protocol handler initialized
[ 8.868158] Registered IR keymap rc-rc6-mce
[ 8.868538] input: Nuvoton w836x7hg Infrared Remote Transceiver as
/devices/virtual/rc/rc0/input4
[ 8.868790] rc0: Nuvoton w836x7hg Infrared Remote Transceiver as
/devices/virtual/rc/rc0
[ 8.870998] IR Sony protocol handler initialized
[ 8.880616] lirc_dev: IR Remote Control driver registered, major 250
[ 8.884836] rc rc0: lirc_dev: driver ir-lirc-codec (nuvoton-cir)
registered at minor = 0
[ 8.884847] IR LIRC bridge handler initialized
[ 8.892146] nuvoton_cir: driver has been successfully loaded

Invalid then?

Rather fix released since it's new since kernel 2.6.37.. perhaps?

Hello,

Yes, I've got this message. But the buttons of my remote device don't
all work correctly. Some of them don't work, others do things they
shouldn't do.
The PC is an Asrock 3D Vision.

> [ 6.397877] IR NEC protocol handler initialized
> [ 6.427839] IR RC5(x) protocol handler initialized
> [ 6.447598] IR RC6 protocol handler initialized
> [ 6.460607] Registered IR keymap rc-rc6-mce
> [ 6.460761] input: Nuvoton w836x7hg Infrared Remote Transceiver as /devices/virtual/rc/rc0/input6
> [ 6.460850] rc0: Nuvoton w836x7hg Infrared Remote Transceiver as /devices/virtual/rc/rc0
> [ 6.461615] IR JVC protocol handler initialized
> [ 6.494423] IR Sony protocol handler initialized
> [ 6.500530] nuvoton_cir: driver has been successfully loaded
> [ 6.579331] lirc_dev: IR Remote Control driver registered, major 61
> [ 6.579722] ir_lirc_codec: Unknown symbol lirc_dev_fop_poll (err 0)
> [ 6.579872] ir_lirc_codec: Unknown symbol lirc_dev_fop_open (err 0)
> [ 6.579938] ir_lirc_codec: disagrees about version of symbol lirc_get_pdata
> [ 6.579939] ir_lirc_codec: Unknown symbol lirc_get_pdata (err -22)
> [ 6.580019] ir_lirc_codec: Unknown symbol lirc_dev_fop_close (err 0)
> [ 6.580080] ir_lirc_codec: Unknown symbol lirc_dev_fop_read (err 0)
> [ 6.580136] ir_lirc_codec: disagrees about version of symbol lirc_register_driver
> [ 6.580138] ir_lirc_codec: Unknown symbol lirc_register_driver (err -22)
> [ 6.580272] ir_lirc_codec: Unknown symbol lirc_dev_fop_ioctl (err 0)

Le vendredi 29 avril 2011 à 20:33 +0000, ThomasNovin a écrit :

> @David VANTYGHEM
>
> With 11.04 you actually don't need a special driver for the Asrock 330.
> It is supported by the Linux kernel.
>
> Check with dmesg, you should be able to see your IR-receiver loading at
> startup.
>
> [ 8.827892] IR NEC protocol handler initialized
> [ 8.836586] IR RC5(x) protocol handler initialized
> [ 8.854161] IR RC6 protocol handler initialized
> [ 8.863126] IR JVC protocol handler initialized
> [ 8.868158] Registered IR keymap rc-rc6-mce
> [ 8.868538] input: Nuvoton w836x7hg Infrared Remote Transceiver as
> /devices/virtual/rc/rc0/input4
> [ 8.868790] rc0: Nuvoton w836x7hg Infrared Remote Transceiver as
> /devices/virtual/rc/rc0
> [ 8.870998] IR Sony protocol handler initialized
> [ 8.880616] lirc_dev: IR Remote Control driver registered, major 250
> [ 8.884836] rc rc0: lirc_dev: driver ir-lirc-codec (nuvoton-cir)
> registered at minor = 0
> [ 8.884847] IR LIRC bridge handler initialized
> [ 8.892146] nuvoton_cir: driver has been successfully loaded
>

Today I also check this kernel driver. It's broken indeed.

Is there any workaround for Natty?

Also I suggest everybody to contact with ASRock Tehnical Support and inform they about this issue: http://www.asrock.com/support/tsd.asp

A large number of e-mail's to technical support on this issue will increase the priority of this problem.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers