No response to ir-keytable

I have a MeCool M8S Pro+ (S905X) which has Coreelec (9.2.7, not ng) running without problems on microsd card. Recently I have tried getting the device running on Coreelec 19.1-Matrix_rc2.

Coreelec loads correctly with my chosen dtb and the HDMI-CEC even works. But I have a problem getting the OEM remote to work (which has worked previously with legacy Coreelec). Basically, when I have run the command “ir-keytable -p NEC,RC-5,RC-6,JVC,SONY -t” and pressed a remote button with the remote pointed to the device, no response is seen
IRTable_NoResponse

When I just run the command “ir-keytable”, the following response is seen.
IRTable_Output

Can someone please provide pointer to help me troubleshoot? I have also tried using my previous remote configuration file and making edits as per instructions from the thread on “How to configure IR remote control” - have renamed the file with a toml extension and made the edits to the cfg file.

Kodi stopped?

no log, no support

Apologies. I have attached a start up log (the remote and cfg files have been deleted). It shows the start up and also Kodi stopping, shortly followed by me running the ir-keytable -p… command
kodi.log (91.8 KB)

Is there any other logs, other than this which I can extract. I have turned on debug logging, but it seems to just show on screen debugging

when you need to stop kodi how helpful is kodi.log?

dmesg | paste after yo tried to run ir-keytable

OK. I first attach my SSH commands and response
IRTable_Output_1

As you can see, after stopping Kodi and eventlircd, I tried running the ir-keytable command twice. After running each ir-keytable command, I pointed my remote at the device and pressed a couple of buttons. The I ran CTRL-C to abort and ran dmesg | paste command. The subsequent file can be found at
http://ix.io/2WQe

Thanks

try

ir-keytable -u
ir-keytable -u -v

If there is still no output on console the IR transmitter/receiver is broken.

Here are the results after stopping kodi and eventlircd

After command ir-keytable -u, console shows:
/sys/class/rc/rc0//protocols: Invalid argument
Waiting for IRMP decode event. Please, press CTRL-C to abort.

After command ir-keytables -u -v, console shows:
Found device /sys/class/rc/rc1/
Found device /sys/class/rc/rc0/
Couldn’t find any node at /sys/class/rc/rc0/lirc*.
Input sysfs node is /sys/class/rc/rc0/input3/
Event sysfs node is /sys/class/rc/rc0/input3/event3/
Parsing uevent /sys/class/rc/rc0/input3/event3/uevent
/sys/class/rc/rc0/input3/event3/uevent uevent MAJOR=13
/sys/class/rc/rc0/input3/event3/uevent uevent MINOR=67
/sys/class/rc/rc0/input3/event3/uevent uevent DEVNAME=input/event3
Parsing uevent /sys/class/rc/rc0/uevent
/sys/class/rc/rc0/uevent uevent NAME=rc-dib0700-rc5
/sys/class/rc/rc0/uevent uevent DRV_NAME=dib0700
input device is /dev/input/event3
/sys/class/rc/rc0/protocols protocol rc-5 (enabled)
/sys/class/rc/rc0/protocols protocol nec (disabled)
/sys/class/rc/rc0/protocols protocol rc-6 (disabled)
Opening /dev/input/event3
Input Protocol version: 0x00010001
/sys/class/rc/rc0//protocols: Invalid argument
Waiting for IRMP decode event. Please, press CTRL-C to abort.

And just because I dont know whether it helps, the results from dmesg | paste are here
http://ix.io/2WQp

The remote does work when using legacy 9.2.7, so I think it is unlikely hardware related. And I have been switching between booting from legacy and booting from v19 tonight

It is interesting that the nec protocol is disabled, because my remote appear to use that

you have something strange on your device.
Make a complete clean install with Matrix and try just after first boot again.
All receivers are disabled, only RC5 is enabled. So when your remote is not RC5 it will not decode anything.

This is a clean install. I had to setup using a mouse because the remote was not working. Maybe I will repeat the clean install and not connect the usb tuner before trying to set up the remote. I will also try it before setting the device up for regions etc

Happy to report that a clean re-install of the image successfully eliminated the issue. I have even stuck the USB tuner back on and device still booted into Coreelec. Now for the next step of getting device drivers for DTB tuner - that is for another day

One thing I did notice for my device. While the explanation for “How to configure IR remote control” stated that I had to add a toml extension for scan code file for Coreelec 19, I kept getting an error, until I just removed the toml extension and edited the cfg file accordingly

Thanks for the great help and hand holding

Can you explain more in detail what is wrong with instructions there? So it can be fixed for others.

Would you believe that I can’t duplicate the issue. :wink:

In the guide on how to configure IR remote control (How to configure IR remote control), the instruction is to stop Kodi and evenlircd. Then map the remote buttons to a file YOURMAPNAME. For CE19, the instruction was to use an extension like so - YOURMAPNAME.toml and place the following line into rc_maps.cfg - meson-ir * YOURMAPNAME.toml

Anyway I did that, and when I ran this command to load the configuration (ir-keytable -a /storage/.config/rc_maps.cfg -s rc0), I received an error on the console - that is the error I cannot duplicate. When I experimented with it, the only way that the command would run is to remove the toml extension for the file and also the corresponding line in the rc_maps.cfg file. And the remote will work as well.

So this morning, I thought to duplicate the issue by adding the toml extension to the file name and making corresponding changes to rc_maps.cfg file. This time, I could not get an error. If I remember, the error was about missing an = in the top line of YOURMAPNAME.

So I can’t provide a better explanation nor duplicate the issue now.

See below for continuation of saga with error code duplicated

OK. I managed to duplicate the issue. Whether it was because I was playing around with the extensions, or that I installed TVheadend/driver addons or my IR receiver is flaky, the remote stopped working and the same symptoms as above with all protocols showing disabled when I ran the ir-keytables -u -v command. So I decided to re-install and duplicated the issue on first setup.

The error message that popped up (with the toml extension) when I ran the “ir-keytable -a /storage/.config/rc_maps.cfg -s rc0” command was

/etc/rc_keymaps/M8SProPlus.toml: error: line 2: missing =
Segmentation fault

When I removed the toml extension from the filename and cfg file, it was OK and the remote works. You can see the sequence in the attached console output

IRTableErrorCode_Fixed

So people who get the same error code, please try without the toml extension. I am now running it without the toml extension

For information purposes, I attach below the MSProPlus file. The hash symbol in the first line is not in brackets in the actual file. Just that the hash without the brackets translate to bold

# table M8SProPlus, type: NEC

0x59 KEY_POWER

0x08 KEY_PREVIOUSSONG
0x0b KEY_NEXTSONG

0x18 KEY_TEXT
0x19 KEY_MUTE

0x13 KEY_VOLUMEUP
0x17 KEY_VOLUMEDOWN

0x0d KEY_HOME
0x05 KEY_BACK

0x06 KEY_UP
0x5a KEY_LEFT
0x1b KEY_RIGHT
0x1a KEY_ENTER
0x16 KEY_DOWN

0x45 KEY_MENU
0x12 KEY_CONTEXT_MENU # KEY_MOUSE is more correct, yet not so useful

0x52 KEY_1
0x50 KEY_2
0x10 KEY_3
0x56 KEY_4
0x54 KEY_5
0x14 KEY_6
0x4e KEY_7
0x4c KEY_8
0x0c KEY_9
0x0f KEY_0

0x22 KEY_INFO
0x51 KEY_ESC

You are using “old” format for the keymaps file

# table mecool, type: NEC
0x52 KEY_1

and the new format with toml extension starts with

[[protocols]]
name = "mecool"
protocol = "nec"
[protocols.scancodes]

Didn’t even know old format is still supported on CE19.

So the problem you had is mixing different formats and the ir-keytable program didn’t understand it.

Ah, I did not even realise that. The link from the guide (How to configure IR remote control) to an example of a configuration file is what I used as a base. I am blind - the article does show a link to a file with toml extension for the new CE19.

I also checked some of the remotes from pinned thread of Repository for AmRemote and Meson IR Remote Controllers (Repository for AmRemote & Meson IR Remote Controllers) and the keymap files were the same.

No excuses for being sloppy. Thanks for the pointer

It is linked in the thread: https://raw.githubusercontent.com/CoreELEC/CoreELEC/coreelec-19/packages/sysutils/v4l-utils/keymaps/mecool.toml

Yes I just realised that the link is there. My apologies. I am both sloppy and blind :slight_smile:

No wonder the error complained about a missing = sign

OK. I am now confused. After realising that I have been using the wrong format for the remote configuration file, I attempted to correct this. So I have created a new configuration file with a toml extension. My next step was to stop kodi followed by eventlircd. I then ran the ir-keytable -u -v command in console and got the following response, which shows that again the protocols were disabled (similar to my previous attempts)

CoreELEC:~ # ir-keytable -u -v
Found device /sys/class/rc/rc1/
Found device /sys/class/rc/rc0/
Couldn't find any node at /sys/class/rc/rc0/lirc*.
Input sysfs node is /sys/class/rc/rc0/input3/
Event sysfs node is /sys/class/rc/rc0/input3/event3/
Parsing uevent /sys/class/rc/rc0/input3/event3/uevent
/sys/class/rc/rc0/input3/event3/uevent uevent MAJOR=13
/sys/class/rc/rc0/input3/event3/uevent uevent MINOR=67
/sys/class/rc/rc0/input3/event3/uevent uevent DEVNAME=input/event3
Parsing uevent /sys/class/rc/rc0/uevent
/sys/class/rc/rc0/uevent uevent NAME=rc-dib0700-rc5
/sys/class/rc/rc0/uevent uevent DRV_NAME=dib0700
input device is /dev/input/event3
/sys/class/rc/rc0/protocols protocol rc-5 (disabled)
/sys/class/rc/rc0/protocols protocol nec (disabled)
/sys/class/rc/rc0/protocols protocol sharp (disabled)
Opening /dev/input/event3
Input Protocol version: 0x00010001
/sys/class/rc/rc0//protocols: Invalid argument
Waiting for IRMP decode event. Please, press CTRL-C to abort.

I thought that I had to re-do the whole setup with a clean install again, and my IR receiver was definitely playing up. But as an of-chance, I restarted eventlircd followed by kodi. And the M8S Pro+ still responded to the OEM remote. So I am confused about the reason why the device is responding to the remote despite the protocols being disabled. Without stopping kodi and eventlircd, I ran the ir-keytable -u -v command again and had the same results as previously showing the protocols being disabled. I am not complaining and am just happy my remote is working as it should. But I am curious and confused

No idea about protocols. If it works then everything is good :slight_smile:

But you wrote that you were using wrong format: that’s not true. It is possible to use old format file which must be without extension or new format file with toml extension.

This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.