Hauppauge Quad IR Rcvr not appearing

Have a MythTV related problem? Ask for help from other MythTV users here.

Moderator: Forum Moderators

pal72
Newcomer
Posts: 11
Joined: Sat Aug 06, 2022 1:27 am
Australia

Hauppauge Quad IR Rcvr not appearing

Post by pal72 »

Hauppauge Quad DVB card successfully working in Fedora 35. I'm now working on controlling Mythtv with the supplied remote and the IR receiver. Based on earlier posts and Googling, previous Hauppauge cards have the IR receiver appearing as an i2c device.

Has anyone succeeded in getting this device to work? Does IR require driver support, which maybe hasn't been coded?
Peter

These are my i2c devices:

i2cdetect -l
i2c-0 i2c nvkm-0000:01:00.0-bus-0000 I2C adapter
i2c-1 i2c nvkm-0000:01:00.0-bus-0001 I2C adapter
i2c-2 i2c nvkm-0000:01:00.0-bus-0002 I2C adapter
i2c-3 i2c nvkm-0000:01:00.0-bus-0005 I2C adapter
i2c-4 i2c nvkm-0000:01:00.0-bus-0006 I2C adapter
i2c-5 i2c nvkm-0000:01:00.0-bus-0007 I2C adapter
i2c-6 i2c nvkm-0000:01:00.0-bus-0008 I2C adapter
i2c-7 i2c nvkm-0000:01:00.0-bus-0009 I2C adapter
i2c-8 i2c nvkm-0000:01:00.0-aux-000a I2C adapter
i2c-9 i2c nvkm-0000:01:00.0-aux-000b I2C adapter
i2c-10 i2c nvkm-0000:01:00.0-aux-000c I2C adapter
i2c-11 i2c nvkm-0000:01:00.0-aux-000d I2C adapter
i2c-12 smbus SMBus PIIX4 adapter port 0 at 0b00 SMBus adapter
i2c-13 smbus SMBus PIIX4 adapter port 2 at 0b00 SMBus adapter
i2c-14 smbus SMBus PIIX4 adapter port 3 at 0b00 SMBus adapter
i2c-15 smbus SMBus PIIX4 adapter port 4 at 0b00 SMBus adapter
i2c-16 smbus SMBus PIIX4 adapter port 1 at 0b20 SMBus adapter
i2c-17 i2c cx23885[0] I2C adapter
i2c-18 i2c cx23885[0] I2C adapter
i2c-19 i2c cx23885[0] I2C adapter
i2c-20 i2c i2c-17-mux (chan_id 0) I2C adapter
i2c-21 i2c i2c-17-mux (chan_id 0) I2C adapter
i2c-22 i2c cx23885[1] I2C adapter
i2c-23 i2c cx23885[1] I2C adapter
i2c-24 i2c cx23885[1] I2C adapter
i2c-25 i2c i2c-22-mux (chan_id 0) I2C adapter
i2c-26 i2c i2c-22-mux (chan_id 0) I2C adapter

A list of input devices has nothing that resembles an IR device or keyboard input (The A4TECH is a physical keyboard and mouse).
[root@localhost peter]# cat /proc/bus/input/devices |grep N:
N: Name="Power Button"
N: Name="Power Button"
S: Sysfs=/devices/LNXSYSTM:00/LNXPWRBN:00/input/input1
N: Name="A4TECH USB Device Keyboard"
N: Name="A4TECH USB Device"
N: Name="A4TECH USB Device"
N: Name="PC Speaker"
N: Name="HDA NVidia HDMI/DP,pcm=3"
N: Name="HDA NVidia HDMI/DP,pcm=7"
N: Name="HDA NVidia HDMI/DP,pcm=8"
N: Name="HDA NVidia HDMI/DP,pcm=9"
N: Name="HDA ATI SB Front Mic"
N: Name="HDA ATI SB Rear Mic"
N: Name="HDA ATI SB Line"
N: Name="HDA ATI SB Line Out Front"
N: Name="HDA ATI SB Line Out Surround"
N: Name="HDA ATI SB Line Out CLFE"
N: Name="HDA ATI SB Line Out Side"
N: Name="HDA ATI SB Front Headphone"
User avatar
paulh
Developer
Posts: 909
Joined: Thu Feb 06, 2014 6:09 pm
Great Britain

Re: Hauppauge Quad IR Rcvr not appearing

Post by paulh »

I would start by installing package ir-keytable and see if it shows up in that.
rg4myth
Junior
Posts: 16
Joined: Sat Sep 17, 2022 8:09 pm
United States of America

Re: Hauppauge Quad IR Rcvr not appearing

Post by rg4myth »

Hello Peter,

The default kernel module lack the proper configuration to work on the Hauppauge Quad-HD and Quad-DVB. I've been working on a kernel module update to solve this, and that is working well on my system. (I built a script that downloads the kernel source whenever a new kernel has been installed, patches the drivers/media/pci/cx2388 module, and updates that module with the recompiled version.)

I haven't published it yet, because the changes don't match what's known about the hardware (I talked to one of the original developers), with one of the clocks being off by a factor 2. It is possible that the fix needs to be made more card specific as to not affect others, but for the Quad it works. I have a QuadHD-ATSC myself, but put the changes are in place for both the QuadHD-ATSC and the QuadHD-DVB, so they should work for your card as well.

I'd be happy to share my changes if you're interested in giving this a try, either as just the cx23885.ko.xz module for your specific kernel (quick & easy) or by sending you the script that patches and builds the kernel module (also based on Fedora 35).

For the curious of mind, this is the patch:

Code: Select all

--- drivers/media/pci/cx23885/cx23885-cards_org.c       2021-11-12 06:02:57.000000000 -0800
+++ drivers/media/pci/cx23885/cx23885-cards.c   2021-11-20 19:15:45.836268855 -0800
@@ -1972,10 +1972,14 @@
        case CX23885_BOARD_HAUPPAUGE_HVR1255:
        case CX23885_BOARD_HAUPPAUGE_HVR1255_22111:
        case CX23885_BOARD_HAUPPAUGE_HVR1210:
-       case CX23885_BOARD_HAUPPAUGE_QUADHD_DVB:
-       case CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC:
                /* FIXME: Implement me */
                break;
+       case CX23885_BOARD_HAUPPAUGE_QUADHD_DVB:
+       case CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC:
+               /* IR port only connected to device 0 */
+               if (dev->nr > 0)
+                       break;
+               fallthrough;
        case CX23885_BOARD_HAUPPAUGE_HVR1270:
                ret = cx23888_ir_probe(dev);
                if (ret)
@@ -2052,6 +2056,8 @@
        case CX23885_BOARD_HAUPPAUGE_HVR1270:
        case CX23885_BOARD_HAUPPAUGE_HVR1850:
        case CX23885_BOARD_HAUPPAUGE_HVR1290:
+       case CX23885_BOARD_HAUPPAUGE_QUADHD_DVB:
+       case CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC:
                cx23885_irq_remove(dev, PCI_MSK_IR);
                cx23888_ir_remove(dev);
                dev->sd_ir = NULL;
@@ -2107,6 +2113,8 @@
        case CX23885_BOARD_HAUPPAUGE_HVR1270:
        case CX23885_BOARD_HAUPPAUGE_HVR1850:
        case CX23885_BOARD_HAUPPAUGE_HVR1290:
+       case CX23885_BOARD_HAUPPAUGE_QUADHD_DVB:
+       case CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC:
                if (dev->sd_ir)
                        cx23885_irq_add_enable(dev, PCI_MSK_IR);
                break;
--- drivers/media/pci/cx23885/cx23888-ir_org.c  2021-11-12 06:02:57.000000000 -0800
+++ drivers/media/pci/cx23885/cx23888-ir.c      2021-11-20 12:29:47.146142681 -0800
@@ -98,7 +98,7 @@
 #define CX23888_IR_LEARN_REG   0x170044

 #define CX23888_VIDCLK_FREQ    108000000 /* 108 MHz, BT.656 */
-#define CX23888_IR_REFCLK_FREQ (CX23888_VIDCLK_FREQ / 2)
+#define CX23888_IR_REFCLK_FREQ (CX23888_VIDCLK_FREQ / 4)

 /*
  * We use this union internally for convenience, but callers to tx_write
--- drivers/media/pci/cx23885/cx23885-input_org.c       2021-11-12 06:02:57.000000000 -0800
+++ drivers/media/pci/cx23885/cx23885-input.c   2021-11-20 12:29:47.146142681 -0800
@@ -86,6 +86,8 @@
        case CX23885_BOARD_DVBSKY_S952:
        case CX23885_BOARD_DVBSKY_T982:
        case CX23885_BOARD_HAUPPAUGE_HVR1265_K4:
+       case CX23885_BOARD_HAUPPAUGE_QUADHD_DVB:
+       case CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC:
                /*
                 * The only boards we handle right now.  However other boards
                 * using the CX2388x integrated IR controller should be similar
@@ -146,6 +148,8 @@
        case CX23885_BOARD_DVBSKY_S952:
        case CX23885_BOARD_DVBSKY_T982:
        case CX23885_BOARD_HAUPPAUGE_HVR1265_K4:
+       case CX23885_BOARD_HAUPPAUGE_QUADHD_DVB:
+       case CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC:
                /*
                 * The IR controller on this board only returns pulse widths.
                 * Any other mode setting will fail to set up the device.
@@ -277,6 +281,8 @@
        case CX23885_BOARD_HAUPPAUGE_HVR1290:
        case CX23885_BOARD_HAUPPAUGE_HVR1250:
        case CX23885_BOARD_HAUPPAUGE_HVR1265_K4:
+       case CX23885_BOARD_HAUPPAUGE_QUADHD_DVB:
+       case CX23885_BOARD_HAUPPAUGE_QUADHD_ATSC:
                /* Integrated CX2388[58] IR controller */
                allowed_protos = RC_PROTO_BIT_ALL_IR_DECODER;
                /* The grey Hauppauge RC-5 remote */
Let me know if you're interested. If we can get enough people testing this, we might be able to get this added to the kernel so it works out of the box.

Kind regards,

- Richard.
pal72
Newcomer
Posts: 11
Joined: Sat Aug 06, 2022 1:27 am
Australia

Re: Hauppauge Quad IR Rcvr not appearing

Post by pal72 »

Hi Richard,
thanks for making contact. Yes, I would be interested in testing this out. I'll try the compiled cx module to start with.

For the module installation, I'd have to install it in one of the directories under ls /lib/modules/5.18.11-100.fc35.x86_64/kernel. It would require renaming the existing module to move it out of the way, followed by renaming the modified module, and then doing modprobe (or rebooting).

And you would advise me what commands I should run in order to confirm the presence of the IR device. And finally, I can try setting up and executing commands from the IR transmitter.

I'm currently using a cheap usb pc remote control (found on ebay) wireless device to send commands to mythtv. It all works fine except for trying to define a pause button. Having the Hauppauge remote would be much easier since the keys are clearly marked and relatable to mythtv.
Peter
rg4myth
Junior
Posts: 16
Joined: Sat Sep 17, 2022 8:09 pm
United States of America

Re: Hauppauge Quad IR Rcvr not appearing

Post by rg4myth »

pal72 wrote:
Mon Sep 19, 2022 7:05 am
thanks for making contact. Yes, I would be interested in testing this out. I'll try the compiled cx module to start with.
Hi Peter,

Apologies for the delay in my reply. Turns out my forum notification settings were not what I thought, so I didn't see your reply until today.

I put the modules for kernel 5.18.11 through 5.19.8 in a tar file that was uploaded to https://dutchies.us/media/cx23885.tar, each in a subdirectory with the version number of the kernel.

Extract the tar file (tar xf cx23885.tar) and, as you wrote, copy the cx23885.ko.xz file for the kernel you are currently running into the directory /lib/modules/KERNEL_VERSION/kernel/drivers/media/pci/cx23885 after renaming the cx23885.ko.xz file currently in there.

Rebooting is the easiest way to avoid module-in-use issues, but on my system I could reload the module by running:

Code: Select all

systemctl stop alsa-state mythbackend lircd
rmmod cx23885
modprobe cx23885
With the alternate module loaded, /var/log/message should contains something similar to:

... kernel: rc rc0: cx23885 IR (Hauppauge WinTV-QuadHD-ATSC) as /devices/pci0000:00/0000:00:01.3/0000:03:00.2/0000:20:07.0/0000:28:00.0/0000:29:01.0/0000:2a:00.0/rc/rc0
... kernel: rc rc0: lirc_dev: driver cx23885 registered at minor = 0, raw IR receiver, no transmitter

To test, disconnect your alternate IR receiver, then run the IR test application:

Code: Select all

ir-ctl --receive
(If you don't have this installed yet, run "dnf install v4l-util")

When you press buttons on the Hauppauge remote, this should display a series of numbers representing the duration of the IR pulses sent for that button. If this works, stop ir-ctl then run:

Code: Select all

systemctl start lircd
irw
Now press the buttons again and see if irw reports them by name. If you see that, your remote should be recognizable by MyhtTV. If you do not, please show the output of the ir-ctl command you ran previously.

Looking forward to hearing if/how this works for you.

With kind regards,

- Richard.
pal72
Newcomer
Posts: 11
Joined: Sat Aug 06, 2022 1:27 am
Australia

Re: Hauppauge Quad IR Rcvr not appearing

Post by pal72 »

Richard,
Results are below.

Kernel version: 5.18.11-100.fc35.x86_64

The messages in /var/log/messages appeared as:
dvbdev: DVB: registering new adapter (cx23885[0])
2022-09-28T16:06:07.486481+10:00 localhost kernel: cx23885 0000:07:00.0: DVB: registering adapter 1 frontend 0 (Silicon Labs Si2168)...
2022-09-28T16:06:07.488186+10:00 localhost kernel: cx23885: cx23885_dev_checkrevision() Hardware revision = 0xd0
2022-09-28T16:06:07.488392+10:00 localhost kernel: cx23885: cx23885[0]/0: found at 0000:07:00.0, rev: 4, irq: 18, latency: 0, mmio: 0xfe400000
2022-09-28T16:06:07.533089+10:00 localhost kernel: Registered IR keymap rc-hauppauge
2022-09-28T16:06:07.545655+10:00 localhost kernel: IR RC5(x/sz) protocol handler initialized
2022-09-28T16:06:07.568071+10:00 localhost kernel: rc rc0: cx23885 IR (Hauppauge WinTV-QuadHD-DVB) as /devices/pci0000:00/0000:00:15.1/0000:05:00.0/0000:06:01.0/0000:07:00.0/rc/rc0
2022-09-28T16:06:07.569010+10:00 localhost kernel: rc rc0: lirc_dev: driver cx23885 registered at minor = 0, raw IR receiver, no transmitter
2022-09-28T16:06:07.569725+10:00 localhost kernel: input: cx23885 IR (Hauppauge WinTV-QuadHD-DVB) as /devices/pci0000:00/0000:00:15.1/0000:05:00.0/0000:06:01.0/0000:07:00.0/rc/rc0/input20

And the device is recognised:
[root@localhost peter]# cat /proc/bus/input/devices |grep N:
N: Name="Power Button"
N: Name="Power Button"
S: Sysfs=/devices/LNXSYSTM:00/LNXPWRBN:00/input/input1
N: Name="HID 1d57:ad02 Keyboard"
N: Name="HID 1d57:ad02 Mouse"
N: Name="A4TECH USB Device Keyboard"
N: Name="A4TECH USB Device"
N: Name="A4TECH USB Device"
N: Name="PC Speaker"
N: Name="HDA NVidia HDMI/DP,pcm=3"
N: Name="HDA NVidia HDMI/DP,pcm=7"
N: Name="HDA NVidia HDMI/DP,pcm=8"
N: Name="HDA NVidia HDMI/DP,pcm=9"
N: Name="HDA ATI SB Front Mic"
N: Name="HDA ATI SB Rear Mic"
N: Name="HDA ATI SB Line"
N: Name="HDA ATI SB Line Out Front"
N: Name="HDA ATI SB Line Out Surround"
N: Name="HDA ATI SB Line Out CLFE"
N: Name="HDA ATI SB Line Out Side"
N: Name="HDA ATI SB Front Headphone"
N: Name="cx23885 IR (Hauppauge WinTV-QuadHD-DVB)"

/dev/lirc0 has appeared.

But neither ir-ctl nor irw worked. I checked the control - no battery! With the battery in, the control worked!

[root@localhost peter]# irw
0000000080010201 00 KEY_NUMERIC_1 devinput-32
0000000080010202 00 KEY_NUMERIC_2 devinput-32
0000000080010203 00 KEY_NUMERIC_3 devinput-32
0000000080010204 00 KEY_NUMERIC_4 devinput-32
0000000080010205 00 KEY_NUMERIC_5 devinput-32
0000000080010206 00 KEY_NUMERIC_6 devinput-32
0000000080010207 00 KEY_NUMERIC_7 devinput-32
0000000080010208 00 KEY_NUMERIC_8 devinput-32
0000000080010209 00 KEY_NUMERIC_9 devinput-32

Running it against mythtv front end. The left and right arrows worked when displaying the recordings. Pressing 'OK' did not start playback. When a recording playback was running (started with the enter key on the attached keyboard), none of the buttons did anything e.g. forward, fast forward.

Clearly, the patch in cx23885 is working as the device is identified and keystrokes do appear.

I think I should be setting up some mapping somewhere. Will look at that issue tomorrow.
Well done and many thanks Richard.

Peter
rg4myth
Junior
Posts: 16
Joined: Sat Sep 17, 2022 8:09 pm
United States of America

Re: Hauppauge Quad IR Rcvr not appearing

Post by rg4myth »

Hi Peter,

Gladly done! And once again my apologies for the late reply (still no notifications...)

I'm glad to hear the patch is working on your DVB card as well, as that means its now validated on both the ATSC and DVB variants. I'll need to reevaluate the code to see whether the fix is localized enough to not affect other cards ;-)

Let me know if you any help with the mapping process. On my machine I'm still using a ~/.lircrc file with lircd instead of native lirc support in MythTV, as that gives me a tad more flexibility (like a button that kills mythfrontend when the MythNews browser locks it up again). Maybe you can use both at the same time, but I haven't looked into that as the current solution is working well for me.

Let me know if you need my build-your-own-kmod code while we're trying to figure out how to make this part of the standard kernel. I'm happy to keep uploading the kmods themselves as well, as I need to build them anyway for my own machine.

Cheers,

- Richard.
User avatar
bill6502
Developer
Posts: 2307
Joined: Fri Feb 07, 2014 5:28 pm
United States of America

Re: Hauppauge Quad IR Rcvr not appearing

Post by bill6502 »

@rg4myth, I updated your Preferences setting: "Notify me upon replies by default" and sent
you a PM. Let's see if that helps. I was going to tell you to how to do it yourself, but you wouldn't
have seen this message ;).
pal72
Newcomer
Posts: 11
Joined: Sat Aug 06, 2022 1:27 am
Australia

Re: Hauppauge Quad IR Rcvr not appearing

Post by pal72 »

Richard,
Received your replies.
I haven't done any more work trying to sort out lirc settings. Currently busy on other things. Will let you know when I'm back on the case.
Peter
rg4myth
Junior
Posts: 16
Joined: Sat Sep 17, 2022 8:09 pm
United States of America

Re: Hauppauge Quad IR Rcvr not appearing

Post by rg4myth »

pal72 wrote:
Fri Oct 14, 2022 6:34 am
Richard,
Received your replies.
I haven't done any more work trying to sort out lirc settings. Currently busy on other things. Will let you know when I'm back on the case.
Peter
Hi Peter,

No worries. Thread notification still isn't working for some reason, despite Bill's kind efforts to fix them, but private message notifications works. So if you post a reply and I don't respond, please send me a PM ;-)

Thanks,

- Richard.
pal72
Newcomer
Posts: 11
Joined: Sat Aug 06, 2022 1:27 am
Australia

Re: Hauppauge Quad IR Rcvr not appearing

Post by pal72 »

Richard,
ok, will do.
While I was looking at why mythbackend started up this morning, but wasn't doing any recording, I found this:

[root@localhost peter]# systemctl status lircd.service
● lircd.service - Flexible IR remote input/output application support
Loaded: loaded (/usr/lib/systemd/system/lircd.service; enabled; vendor preset: disabled)
Active: active (running) since Sun 2022-10-16 10:15:29 AEDT; 1h 29min ago
Docs: man:lircd(8)
http://lirc.org/html/configure.html
Main PID: 765 (lircd)
Tasks: 2 (limit: 2153)
Memory: 996.0K
CPU: 31ms
CGroup: /system.slice/lircd.service
└─ 765 /usr/sbin/lircd --nodaemon

Oct 16 11:37:31 localhost.localdomain lircd[765]: lircd-0.10.0[765]: could not open uinput
Oct 16 11:37:31 localhost.localdomain lircd[765]: : No such file or directory
Oct 16 11:37:31 localhost.localdomain lircd[765]: lircd-0.10.0[765]: Info: removed client
Oct 16 11:37:31 localhost.localdomain lircd[765]: lircd-0.10.0[765]: Info: closing '/dev/input/event20'
Oct 16 11:37:31 localhost.localdomain lircd-0.10.0[765]: Notice: accepted new client on /var/run/lirc/lircd
Oct 16 11:37:31 localhost.localdomain lircd-0.10.0[765]: Info: initializing 'auto'
Oct 16 11:37:31 localhost.localdomain lircd-0.10.0[765]: Info: Using device: /dev/input/event20
Oct 16 11:37:31 localhost.localdomain lircd-0.10.0[765]: could not open uinput
: No such file or directory

What is /dev/input/event20? Is lircd looking for input on that /dev? event20 does exist but maybe doesn't link to the output coming from the DVB card. Permissions perhaps? crw-rw----. 1 root input 13, 84 Oct 16 10:15 /dev/input/event20

Peter
rg4myth
Junior
Posts: 16
Joined: Sat Sep 17, 2022 8:09 pm
United States of America

Re: Hauppauge Quad IR Rcvr not appearing

Post by rg4myth »

pal72 wrote:
Sun Oct 16, 2022 12:51 am
Oct 16 11:37:31 localhost.localdomain lircd-0.10.0[765]: Info: Using device: /dev/input/event20
Oct 16 11:37:31 localhost.localdomain lircd-0.10.0[765]: could not open uinput
: No such file or directory

What is /dev/input/event20? Is lircd looking for input on that /dev? event20 does exist but maybe doesn't link to the output coming from the DVB card. Permissions perhaps? crw-rw----. 1 root input 13, 84 Oct 16 10:15 /dev/input/event20
Hi Peter,

Apologies for the delay; this time it was just me (other things going on).

You can make the event mapping visible using the command "evtest", which is also a handy utility to test that the input is working. To just see the device mapping you can leave lircd running, but to test (by entering event number at the prompt) you'll have to stop that service first or you'll get "This device is grabbed by another process".

Example of a test run with me connecting to the Hauppuage IR reader and pressing UP, DOWN, LEFT, RIGHT:

Code: Select all

[root@opus ~]# systemctl stop lircd
[root@opus ~]# evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0:      Power Button
/dev/input/event1:      Power Button
/dev/input/event2:      AT Translated Set 2 keyboard
/dev/input/event3:      Logitech Trackball
/dev/input/event4:      HDA NVidia HDMI/DP,pcm=3
/dev/input/event5:      HDA NVidia HDMI/DP,pcm=7
/dev/input/event6:      HDA NVidia HDMI/DP,pcm=8
/dev/input/event7:      HDA NVidia HDMI/DP,pcm=9
/dev/input/event8:      HDA NVidia HDMI/DP,pcm=10
/dev/input/event9:      HD-Audio Generic Front Mic
/dev/input/event10:     HD-Audio Generic Rear Mic
/dev/input/event11:     HD-Audio Generic Line
/dev/input/event12:     HD-Audio Generic Line Out Front
/dev/input/event13:     HD-Audio Generic Line Out Surround
/dev/input/event14:     HD-Audio Generic Line Out CLFE
/dev/input/event15:     HD-Audio Generic Line Out Side
/dev/input/event16:     HD-Audio Generic Front Headphone
/dev/input/event17:     cx23885 IR (Hauppauge WinTV-QuadHD-ATSC)
Select the device event number [0-17]: 17
Input driver version is 1.0.1
Input device ID: bus 0x1 vendor 0x70 product 0x6a18 version 0x1
Input device name: "cx23885 IR (Hauppauge WinTV-QuadHD-ATSC)"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 28 (KEY_ENTER)
    Event code 102 (KEY_HOME)
    Event code 103 (KEY_UP)
    Event code 105 (KEY_LEFT)
    Event code 106 (KEY_RIGHT)
    Event code 108 (KEY_DOWN)
    Event code 113 (KEY_MUTE)
    Event code 114 (KEY_VOLUMEDOWN)
    Event code 115 (KEY_VOLUMEUP)
    Event code 116 (KEY_POWER)
    Event code 119 (KEY_PAUSE)
    Event code 128 (KEY_STOP)
    Event code 139 (KEY_MENU)
    Event code 142 (KEY_SLEEP)
    Event code 163 (KEY_NEXTSONG)
    Event code 165 (KEY_PREVIOUSSONG)
    Event code 167 (KEY_RECORD)
    Event code 168 (KEY_REWIND)
    Event code 174 (KEY_EXIT)
    Event code 207 (KEY_PLAY)
    Event code 208 (KEY_FASTFORWARD)
    Event code 212 (KEY_CAMERA)
    Event code 352 (KEY_OK)
    Event code 353 (KEY_SELECT)
    Event code 354 (KEY_GOTO)
    Event code 356 (KEY_POWER2)
    Event code 365 (KEY_EPG)
    Event code 370 (KEY_SUBTITLE)
    Event code 372 (KEY_ZOOM)
    Event code 377 (KEY_TV)
    Event code 385 (KEY_RADIO)
    Event code 388 (KEY_TEXT)
    Event code 392 (KEY_AUDIO)
    Event code 393 (KEY_VIDEO)
    Event code 398 (KEY_RED)
    Event code 399 (KEY_GREEN)
    Event code 400 (KEY_YELLOW)
    Event code 401 (KEY_BLUE)
    Event code 402 (KEY_CHANNELUP)
    Event code 403 (KEY_CHANNELDOWN)
    Event code 405 (KEY_LAST)
    Event code 407 (KEY_NEXT)
    Event code 412 (KEY_PREVIOUS)
    Event code 512 (KEY_NUMERIC_0)
    Event code 513 (KEY_NUMERIC_1)
    Event code 514 (KEY_NUMERIC_2)
    Event code 515 (KEY_NUMERIC_3)
    Event code 516 (KEY_NUMERIC_4)
    Event code 517 (KEY_NUMERIC_5)
    Event code 518 (KEY_NUMERIC_6)
    Event code 519 (KEY_NUMERIC_7)
    Event code 520 (KEY_NUMERIC_8)
    Event code 521 (KEY_NUMERIC_9)
  Event type 2 (EV_REL)
    Event code 0 (REL_X)
    Event code 1 (REL_Y)
  Event type 4 (EV_MSC)
    Event code 4 (MSC_SCAN)
Key repeat handling:
  Repeat type 20 (EV_REP)
    Repeat code 0 (REP_DELAY)
      Value    500
    Repeat code 1 (REP_PERIOD)
      Value    125
Properties:
  Property type 5 (INPUT_PROP_POINTING_STICK)
Testing ... (interrupt to exit)
Event: time 1666471152.199360, type 4 (EV_MSC), code 4 (MSC_SCAN), value 1e14
Event: time 1666471152.199360, type 1 (EV_KEY), code 103 (KEY_UP), value 1
Event: time 1666471152.199360, -------------- SYN_REPORT ------------
Event: time 1666471152.443209, type 1 (EV_KEY), code 103 (KEY_UP), value 0
Event: time 1666471152.443209, -------------- SYN_REPORT ------------
Event: time 1666471153.249998, type 4 (EV_MSC), code 4 (MSC_SCAN), value 1e15
Event: time 1666471153.249998, type 1 (EV_KEY), code 108 (KEY_DOWN), value 1
Event: time 1666471153.249998, -------------- SYN_REPORT ------------
Event: time 1666471153.491208, type 1 (EV_KEY), code 108 (KEY_DOWN), value 0
Event: time 1666471153.491208, -------------- SYN_REPORT ------------
Event: time 1666471154.264328, type 4 (EV_MSC), code 4 (MSC_SCAN), value 1e16
Event: time 1666471154.264328, type 1 (EV_KEY), code 105 (KEY_LEFT), value 1
Event: time 1666471154.264328, -------------- SYN_REPORT ------------
Event: time 1666471154.507201, type 1 (EV_KEY), code 105 (KEY_LEFT), value 0
Event: time 1666471154.507201, -------------- SYN_REPORT ------------
Event: time 1666471155.099589, type 4 (EV_MSC), code 4 (MSC_SCAN), value 1e17
Event: time 1666471155.099589, type 1 (EV_KEY), code 106 (KEY_RIGHT), value 1
Event: time 1666471155.099589, -------------- SYN_REPORT ------------
Event: time 1666471155.339208, type 1 (EV_KEY), code 106 (KEY_RIGHT), value 0
Event: time 1666471155.339208, -------------- SYN_REPORT ------------
On your system, I would expect event20 to be mapped to the Hauppauge QuadHD-DVB.

Regarding the "could not open uinput" error, can you show the contents of the file /etc/lirc/lirc_options.conf, as well as the output of "ls -l /dev/uninput"?

Thanks in advance,

- Richard.
pal72
Newcomer
Posts: 11
Joined: Sat Aug 06, 2022 1:27 am
Australia

Re: Hauppauge Quad IR Rcvr not appearing

Post by pal72 »

Richard,
yes, evtest showed the key codes coming in as expected, just like in your previous post.

Contents of /etc/lirc/lirc_options.conf

Code: Select all

[lircd]
nodaemon        = False
driver          = devinput
device          = auto
output          = /var/run/lirc/lircd
pidfile         = /var/run/lirc/lircd.pid
plugindir       = /usr/lib64/lirc/plugins
permission      = 666
allow-simulate  = No
repeat-max      = 600
effective-user  = lirc
#listen         = [address:]port
#connect        = host[:port]
#loglevel       = 6
#release        = true
#release_suffix = _EVUP
#logfile        = ...
#driver-options = ...

[lircmd]
uinput          = True
nodaemon        = False

# [modinit]
# code = /usr/sbin/modprobe lirc_serial
# code1 = /usr/bin/setfacl -m g:lirc:rw /dev/uinput
# code2 = ...


# [lircd-uinput]
# add-release-events = False
# release-timeout    = 200
# release-suffix     = _EVUP
[root@localhost peter]# ls -l /dev/uinput*
crw-------. 1 root root 10, 223 Oct 30 09:26 /dev/uinput

Peter
pal72
Newcomer
Posts: 11
Joined: Sat Aug 06, 2022 1:27 am
Australia

Re: Hauppauge Quad IR Rcvr not appearing

Post by pal72 »

Richard,
I'm not sure where to place .lircrc. I have this in /root (where some oldish website suggested I put it. But this config I think relates to the cheap usb remote that I put in.

Code: Select all

[root@localhost peter]# more /root/.lircrc 
#
# If the power button is pressed then start
# MythTV
#
begin
remote = mceusb
button = KEY_POWER
prog   = irexec
repeat = 3
config = restart_mythfrontend.sh
end

#
# If <esc> is pressed then use "xte" to send
# an excape character
#
begin
remote = mceusb
button = KEY_BACK
prog   = irexec
repeat = 3
config =  xte -x :0 'key Escape'
end

#
# if "Ok" is pressed then use "xte" send an <Enter>
# character.
#
begin
remote = mceusb
button = KEY_OK
prog   = irexec
repeat = 3
config =  xte -x :0 'key Enter'
end

#
# If the blue key, at the bottom of the remote is pressed then
begin
remote = mceusb
button = KEY_BLUE
prog   = irexec
repeat = 3
# Fedora 16
#config =  /usr/bin/shutdown_dlg.sh

# Fedora 14
config =  xte -x :0 'keydown Alt_L'; xte -x :0 'keydown Control_L';xte -x :0 'key Delete';xte -x :0 'keyup Control_L';xte -x :0 'keyup Alt_L'

end
And lsof re event20:

Code: Select all

[root@localhost peter]# lsof /dev/input/event20
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
      Output information may be incomplete.
COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
systemd-l  682 root   19u   CHR  13,84      0t0  648 /dev/input/event20
Xorg      1001 root   37u   CHR  13,84      0t0  648 /dev/input/event20
[root@localhost peter]# 
Peter
rg4myth
Junior
Posts: 16
Joined: Sat Sep 17, 2022 8:09 pm
United States of America

Re: Hauppauge Quad IR Rcvr not appearing

Post by rg4myth »

Hi Peter,
pal72 wrote:
Sat Oct 29, 2022 10:58 pm
Richard,
yes, evtest showed the key codes coming in as expected, just like in your previous post.

Contents of /etc/lirc/lirc_options.conf
...
There's only one difference between your lirc_options.conf and mine, but it looks significant in the context of the uinput error.

Yours:

uinput = True

Mine:

uinput = False

Maybe you need that option with your other remote? It looks like my file is the unmodified default, so maybe it's worth a shot to get rid of the error.
pal72 wrote:
Sun Oct 30, 2022 8:28 am
Richard,
I'm not sure where to place .lircrc. I have this in /root (where some oldish website suggested I put it. But this config I think relates to the cheap usb remote that I put in.

Code: Select all

[root@localhost peter]# more /root/.lircrc 
#
# If the power button is pressed then start
# MythTV
#
begin
remote = mceusb
button = KEY_POWER
prog   = irexec
repeat = 3
config = restart_mythfrontend.sh
end

...
I have .lircrc in the home directory of the user mythtv, which runs my frontend. For what it's worth, my file does not have the "remote =" references.

Excerpt:

Code: Select all

# Up
begin
        prog = irxevent
        button = KEY_UP
        repeat = 3
        config = Key Up CurrentWindow
end

# Channel Up
begin
        prog = irxevent
        button = KEY_CHANNELUP
        repeat = 3
        config = Key Up CurrentWindow
end

...
Like you I am running irxevent, which I've combined with irexec:

Code: Select all

# Launch irxevent. Include retries as lircd may not be running yet.
attempts=30
while [ $attempts -gt 0 ]
do
        /usr/bin/irxevent --daemon && {
                /usr/bin/irexec --daemon
                break
        }
        echo "irxevent failed to start"
        sleep 1
        attempts=`expr $attempts - 1`
done
Does this help?

Kind regarsd,

- Richard.
Post Reply