[mythtv-users] MCE remote doesn't work after hardware upgrade

Stephen Worthington stephen_agent at jsw.gen.nz
Thu Sep 18 04:09:59 UTC 2014


On Thu, 18 Sep 2014 09:01:57 +1000, you wrote:

>Hi All,
>
>As always, many thanks to all the mythtv devs and contributors for
>such a great piece of software...
>
>After purchasing a new myth box my Media Center Remote is no longer working.
>
>The system contains a Hauppauge WinTV Nova-TD dual tuner and Microsoft
>MCE remote, both of which worked on the previous hardware with
>Mythbuntu 14.04.  Unfortunately the old system is busted, so I can't
>go back and compare it to the old system (thus the reason for the new
>hardware).
>
>Running irw and pressing buttons on the remote results in the LED in
>the receiver lighting up as expected, but nothing is printed from irw.
>
>Running lircd in console mode shows irw connecting as a client when it
>is run, but no other output.  I can't see anything that looks
>obviously like an error below.
>
>Any suggestions?
>
>Thanks very much,
>Alistair
>
>
>$ sudo dmesg -T
>[Thu Sep 18 08:23:19 2014] usb 3-6: new full-speed USB device number 5
>using xhci_hcd
>[Thu Sep 18 08:23:19 2014] usb 3-6: New USB device found,
>idVendor=0471, idProduct=0815
>[Thu Sep 18 08:23:19 2014] usb 3-6: New USB device strings: Mfr=1,
>Product=2, SerialNumber=3
>[Thu Sep 18 08:23:19 2014] usb 3-6: Product: eHome Infrared Transceiver
>[Thu Sep 18 08:23:19 2014] usb 3-6: Manufacturer: Philips
>[Thu Sep 18 08:23:19 2014] usb 3-6: SerialNumber: PH00KPAV
>[Thu Sep 18 08:23:19 2014] Registered IR keymap rc-rc6-mce
>[Thu Sep 18 08:23:19 2014] input: Media Center Ed. eHome Infrared
>Remote Transceiver (0471:0815) as
>/devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6:1.0/rc/rc1/input17
>[Thu Sep 18 08:23:19 2014] rc1: Media Center Ed. eHome Infrared Remote
>Transceiver (0471:0815) as
>/devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6:1.0/rc/rc1
>[Thu Sep 18 08:23:19 2014] input: MCE IR Keyboard/Mouse (mceusb) as
>/devices/virtual/input/input18
>[Thu Sep 18 08:23:19 2014] rc rc1: lirc_dev: driver ir-lirc-codec
>(mceusb) registered at minor = 0
>[Thu Sep 18 08:23:19 2014] mceusb 3-6:1.0: Registered Philips eHome
>Infrared Transceiver with mce emulator interface version 1
>[Thu Sep 18 08:23:19 2014] mceusb 3-6:1.0: 2 tx ports (0x0 cabled) and
>2 rx sensors (0x0 active)
>
>
>$ tail -n 16 /var/log/syslog  # Previous line was 10 minutes earlier
>(before plugging in the receiver)
>Sep 18 08:23:19 myth kernel: [  859.029483] usb 3-6: new full-speed
>USB device number 5 using xhci_hcd
>Sep 18 08:23:19 myth kernel: [  859.047476] usb 3-6: New USB device
>found, idVendor=0471, idProduct=0815
>Sep 18 08:23:19 myth kernel: [  859.047485] usb 3-6: New USB device
>strings: Mfr=1, Product=2, SerialNumber=3
>Sep 18 08:23:19 myth kernel: [  859.047490] usb 3-6: Product: eHome
>Infrared Transceiver
>Sep 18 08:23:19 myth kernel: [  859.047493] usb 3-6: Manufacturer: Philips
>Sep 18 08:23:19 myth kernel: [  859.047497] usb 3-6: SerialNumber: PH00KPAV
>Sep 18 08:23:19 myth kernel: [  859.048893] Registered IR keymap rc-rc6-mce
>Sep 18 08:23:19 myth kernel: [  859.049048] input: Media Center Ed.
>eHome Infrared Remote Transceiver (0471:0815) as
>/devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6:1.0/rc/rc1/input17
>Sep 18 08:23:19 myth kernel: [  859.049192] rc1: Media Center Ed.
>eHome Infrared Remote Transceiver (0471:0815) as
>/devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6:1.0/rc/rc1
>Sep 18 08:23:19 myth kernel: [  859.049406] input: MCE IR
>Keyboard/Mouse (mceusb) as /devices/virtual/input/input18
>Sep 18 08:23:19 myth kernel: [  859.049820] rc rc1: lirc_dev: driver
>ir-lirc-codec (mceusb) registered at minor = 0
>Sep 18 08:23:19 myth kernel: [  859.225427] mceusb 3-6:1.0: Registered
>Philips eHome Infrared Transceiver with mce emulator interface version
>1
>Sep 18 08:23:19 myth kernel: [  859.225436] mceusb 3-6:1.0: 2 tx ports
>(0x0 cabled) and 2 rx sensors (0x0 active)
>Sep 18 08:23:19 myth mtp-probe: checking bus 3, device 5:
>"/sys/devices/pci0000:00/0000:00:14.0/usb3/3-6"
>Sep 18 08:23:19 myth mtp-probe: bus: 3, device: 5 was not an MTP device
>Sep 18 08:23:19 myth lircd-0.9.0[3013]: lircd(default) ready, using
>/run/lirc/lircd
>
>
>$ ls -lh /run/lirc
>total 4.0K
>srw-rw-rw- 1 root root 0 Sep 18 08:23 lircd
>-rw-r--r-- 1 root root 5 Sep 18 08:23 lircd.pid
>
>
>$ ls -lhR /sys/class/rc
>/sys/class/rc:
>total 0
>lrwxrwxrwx 1 root root 0 Sep 18 08:23 rc1 ->
>../../devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6:1.0/rc/rc1
>
>
>$ ls  /sys/class/rc/rc1
>device  input17  lirc0  power  protocols  subsystem  uevent
>
>
>$ cat /sys/class/rc/rc1/protocols
>rc-5 nec rc-6 jvc sony sanyo mce_kbd [lirc]
>
>
>$ ps -ef | grep lirc
>root      3013     1  0 08:23 ?        00:00:00 /usr/sbin/lircd
>--output=/run/lirc/lircd --device=/dev/lirc0
>alistair  3043  2555  0 08:29 pts/4    00:00:00 grep --color=auto lirc
>
>$ ls -l /dev/lirc0
>crw------- 1 root root 248, 0 Sep 18 08:32 /dev/lirc0

Since you have multiple remote controls, what is creating your
/dev/lirc0?  I have a very similar setup to yours (MCE remote,
Hauppauge Nova TC-500) but also two other tuners with remotes. Without
the proper udev rules, the remotes would switch around on boot.  This
is what I have in my /etc/udev/rules.d/10-local.rules:

# Hauppauge ("SMK Manufacturing, Inc. eHome Infrared Receiver") USB
MCE remote control IR receiver
SUBSYSTEM=="input", KERNEL=="event*", ATTRS{idVendor}=="0609",
ATTRS{idProduct}=="031d", SYMLINK+="lirc0"

# Hauppauge WinTV Nova TD-500 remote control IR receiver
SUBSYSTEM=="input", KERNEL=="event*", ATTRS{idVendor}=="2040",
ATTRS{idProduct}=="8400", SYMLINK+="lirc1"

# AverMedia AVerTV DVB-T Volar USB remote control IR receiver
SUBSYSTEM=="input", KERNEL=="event*", ATTRS{idVendor}=="07ca",
ATTRS{idProduct}=="b808", SYMLINK+="lirc2"

# TBS QBox 5922 USB remote control IR receiver
SUBSYSTEM=="input", KERNEL=="event*", ATTRS{idVendor}=="734c",
ATTRS{idProduct}=="5922", SYMLINK+="lirc3"

After that, try stopping lircd and running

  ir-keytable

to find which remote is which and then test with

  ir-keytable -t -s rc1

to see if the remote is working at that level.  Change the "-s rc1" to
whichever remote is your MCE one.

This is what I get from "ir-keytable":

Found /sys/class/rc/rc0/ (/dev/input/event12) with:
        Driver mceusb, table rc-rc6-mce
        Supported protocols: NEC RC-5 RC-6 JVC SONY LIRC other
        Enabled protocols: LIRC
        Name: Media Center Ed. eHome Infrared
        bus: 3, vendor/product: 0609:031d, version: 0x0000
        Repeat delay = 500 ms, repeat period = 125 ms
Found /sys/class/rc/rc1/ (/dev/input/event19) with:
        Driver (null), table rc-dib0700-rc5
        Supported protocols: NEC RC-5 RC-6
        Enabled protocols: RC-5
        Name: IR-receiver inside an USB DVB re
        bus: 3, vendor/product: 07ca:b808, version: 0x0200
        Repeat delay = 500 ms, repeat period = 125 ms
Found /sys/class/rc/rc2/ (/dev/input/event21) with:
        Driver dib0700, table rc-dib0700-rc5
        Supported protocols: NEC RC-5 RC-6
        Enabled protocols: RC-5
        Name: IR-receiver inside an USB DVB re
        bus: 3, vendor/product: 2040:8400, version: 0x0100
        Repeat delay = 500 ms, repeat period = 125 ms

and this is a sample from "ir-keytable -t -s rc0":

Testing events. Please, press CTRL-C to abort.
1411012700.579817: event type EV_MSC(0x04): scancode = 0x800f041e
1411012700.579817: event type EV_KEY(0x01) key_down: KEY_UP(0x0001)
1411012700.579817: event type EV_SYN(0x00).
^[[A1411012700.829599: event type EV_KEY(0x01) key_up: KEY_UP(0x0001)
1411012700.829599: event type EV_SYN(0x00).
1411012707.358519: event type EV_MSC(0x04): scancode = 0x800f0422
1411012707.358519: event type EV_KEY(0x01) key_down: KEY_OK(0x0001)
1411012707.358519: event type EV_SYN(0x00).
1411012707.609566: event type EV_KEY(0x01) key_up: KEY_OK(0x0001)
1411012707.609566: event type EV_SYN(0x00).
1411012712.620294: event type EV_MSC(0x04): scancode = 0x800f041f
1411012712.620294: event type EV_KEY(0x01) key_down: KEY_DOWN(0x0001)
1411012712.620294: event type EV_SYN(0x00).
1411012712.754417: event type EV_MSC(0x04): scancode = 0x800f041f
1411012712.754417: event type EV_SYN(0x00).
1411012713.005565: event type EV_KEY(0x01) key_up: KEY_DOWN(0x0001)
1411012713.005565: event type EV_SYN(0x00).
1411012719.449003: event type EV_MSC(0x04): scancode = 0x800f040d
1411012719.449003: event type EV_KEY(0x01) key_down: KEY_MEDIA(0x0001)
1411012719.449003: event type EV_SYN(0x00).
1411012719.581003: event type EV_MSC(0x04): scancode = 0x800f040d
1411012719.581003: event type EV_SYN(0x00).
1411012719.829566: event type EV_KEY(0x01) key_up: KEY_MEDIA(0x0001)
1411012719.829566: event type EV_SYN(0x00).
^C

I also have an as yet undiagnosed problem since I upgraded from 12.04
to 14.04.1 where the /etc/init.d/lirc script is unable to use the echo
command to set the protocols in /sys/class/rc/*.  You do not appear to
have that problem as your "cat /sys/class/rc/rc1/protocols" output is
showing the lirc protocol selected correctly.  I had to add this:

  ir-keytable -s rc0 -p LIRC &

to /etc/rc.local as a workaround for my problem.


More information about the mythtv-users mailing list