Getting the lirc_nct677 module to work on ION330 with (ubuntu) kernel 2.6.32-23+

Due to a change in the lirc_dev module the LIRC driver module provided by ASRock will no longer compile / install (depending on your approach) on ubuntu kernels 2.6.32.23 that came with a recent update for ubuntu 10.40.

Compiling the module via dkms might give errors like:

error: ‘struct irctl’ has no member named ‘lock’ in lirc_wb677_main.c

Loading a previous version of the module might give errors like:

lirc_wb677: disagrees about version of symbol lirc_register_driver
lirc_wb677: Unknown symbol lirc_register_driver

To solve this problem I created an updated source-deb of the wb677 driver that does compile on 2.6.32-23 and newer kernels.
You can download it here .

How to use (as root or use sudo):

  1. remove and uninstalled all old modules and (source) packages for the lirc_wb677 module.
  2. download the updated driver dkms-source file
  3. apt-get install dkms
  4. apt-get install lirc-modules-source
  5. dpkg -i  ./lirc-nct677x-src-dkms_1.0.4-ubuntu10.04_all.deb[1]
  6. dkms add -m lirc-nct677x-src -v 1.0.4-ubuntu10.04
  7. dkms build -m lirc-nct677x-src -v 1.0.4-ubuntu10.04
  8. dkms install -m lirc-nct677x-src -v 1.0.4-ubuntu10.04

Make sure you use the default lirc_dev module that comes with the 2.6.32-23 kernel! Delete /lib/modules/2.6.32-23-generic/updates/dkms/lirc_dev.ko folder if it exists and run depmod -a.

To see if the new module loads run modprobe lirc_wb677 and check dmesg for errors.

Configure the lirc modules as outlined in the PDF provided by ASRock.

Update:

A compiled .ko module for the 2.6.32-24 kernel can be found here. Remove everything after the .ko and put the file here: /lib/modules/2.6.32-24-generic/updates/dkms/lirc_wb677.ko

Footnotes:

[Back to post] 1) You can safely ignore the warning generated by dpkg listed below. It must be due to do with my inferior packaging skills. Dpkg just needs to install the source code at the right location (/usr/src) and that bit works just fine.

Warning:
This package appears to be a binaries-only package
you will not be able to build against kernel 2.6.32-23-generic
since the package source was not provided

Posted on July 3, 2010 at 16:12 by alex · Permalink
In: linux · Tagged with: , ,

60 Responses

Subscribe to comments via RSS

  1. Written by Johan Samuelsson
    on 2010/12/02 at 22:15
    Permalink

    I did “depmod -a” and I got the (by now) classic modprobe error:
    “lirc_wb677: disagrees about version of symbol lirc_register_driver”
    “lirc_wb677: Unknown symbol lirc_register_driver”

    after doing:
    “sudo aptitude install linux-image-2.6.32-26-generic linux-headers-2.6.32-26 linux-headers-2.6.32-26-generic”

    My nvidia dkms dirvers does rebuild and still works but the remote just won’t play nice.

  2. Written by Johan Samuelsson
    on 2010/12/02 at 22:18
    Permalink

    WOOHOO!!

    I RE-installed the above 26-related stuff and now the remote finally works…

    Strange that it did not work the first time though… Let’s just hope it works with the next update 🙂

  3. Written by generator
    on 2010/12/03 at 00:26
    Permalink

    Thats great! Maybe you can post a quick guide for other people to follow?

  4. Written by Johan Samuelsson
    on 2010/12/03 at 12:45
    Permalink

    1. I purged every kernel but 23.
    2. I purged dkms, lirc and lirc-modules-source.
    3. I then followed this guide.
    4. I installed the asrock official 23-driver. (by now the remote worked after a reboot).
    5. I installed kernel 26 (sudo aptitude install linux-image-2.6.32-26-generic linux-headers-2.6.32-26 linux-headers-2.6.32-26-generic). The remote did not work after reboot, even after repeating depmod -a and modprobe commands mentioned in Alex guide above.
    6. I REinstalled kernel 26 and rebooted and the remote mysteriously started working. (sudo aptitude reinstall linux-image-2.6.32-26-generic linux-headers-2.6.32-26 linux-headers-2.6.32-26-generic)

    Note that I did NOT reinstall the asrock official drivers on kernel 26.

  5. Written by Mikael
    on 2010/12/12 at 13:01
    Permalink

    I would bear your children if the laws of nature allowed it!

    TY!!! I had given up several times after several days of trying at a time. This solved my problem!

    I followed your steps and then installed the lirc drivers from asrock and it’s now working with Ubuntu 10.04.

  6. Written by Olov
    on 2010/12/21 at 19:03
    Permalink

    After each kernel update I do the following, and it has worked for every update so far!. (Just did it on 2.6.32-27)

    1. Delete /lib/modules/2.6.32-2(X)-generic/updates/dkms/lirc_wb677.ko
    2. Step 5-8 above.
    3. Reboot

  7. Written by generator
    on 2011/02/06 at 22:22
    Permalink

    It doesn’t seem to be working anymore on the newest 10.04 kernel (2.6.32-28). Can anyone confirm this?

  8. Written by generator
    on 2011/02/06 at 22:44
    Permalink

    To be more specific: when running modprobe lirc_wb677 i get the following warnings:
    WARNING: /etc/modprobe.d/alsa-base.conf line 42: ignoring bad line starting with ‘sudo’
    WARNING: /etc/modprobe.d/alsa-base.conf line 43: ignoring bad line starting with ‘sudo’

  9. Written by generator
    on 2011/02/06 at 22:55
    Permalink

    Ok I managed to get it working again. Apparently it’s necessary for me the also run “lirc-nct677x-1.0.4-ubuntu10.04_kernel2.6.32-23.deb” again afterwards.

  10. Written by Johan
    on 2012/03/27 at 18:50
    Permalink

    Good news!
    I just made a clean install of XBMCbuntu Eden and the asrock remote seems to be working out of the box, as does the sound and NFS share access. The install itself was almost fully automatic.

    Finally! Now I’m almost comfortable recommending XBMCbuntu to my non-computer-nerd friends and family!

Subscribe to comments via RSS

Leave a Reply