Installing on FC6

Help
2007-08-01
2013-04-15
  • Trey Thompson
    Trey Thompson
    2007-08-01

    Hi, I'm trying to install lirc_mod_mce on FC6.  I used to use lirc_mceusb2 so that I could use my Microsoft RC6 remote control with the Microsoft USB receiver.

    I am trying to use the Microsoft keyboard that goes along with it.
    This is what I've done:
    1.  I've compiled and installed lirc_mod_mce
    2.  I put the .ko file into /lib/modules/2.6.20-1.2962.fc6

    if I do 'lsmod | grep lirc', this is what I get:
    lirc_mod_mce           19972  0
    lirc_dev               16292  1 lirc_mod_mce

    if I do 'service lircd start', lircd starts.
    if I do an irw, lircd then stops/hangs.

    the only device listed is /dev/lircd, there isn't anything else.

    What do I do?

     
    • Florian Demski
      Florian Demski
      2007-08-01

      Hi Trey,

      can you please post your syslog entries (in most cases /var/log/messages) regarding this? Also please post the output of lsusb.

      Regards,

      Florian

       
      • Trey Thompson
        Trey Thompson
        2007-08-01

        Here is messages after rmmod and modprobe:

        Aug  1 18:38:01 mythtvbe kernel: usbcore: deregistering interface driver lirc_mod_mce
        Aug  1 18:38:06 mythtvbe kernel:
        Aug  1 18:38:06 mythtvbe kernel: lirc_mod_mce: Input driver for Microsoft MCE 2005 keyboard v0.1.3
        Aug  1 18:38:06 mythtvbe kernel: lirc_mod_mce: Florian Demski
        Aug  1 18:38:06 mythtvbe kernel: usb 2-1: reset full speed USB device using ohci_hcd and address 2
        Aug  1 18:38:06 mythtvbe kernel: lirc_dev: lirc_register_plugin: sample_rate: 0
        Aug  1 18:38:06 mythtvbe kernel: lirc_dev: lirc_register_plugin: no module owner registered
        Aug  1 18:38:06 mythtvbe kernel: lirc_mod_mce[2]: out of memory (code=9)
        Aug  1 18:38:06 mythtvbe kernel: lirc_mod_mce: probe of 2-1:1.0 failed with error -12
        Aug  1 18:38:06 mythtvbe kernel: usbcore: registered new interface driver lirc_mod_mce

        Then, here is messages after a "service lircd start" and then "irw":
        Aug  1 18:40:40 mythtvbe lircd-0.8.2[7356]: lircd(userspace) ready
        Aug  1 18:40:47 mythtvbe lircd-0.8.2[7356]: accepted new client on /dev/lircd
        Aug  1 18:40:47 mythtvbe lircd-0.8.2[7356]: could not get file information for /dev/lirc
        Aug  1 18:40:47 mythtvbe lircd-0.8.2[7356]: default_init(): No such file or directory
        Aug  1 18:40:47 mythtvbe lircd-0.8.2[7356]: caught signal

        It looks like, somehow, /dev/lirc isn't getting created with lircd starts...

         
    • Trey Thompson
      Trey Thompson
      2007-08-01

      <b>lsusb</b>
      Bus 001 Device 001: ID 0000:0000 
      Bus 003 Device 001: ID 0000:0000 
      Bus 002 Device 001: ID 0000:0000 
      Bus 002 Device 002: ID 0471:0815 Philips

      <b>/var/log/message</b>
      Aug  1 10:46:33 mythtvbe lircd-0.8.2[5867]: lircd(userspace) ready
      Aug  1 10:46:50 mythtvbe lircd-0.8.2[5867]: accepted new client on /dev/lircd
      Aug  1 10:46:50 mythtvbe lircd-0.8.2[5867]: could not get file information for /dev/lirc
      Aug  1 10:46:50 mythtvbe lircd-0.8.2[5867]: default_init(): No such file or directory
      Aug  1 10:46:50 mythtvbe lircd-0.8.2[5867]: caught signal

       
      • Florian Demski
        Florian Demski
        2007-08-01

        Hi Trey,

        there's nothing displayed when loading resp. unloading lirc_mod_mce (with modprobe, insmod resp. rmmod)?

        Seems like some device file is missing. Can you please do a 'ls -la /dev/lirc*'?

        Regards,

        Florian

         
        • Trey Thompson
          Trey Thompson
          2007-08-01

          [root@mythtvbe stream]# modprobe lirc_mod_mce
          [root@mythtvbe stream]#

          [root@mythtvbe stream]# ls -al /dev/lirc*
          srw-rw-rw- 1 root root 0 Aug  1 10:46 /dev/lircd

          I'm really not familiar enough with using insmod and rmmod, sorry!

           
          • Florian Demski
            Florian Demski
            2007-08-01

            Please follow this example:

            http://forums.fedoraforum.org/showthread.php?t=155383

            Especially the mknod part seems to be missing.

            Then please execute rmmod lirc_mod_mce if it is displayed in lsmod (this unloads the module) and load it again with modprobe lirc_mod_mce. After that you should get some entries in /var/log/messages.

            Regards,

            Florian

             
    • Florian Demski
      Florian Demski
      2007-08-01

      You are using lirc 0.8.2

      Please see here for a (temporary) solution:

      https://sourceforge.net/forum/forum.php?thread_id=1724953&forum_id=588333

       
      • Trey Thompson
        Trey Thompson
        2007-08-02

        I'm on kernel 2.6.20, and 0.8.1 says it's for 2.6.19.

        And, a make gives these errors:
        make[5]: *** [/root/lirc-0.8.1/drivers/lirc_mceusb2/lirc_mceusb2.o] Error 1
        make[4]: *** [_module_/root/lirc-0.8.1/drivers/lirc_mceusb2] Error 2
        make[4]: Leaving directory `/usr/src/kernels/2.6.20-1.2962.fc6-i686'
        make[3]: *** [lirc_mceusb2.o] Error 2
        make[3]: Leaving directory `/root/lirc-0.8.1/drivers/lirc_mceusb2'
        make[2]: *** [all-recursive] Error 1
        make[2]: Leaving directory `/root/lirc-0.8.1/drivers'
        make[1]: *** [all-recursive] Error 1
        make[1]: Leaving directory `/root/lirc-0.8.1'
        make: *** [all] Error 2

        Can I not use it?

         
        • Florian Demski
          Florian Demski
          2007-08-02

          I'm not really understanding what you are trying to do, but the 'real' error is somewhere above those messages you posted. This is basically where make received an error from for example gcc or ld and exists, but the 'real' error is caused by those tools mentioned and it's output is (just) above the output you posted.

           
          • Trey Thompson
            Trey Thompson
            2007-08-02

            Could it be this?

            test -e include/linux/autoconf.h -a -e include/config/auto.conf || (            \         echo;                                                           \         echo "  ERROR: Kernel configuration is invalid.";               \         echo "         include/linux/autoconf.h or include/config/auto.conf are missing.";      \         echo "         Run 'make oldconfig && make prepare' on kernel src to fix it.";  \         echo;                                                           \         /bin/false)

            After seeing that error, I went to /usr/src/kernels/2.6.20-1.2962.fc6-i686 and did the 'make oldconfig && make prepare', but when i try to make lirc, I still get the same thing.

             
          • Trey Thompson
            Trey Thompson
            2007-08-02

            Also, for this error:
            make -C /lib/modules/2.6.20-1.2962.fc6/build/ SUBDIRS=/root/lirc-0.8.1/drivers/lirc_mceusb2 modules \                 KBUILD_VERBOSE=1
            make[5]: Entering directory `/usr/src/kernels/2.6.20-1.2962.fc6-i686'
            test -e include/linux/autoconf.h -a -e include/config/auto.conf || (            \         echo;                                                           \         echo "  ERROR: Kernel configuration is invalid.";               \         echo "         include/linux/autoconf.h or include/config/auto.conf are missing.";      \         echo "         Run 'make oldconfig && make prepare' on kernel src to fix it.";  \         echo;                                                           \         /bin/false)

            I checked, and both the files exist...

             
            • Florian Demski
              Florian Demski
              2007-08-02

              This isn't the error either:

              test -e include/linux/autoconf.h -a -e include/config/auto.conf || ( \
              echo; \
              echo " ERROR: Kernel configuration is invalid."; \
              echo " include/linux/autoconf.h or include/config/auto.conf are missing."; \
              echo " Run 'make oldconfig && make prepare' on kernel src to fix it."; \
              echo; \
              /bin/false)

              That are just the commands that are to be executed, i.e. when test fails, the text after echo _would_ be output. If the text wasn't written to your console in this form:

              ERROR: Kernel configuration is invalid.
              include/linux/autoconf.h or include/config/auto.conf are missing.
              Run 'make oldconfig && make prepare' on kernel src to fix it.

              (without echo), this error did not cause make to fail.

              If possible, please post all the output of make.

              I'll go to sleep in a few minutes (it's nearly 3 am here), so don't expect an answer from me during the next few hours.

               
              • Trey Thompson
                Trey Thompson
                2007-08-02

                3AM, wow!  It's only 8:00 PM here.

                [root@mythtvbe lirc-0.8.1]# make
                make  all-recursive
                make[1]: Entering directory `/root/lirc-0.8.1'
                Making all in drivers
                make[2]: Entering directory `/root/lirc-0.8.1/drivers'
                Making all in lirc_dev
                make[3]: Entering directory `/root/lirc-0.8.1/drivers/lirc_dev'
                make[3]: Nothing to be done for `all'.
                make[3]: Leaving directory `/root/lirc-0.8.1/drivers/lirc_dev'
                Making all in lirc_mceusb2
                make[3]: Entering directory `/root/lirc-0.8.1/drivers/lirc_mceusb2'
                Makefile:8: **************************************************
                Makefile:8: *** Makefile trick not undone, trying to recover *
                Makefile:8: **************************************************
                mv Makefile.automake Makefile
                make all
                make[4]: Entering directory `/root/lirc-0.8.1/drivers/lirc_mceusb2'
                mv Makefile Makefile.automake
                cp ../Makefile.kernel Makefile
                make -C /lib/modules/2.6.20-1.2962.fc6/build/ SUBDIRS=/root/lirc-0.8.1/drivers/lirc_mceusb2 modules \                 KBUILD_VERBOSE=1
                make[5]: Entering directory `/usr/src/kernels/2.6.20-1.2962.fc6-i686'
                test -e include/linux/autoconf.h -a -e include/config/auto.conf || (            \         echo;                                                           \         echo "  ERROR: Kernel configuration is invalid.";               \         echo "         include/linux/autoconf.h or include/config/auto.conf are missing.";      \         echo "         Run 'make oldconfig && make prepare' on kernel src to fix it.";  \         echo;                                                           \         /bin/false)
                mkdir -p /root/lirc-0.8.1/drivers/lirc_mceusb2/.tmp_versions
                rm -f /root/lirc-0.8.1/drivers/lirc_mceusb2/.tmp_versions/*
                make -f scripts/Makefile.build obj=/root/lirc-0.8.1/drivers/lirc_mceusb2
                  gcc -m32 -Wp,-MD,/root/lirc-0.8.1/drivers/lirc_mceusb2/.lirc_mceusb2.o.d  -nostdinc -isystem /usr/lib/gcc/i386-redhat-linux/4.1.1/include -D__KERNEL__ -Iinclude  -include include/linux/autoconf.h  -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Wstrict-prototypes -Wundef -Werror-implicit-function-declaration -Os -pipe -msoft-float -mregparm=3 -mpreferred-stack-boundary=2  -march=i686 -mtune=generic -mtune=generic -ffreestanding -maccumulate-outgoing-args -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -Iinclude/asm-i386/mach-generic -Iinclude/asm-i386/mach-default -fomit-frame-pointer -g  -fno-stack-protector -Wdeclaration-after-statement -Wno-pointer-sign -DIRCTL_DEV_MAJOR=61 -DEXPORT_SYMTAB -DHAVE_CONFIG_H -I. -I. -I../.. -I/root/lirc-0.8.1/drivers/lirc_mceusb2/../.. -I/lib/modules/2.6.20-1.2962.fc6/build//include/ -I/lib/modules/2.6.20-1.2962.fc6/build//drivers/media/video/  -DMODULE -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(lirc_mceusb2)"  -D"KBUILD_MODNAME=KBUILD_STR(lirc_mceusb2)" -c -o /root/lirc-0.8.1/drivers/lirc_mceusb2/.tmp_lirc_mceusb2.o /root/lirc-0.8.1/drivers/lirc_mceusb2/lirc_mceusb2.c
                /root/lirc-0.8.1/drivers/lirc_mceusb2/lirc_mceusb2.c: In function ‘request_packet_async’:
                /root/lirc-0.8.1/drivers/lirc_mceusb2/lirc_mceusb2.c:237: warning: passing argument 6 of ‘usb_fill_int_urb’ from incompatible pointer type
                /root/lirc-0.8.1/drivers/lirc_mceusb2/lirc_mceusb2.c:245: warning: passing argument 6 of ‘usb_fill_int_urb’ from incompatible pointer type
                /root/lirc-0.8.1/drivers/lirc_mceusb2/lirc_mceusb2.c:266: error: ‘SLAB_ATOMIC’ undeclared (first use in this function)
                /root/lirc-0.8.1/drivers/lirc_mceusb2/lirc_mceusb2.c:266: error: (Each undeclared identifier is reported only once
                /root/lirc-0.8.1/drivers/lirc_mceusb2/lirc_mceusb2.c:266: error: for each function it appears in.)
                /root/lirc-0.8.1/drivers/lirc_mceusb2/lirc_mceusb2.c: In function ‘usb_remote_recv’:
                /root/lirc-0.8.1/drivers/lirc_mceusb2/lirc_mceusb2.c:469: error: ‘SLAB_ATOMIC’ undeclared (first use in this function)
                /root/lirc-0.8.1/drivers/lirc_mceusb2/lirc_mceusb2.c: In function ‘usb_remote_probe’:
                /root/lirc-0.8.1/drivers/lirc_mceusb2/lirc_mceusb2.c:705: error: ‘SLAB_ATOMIC’ undeclared (first use in this function)
                /root/lirc-0.8.1/drivers/lirc_mceusb2/lirc_mceusb2.c:783: warning: passing argument 6 of ‘usb_fill_int_urb’ from incompatible pointer type
                make[6]: *** [/root/lirc-0.8.1/drivers/lirc_mceusb2/lirc_mceusb2.o] Error 1
                make[5]: *** [_module_/root/lirc-0.8.1/drivers/lirc_mceusb2] Error 2
                make[5]: Leaving directory `/usr/src/kernels/2.6.20-1.2962.fc6-i686'
                make[4]: *** [lirc_mceusb2.o] Error 2
                make[4]: Leaving directory `/root/lirc-0.8.1/drivers/lirc_mceusb2'
                make[3]: *** [all] Error 2
                make[3]: Leaving directory `/root/lirc-0.8.1/drivers/lirc_mceusb2'
                make[2]: *** [all-recursive] Error 1
                make[2]: Leaving directory `/root/lirc-0.8.1/drivers'
                make[1]: *** [all-recursive] Error 1
                make[1]: Leaving directory `/root/lirc-0.8.1'
                make: *** [all] Error 2
                [root@mythtvbe lirc-0.8.1]#

                 
                • Trey Thompson
                  Trey Thompson
                  2007-08-03

                  Florian, did my make output come through?

                   
                  • Florian Demski
                    Florian Demski
                    2007-08-03

                    Yes. Unfortunately I have been quite busy because I have to prepare myself for working out of town starting next week.

                    The problem with SLAB_ATOMIC comes from lirc.

                    See here for a patch:
                    http://lists.pld-linux.org/mailman/pipermail/pld-cvs-commit/Week-of-Mon-20070219/144093.html

                    Or try to use lirc 0.82 and patch lirc_mod_mce the way described in the other thread.

                    I did not try this by myself so I cannot guarantee whether that works. Maybe I can peek into that this night.

                     
                    • Trey Thompson
                      Trey Thompson
                      2007-08-04

                      Thanks so much for all the help!

                      I've got 0.8.2 installed, and I copied the lirc_dev.h file the way the patch said.  Then I did a make on lirc_mod_mce.

                      Now, a lsmod | grep lirc shows:
                      [root@mythtvbe ~]# lsmod | grep lirc
                      lirc_mceusb2           14852  0
                      lirc_mod_mce           19972  0
                      lirc_dev               16292  2 lirc_mceusb2,lirc_mod_mce

                      The media/remote keys worked on the keyboard, like before, but still nothing else.

                      I did a rmmod and a modprobe on lirc_mod_mce, and nothing changes...

                       
                      • Trey Thompson
                        Trey Thompson
                        2007-08-04

                        Also, I saw the posts about lirc_mceusb2 blocking lirc_mod_mce, so I did a rmmod to remove it, restarted lircd, and there were no extra devices anymore in /dev.  So, still nothing.

                         
                      • Florian Demski
                        Florian Demski
                        2007-08-04

                        Please rmmod lirc_mceusb2 before loading lirc_mod_mce.

                         
                        • Trey Thompson
                          Trey Thompson
                          2007-08-04

                          Yes, I posted another update, sorry.  I did that, and there is only /dev/lircd, nothing else, and irw just returns to the command line.