Installing on FC6

Help
Anonymous
2007-08-01
2013-04-15
  • Anonymous - 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?

     
    • Anonymous - 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

       
      • Anonymous - 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...

         
    • Anonymous - 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

       
      • Anonymous - 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

         
        • Anonymous - 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!

           
          • Anonymous - 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

             
    • Anonymous - 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

       
      • Anonymous - 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?

         
        • Anonymous - 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.

           
          • Anonymous - 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.

             
          • Anonymous - 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...

             
            • Anonymous - 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.

               
              • Anonymous - 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]#

                 
                • Anonymous - 2007-08-03

                  Florian, did my make output come through?

                   
                  • Anonymous - 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.

                     
                    • Anonymous - 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...

                       
                      • Anonymous - 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.

                         
                      • Anonymous - 2007-08-04

                        Please rmmod lirc_mceusb2 before loading lirc_mod_mce.

                         
                        • Anonymous - 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.

                           

Log in to post a comment.