[mythtv-users] Hauppauge grey remote with homemade serial IR receiver in MythTV 0.26 and Fedora 19

Stephen Worthington stephen_agent at jsw.gen.nz
Mon Aug 26 10:23:42 UTC 2013


On Mon, 26 Aug 2013 19:42:49 +1000, you wrote:

>On 26 August 2013 19:31, Stephen Worthington <stephen_agent at jsw.gen.nz> wrote:
>
>> I do not know too much about current Fedora versions, but I have
>> fought and won the battle with all my IR receivers in Mythbuntu, after
>> they all started to do strange things when the drivers were migrated
>> into the kernel.  So if the lirc_serial driver has been migrated into
>> the kernel, that is likely the cause of your problems too.
>>
>> I have a Hauppauge MCE remote on my personal MythTV box, using the IR
>> receiver that came with the Hauppauge PVR-500 card it came with.  On
>
>that's what I have to.. so may you can help
>
>udevadm info -a -p  $(udevadm info -q path -n /dev/lirc0):
>  looking at device
>'/devices/pci0000:00/0000:00:1c.7/0000:09:00.0/usb6/6-2/6-2:1.0/rc/rc0/lirc0':
>    KERNEL=="lirc0"
>    SUBSYSTEM=="lirc"
>    DRIVER==""
>
>  looking at parent device
>'/devices/pci0000:00/0000:00:1c.7/0000:09:00.0/usb6/6-2/6-2:1.0/rc/rc0':
>    KERNELS=="rc0"
>    SUBSYSTEMS=="rc"
>    DRIVERS==""
>    ATTRS{protocols}=="rc-5 nec rc-6 jvc sony mce_kbd [lirc]"
>
>  looking at parent device
>'/devices/pci0000:00/0000:00:1c.7/0000:09:00.0/usb6/6-2/6-2:1.0':
>    KERNELS=="6-2:1.0"
>    SUBSYSTEMS=="usb"
>    DRIVERS=="mceusb"
>    ATTRS{bInterfaceNumber}=="00"
>    ATTRS{bAlternateSetting}==" 0"
>    ATTRS{bNumEndpoints}=="02"
>    ATTRS{bInterfaceClass}=="ff"
>    ATTRS{bInterfaceSubClass}=="ff"
>    ATTRS{bInterfaceProtocol}=="ff"
>    ATTRS{supports_autosuspend}=="0"
>
>  looking at parent device
>'/devices/pci0000:00/0000:00:1c.7/0000:09:00.0/usb6/6-2':
>    KERNELS=="6-2"
>    SUBSYSTEMS=="usb"
>    DRIVERS=="usb"
>    ATTRS{configuration}==""
>    ATTRS{bNumInterfaces}==" 1"
>    ATTRS{bConfigurationValue}=="1"
>    ATTRS{bmAttributes}=="a0"
>    ATTRS{bMaxPower}=="100mA"
>    ATTRS{urbnum}=="24"
>    ATTRS{idVendor}=="1784"
>    ATTRS{idProduct}=="0001"
>    ATTRS{bcdDevice}=="0000"
>    ATTRS{bDeviceClass}=="00"
>    ATTRS{bDeviceSubClass}=="00"
>    ATTRS{bDeviceProtocol}=="00"
>    ATTRS{bNumConfigurations}=="1"
>    ATTRS{bMaxPacketSize0}=="16"
>    ATTRS{speed}=="12"
>    ATTRS{busnum}=="6"
>    ATTRS{devnum}=="3"
>    ATTRS{devpath}=="2"
>    ATTRS{version}==" 1.10"
>    ATTRS{maxchild}=="0"
>    ATTRS{quirks}=="0x0"
>    ATTRS{avoid_reset_quirk}=="0"
>    ATTRS{authorized}=="1"
>    ATTRS{manufacturer}=="Topseed"
>    ATTRS{product}=="eHome Infrared Transceiver"
>    ATTRS{serial}=="TS000oZX"
>
>  looking at parent device '/devices/pci0000:00/0000:00:1c.7/0000:09:00.0/usb6':
>    KERNELS=="usb6"
>    SUBSYSTEMS=="usb"
>    DRIVERS=="usb"
>    ATTRS{configuration}==""
>    ATTRS{bNumInterfaces}==" 1"
>    ATTRS{bConfigurationValue}=="1"
>    ATTRS{bmAttributes}=="e0"
>    ATTRS{bMaxPower}=="  0mA"
>    ATTRS{urbnum}=="28"
>    ATTRS{idVendor}=="1d6b"
>    ATTRS{idProduct}=="0002"
>    ATTRS{bcdDevice}=="0302"
>    ATTRS{bDeviceClass}=="09"
>    ATTRS{bDeviceSubClass}=="00"
>    ATTRS{bDeviceProtocol}=="01"
>    ATTRS{bNumConfigurations}=="1"
>    ATTRS{bMaxPacketSize0}=="64"
>    ATTRS{speed}=="480"
>    ATTRS{busnum}=="6"
>    ATTRS{devnum}=="1"
>    ATTRS{devpath}=="0"
>    ATTRS{version}==" 2.00"
>    ATTRS{maxchild}=="2"
>    ATTRS{quirks}=="0x0"
>    ATTRS{avoid_reset_quirk}=="0"
>    ATTRS{authorized}=="1"
>    ATTRS{manufacturer}=="Linux 3.2.0-51-generic xhci_hcd"
>    ATTRS{product}=="xHCI Host Controller"
>    ATTRS{serial}=="0000:09:00.0"
>    ATTRS{authorized_default}=="1"
>
>  looking at parent device '/devices/pci0000:00/0000:00:1c.7/0000:09:00.0':
>    KERNELS=="0000:09:00.0"
>    SUBSYSTEMS=="pci"
>    DRIVERS=="xhci_hcd"
>    ATTRS{vendor}=="0x1b21"
>    ATTRS{device}=="0x1042"
>    ATTRS{subsystem_vendor}=="0x1043"
>    ATTRS{subsystem_device}=="0x8488"
>    ATTRS{class}=="0x0c0330"
>    ATTRS{irq}=="19"
>    ATTRS{local_cpus}=="00000000,00000000,00000000,00000000,00000000,00000000,00000000,0000000f"
>    ATTRS{local_cpulist}=="0-3"
>    ATTRS{numa_node}=="-1"
>    ATTRS{dma_mask_bits}=="32"
>    ATTRS{consistent_dma_mask_bits}=="32"
>    ATTRS{broken_parity_status}=="0"
>    ATTRS{msi_bus}==""
>
>  looking at parent device '/devices/pci0000:00/0000:00:1c.7':
>    KERNELS=="0000:00:1c.7"
>    SUBSYSTEMS=="pci"
>    DRIVERS=="pcieport"
>    ATTRS{vendor}=="0x8086"
>    ATTRS{device}=="0x1c1e"
>    ATTRS{subsystem_vendor}=="0x1043"
>    ATTRS{subsystem_device}=="0x844d"
>    ATTRS{class}=="0x060400"
>    ATTRS{irq}=="46"
>    ATTRS{local_cpus}=="00000000,00000000,00000000,00000000,00000000,00000000,00000000,0000000f"
>    ATTRS{local_cpulist}=="0-3"
>    ATTRS{numa_node}=="-1"
>    ATTRS{dma_mask_bits}=="32"
>    ATTRS{consistent_dma_mask_bits}=="32"
>    ATTRS{broken_parity_status}=="0"
>    ATTRS{msi_bus}=="1"
>
>  looking at parent device '/devices/pci0000:00':
>    KERNELS=="pci0000:00"
>    SUBSYSTEMS==""
>    DRIVERS==""

My udevadm output is very similar to yours.  Obviously, it has
different address data, and my IR receiver is an SKM version, where
yours is a Topspeed.  And you are using a later kernel and xhci driver
for the USB port - mine is using ohci.  But I could not see any
significant difference.

>extract from /etc/lirc/hardware.conf
>REMOTE="Windows Media Center Transceivers/Remotes (all)"
>REMOTE_MODULES="lirc_dev mceusb"
>REMOTE_DRIVER=""
>REMOTE_DEVICE="/dev/lirc0"
>REMOTE_LIRCD_CONF="mceusb/lircd.conf.mceusb"
>REMOTE_LIRCD_ARGS=""

That is identical to mine.

>
>When I got it to work a few months ago, the key was having X11 ignores
>the input.. So I have in /etc/xorg.conf:
>
>Section "InputClass"
>    Identifier "Remote"
>    MatchProduct "MCE IR Keyboard/Mouse (cx88xx)|MCE IR Keyboard/Mouse
>(mceusb)|Media Center Ed. eHome Infrared Remote Transceiver
>(1784:0001)|IR-receiver inside an USB DVB receiver|cx88 IR (digitalnow
>DNTV Live! "
>    Option "Ignore" "on"
>EndSection

I have never had a problem with X grabbing the remote, so I do not
have anything like that.

>$$ dmesg | grep MCE
>[    0.002580] mce: CPU supports 9 MCE banks
>[   10.055972] IR MCE Keyboard/mouse protocol handler initialized
>[   10.121885] input: MCE IR Keyboard/Mouse (mceusb) as
>/devices/virtual/input/input6

This is my dmesg | grep MCE output:

[    0.007313] mce: CPU supports 7 MCE banks
[   20.418654] MCE: In-kernel MCE decoding enabled.
[   20.467542] input: MCE IR Keyboard/Mouse (mceusb) as
/devices/virtual/input/input5
[   20.468161] IR MCE Keyboard/mouse protocol handler initialized

That is a little different - my dmesg output is explicit that the MCE
driver is in the kernel, and you are not getting that message.  But
that may just be that you are using a later kernel that no longer
produces that message.

>I have a udev rules to make sure lirc is always on the same device (at
>the time I had a DVB adapter with an infrared interface, so it wasn't
>always /dev/lirc0, sometimes it was /dev/lirc1)
>
>KERNEL=="lirc[0-9]*", SUBSYSTEM=="lirc", SUBSYSTEMS=="usb",
>ATTRS{product}=="eHome Infrared Transceiver", SYMLINK+="mceremote"

That rule is different - it will make a /dev/mceremote device, not a
/dev/lirc0 device.  So your remote was previously appearing as
/dev/lirc0 on its own without help from the udev rule, and now it is
probably not doing that.  Try either changing hardware.conf to:

  REMOTE_DEVICE="/dev/mceremote"

or changing the udev rule to SYMLINK+="lirc0".

>So if you have advice on how to get it working again, I'm all ears

Make sure that ir-keytable works with the remote - that is the lowest
level of debug you need to do to make sure the kernel driver is
working and you have the right device.  This is what I get from a bare
ir-keytable command:

Found /sys/class/rc/rc0/ (/dev/input/event4) with:
        Driver mceusb, table rc-rc6-mce
        Supported protocols: NEC RC-5 RC-6 JVC SONY LIRC other
        Enabled protocols: LIRC
        Repeat delay = 500 ms, repeat period = 125 ms
Found /sys/class/rc/rc1/ (/dev/input/event19) with:
        Driver dib0700, table rc-dib0700-rc5
        Supported protocols: NEC RC-5 RC-6
        Enabled protocols: RC-5
        Repeat delay = 500 ms, repeat period = 125 ms
Found /sys/class/rc/rc2/ (/dev/input/event20) with:
        Driver dib0700, table rc-dib0700-rc5
        Supported protocols: NEC RC-5 RC-6
        Enabled protocols: RC-5
        Repeat delay = 500 ms, repeat period = 125 ms
Found /sys/class/rc/rc3/ (/dev/input/event22) with:
        Driver (null), table rc-dib0700-rc5
        Supported protocols: NEC RC-5 RC-6
        Enabled protocols: RC-5
        Repeat delay = 500 ms, repeat period = 125 ms

The top listing is the MCE remote - the others are the IR receivers on
my various USB tuners, which I do not use and have not configured.


More information about the mythtv-users mailing list