Switching back from AMREMOTE to MESON-IR

OS Version is 19.1-Matrix_rc4 (Stable)
Hardware is an Abox A1 Max clone (gxl_p281_2g_a95xr2)

First and foremost, here is a copy of my log:

http://ix.io/3mmm

I guess this is the most pertinent part:

May 09 23:47:07 CoreELEC remote-config[4579]: using meson-ir
May 09 23:47:07 CoreELEC kernel: Registered IR keymap rc-empty
May 09 23:47:07 CoreELEC kernel: input: meson-ir as /devices/platform/c8100580.meson-ir/rc/rc0/input5
May 09 23:47:07 CoreELEC kernel: rc rc0: meson-ir as /devices/platform/c8100580.meson-ir/rc/rc0
May 09 23:47:07 CoreELEC kernel: meson-ir c8100580.meson-ir: AO_RTI_PIN_MUX : 0x109801
May 09 23:47:07 CoreELEC kernel: meson-ir c8100580.meson-ir: receiver initialized
May 09 23:47:07 CoreELEC kernel: lirc_dev: IR Remote Control driver registered, major 498
May 09 23:47:07 CoreELEC kernel: rc rc0: lirc_dev: driver ir-lirc-codec (meson-ir) registered at minor = 0
May 09 23:47:07 CoreELEC kernel: IR LIRC bridge handler initialized
May 09 23:47:07 CoreELEC smbd[4575]: [2021/05/09 23:47:07.791330, 0] …/…/source3/passdb/pdb_smbpasswd.c:248(startsmbfilepwent)
May 09 23:47:07 CoreELEC smbd[4575]: startsmbfilepwent_internal: file /run/samba/smbpasswd did not exist. File successfully created.
May 09 23:47:07 CoreELEC systemd[1]: remote-config.service: Succeeded.
May 09 23:47:07 CoreELEC systemd[1]: Finished IR remote control support.

The problem is that the remote does not work at all. It did work fine with AMREMOTE, but AMREMOTE does not work with repeat, no matter which setting is used.

I followed the guide here to a tee:
https://discourse.coreelec.org/t/how-to-configure-ir-remote-control/31

remote.conf was removed from .config as well as from the root of the SD card.

The a95x.toml file was placed correctly in the rc_keymaps subfolder. rc_maps.cfg makes proper reference to it on the last line with “meson-ir * a95x.toml”.

The codes are correct and verified.

I am attaching both files.
a95x.toml (836 Bytes)
rc_maps.cfg (765 Bytes)

Here is the output from ir-keytable:

Driver: meson-ir
Default keymap: rc-empty
Input device: /dev/input/event5
LIRC device: /dev/lirc0
Attached BPF protocols: Operation not supported
Supported kernel protocols: unknown other lirc rc-5 rc-5-sz jvc sony nec sanyo mce_kbd rc-6 sharp xmp cec irmp
Enabled kernel protocols: unknown lirc
Name: meson-ir
bus: 25, vendor/product: 0000:0000, version: 0x0000
Repeat delay = 500 ms, repeat period = 125 ms

Your help is greatly appreciated.

Sorry, but this is going to have to be an extrapolative solution.

I’m not going to try the SDIO UART board.

The remote works fine when Kodi and lirc are stopped per the guide’s instructions and this command is issued:

ir-keytable -p NEC,RC-5,RC-6,JVC,SONY -t

Here is the output of ir-keytable -u -v with Kodi running:

CoreELEC:~ #
Found device /sys/class/rc/rc0/
Parsing uevent /sys/class/rc/rc0/lirc0/uevent
/sys/class/rc/rc0/lirc0/uevent uevent MAJOR=498
/sys/class/rc/rc0/lirc0/uevent uevent MINOR=0
/sys/class/rc/rc0/lirc0/uevent uevent DEVNAME=lirc0
Input sysfs node is /sys/class/rc/rc0/input6/
Event sysfs node is /sys/class/rc/rc0/input6/event6/
Parsing uevent /sys/class/rc/rc0/input6/event6/uevent
/sys/class/rc/rc0/input6/event6/uevent uevent MAJOR=13
/sys/class/rc/rc0/input6/event6/uevent uevent MINOR=70
/sys/class/rc/rc0/input6/event6/uevent uevent DEVNAME=input/event6
Parsing uevent /sys/class/rc/rc0/uevent
/sys/class/rc/rc0/uevent uevent NAME=rc-empty
/sys/class/rc/rc0/uevent uevent DRV_NAME=meson-ir
input device is /dev/input/event6
/sys/class/rc/rc0/protocols protocol other (disabled)
/sys/class/rc/rc0/protocols protocol unknown (disabled)
/sys/class/rc/rc0/protocols protocol rc-5 (disabled)
/sys/class/rc/rc0/protocols protocol nec (enabled)
/sys/class/rc/rc0/protocols protocol rc-6 (disabled)
/sys/class/rc/rc0/protocols protocol jvc (disabled)
/sys/class/rc/rc0/protocols protocol sony (disabled)
/sys/class/rc/rc0/protocols protocol rc-5-sz (disabled)
/sys/class/rc/rc0/protocols protocol sanyo (disabled)
/sys/class/rc/rc0/protocols protocol sharp (disabled)
/sys/class/rc/rc0/protocols protocol mce_kbd (disabled)
/sys/class/rc/rc0/protocols protocol xmp (disabled)
/sys/class/rc/rc0/protocols protocol cec (disabled)
/sys/class/rc/rc0/protocols protocol irmp (disabled)
/sys/class/rc/rc0/protocols protocol lirc (enabled)
Opening /dev/input/event6
Input Protocol version: 0x00010001
Protocols changed to irmp
Waiting for IRMP decode event. Please, press CTRL-C to abort.

I can help you as much as I can, but I’m not going to be a developer for you. If I’m dissatisfied, I’ll abandon your distro and chuck this $20 Chinesium box in the bin.

The oddest thing happened…

I ran

ir-keytable -p NEC,RC-5,RC-6,JVC,SONY -t

while Kodi was running, and now the remote works. After CTRL+C, it still works.

Can someone explain that please?

EDIT: Odd, it’s working now after a power cycle as well… Coreelec developers - you need to iron out the bugs with meson-ir. Get rid of AMREMOTE which is an undocumented chimera and automate the meson-ir installation since you already provide default .TOML files in /usr/lib/udev/rc_keymaps/

Thanks

EDIT 2: ok, I can replicate this.

ir-keytable -u -v
BREAKS FUNCTIONALITY

ir-keytable -p NEC,RC-5,RC-6,JVC,SONY -t
FIXES FUNCTIONALITY

Don’t quite understand it.

Please explain step by step what you are doing to get into trouble. With clean install. In my knowledge there is no bugs with meson-ir or amremote. And there is no need for any command line usage. Maybe that’s why you have this issues. Copy or edit both files, reboot, enjoy.

And I prefer amremote because it is faster. If you don’t understand it it doesn’t mean it is bad.

With correct files everything just works. And reboot is needed after changing files to get into use - they are not used on the fly.

Automating is on todo list: to select remote type from the list on device itself. No messing with files. But this will take time.

And no one will cry after you with such attitude! Maybe 40$ box would work better :slight_smile:

And regarding SDIO UART board: it is not needed in your case. But you don’t want to read the rest of the post how to make a log.

Spare me your pedanticism and derisiveness. It’s working now and I no longer need you. It will get fixed when some faceless developer feels like it. And I shall assume a flippant cadence just as you weren’t expecting.

You really make my day :slight_smile: It is morning and I already learned few more words.
How do you think developers can fix such issues if user doesn’t give any useful input? Hard. And I mostly ignore such cases. Why should I bother if user also doesn’t bother.

And it is working now because nothing was wrong from the start - just reboot was needed. The problem was in person in front of keyboard. But you obviously know better.

I did work on this part of the code to simplify it. That’s why I know how it works.

Anyway, I’m happy that it works now.

I apologize.

I had a difficult week and I took it out on you.

I do thank you for your work. Coreelec truly is a great product.

2 Likes