iMX6 irw not seeing remote input (ir-keytable -t works with nec kernel protocols)

  • Hi I am on CuBox-i4 running the image from the latest master (0848005fbf0dedb148df71ed1b137ab2ab2d497e) but tv remote (samsung) is not working...

    I was using an old OpenELEC built by SolidRun on my CuBox-i4P (quad core) and my remote was working fine but when I decided to move on to the latest LiebreELEC master, remote stopped working. So, I followed along the official wiki (Infrared Remotes) and this post (LE9.0 remote configs ir-keytable Amlogic devices) and configured a custom keymap but even with that, irw is not seeing anything...

    I am quite new to all this and spent 3 days to learn up to here. I would love to see LibreELEC 10 working on my CuBox-i...


    When it is working on OpenELEC, the output of ir-keytable and lsmod look like this:

    Code
    OpenELEC:~ # ir-keytable
    Found /sys/class/rc/rc0/ (/dev/input/event4) with:
    Driver gpio-rc-recv, table rc-rc6-mce
    Supported protocols: unknown other rc-5 rc-5-sz jvc sony nec sanyo mce_kbd rc-6 sharp xmp
    Enabled protocols: nec rc-6
    Name: gpio_ir_recv
    bus: 25, vendor/product: 0001:0001, version: 0x0100
    Repeat delay = 500 ms, repeat period = 125 ms

    I also see run/lirc/lircd running as service along with eventlircd.service and CEC adaptor was on (Kodi UI System setting -> input).


    In the LibreELEC, the output of ir-keytable look like this:

    And the output of lsmod is like this:

    Code
    LibreELEC:~ # lsmod
    Module                  Size  Used by
    coda_vpu               98304  0
    imx_vdoa               16384  1 coda_vpu
    videobuf2_dma_contig    20480  1 coda_vpu
    v4l2_mem2mem           28672  1 coda_vpu
    dw_hdmi_ahb_audio      16384  0

    So, I don't see ir_nec_decoder any more... (CEC adaptor is also not there in Kodi UI)

    But I assume this should be ok now that in kernel decoder is doing the work?

    At the beggining, ir-keytable -t was not detecting anything. So, I switch to nec protocol (samsung uses that I believe) and test it by ir-keytable -p nec -t.

    Then I could see scancodes and so I could create my_custom_remote in /storage/.config/rc_keymaps/my_custom_remote and set this up in /storage/.config/rc_maps.cfg as

    Code
    * * my_custom_remote

    After this, I could see EV_MSC and EV_KEY correctly by ir-keytable -t like below:

    Now that ir-keytable -t is working properly. I should see output from irw command but I see nothing.

    Strangely, I get the response from ir-keytable -t whether or not I stop kodi and eventlircd from systemcntl. So, it looks like kodi is not intercepting remote signals at all, and this explains why irw command show no response at all.

    Edited 2 times, last by namek (June 7, 2020 at 11:06 PM).

  • If I restart kodi and eventlirc after making sure ir-keytable -t detect my remote, I see this error message:

    Code
    LibreELEC:~ # irw
    Cannot connect to socket /run/lirc/lircd: No such file or directory

    Indeed, in /run/lirc, I only see lircd.socket.


    Code
    LibreELEC:~ # irw -v
    irw 0.10.1

    Maybe I need to understand what irw is and how it should be configured.

    I will read here...

    LIRC - Linux Infrared Remote Control

  • This sounds like eventlircd is not running/starting.

    Make sure you haven't masked/disabled the eventlircd systemd service and that you don't have any udev overrides for 98-eventlircd.rules.

    Also please post the output of systemctl status eventlircd and journalctl -a | pastebinit, after a fresh boot, that should give some more hints.

    so long,

    Hias

  • Thanks chewitt and HiassofT

    These are from a fresh reboot.

    systemctl status eventlircd

    wow. disabled!

    And for the output of journalctl -a | pastebinit:

    http://ix.io/2paS

  • Thanks for testing!

    Unfortunately the output looks pretty normal.

    I strongly suspect though that the missing CONFIG_INPUT_UINPUT option in imx6 kernel config is responsible for the eventlircd issue - eventlircd requires /dev/uinput to be present.

    I've pinged our imx6 maintainer lrusak and asked him to add this missing option.

    so long,

    Hias

  • Thanks HiassofT again.

    Today, I saw this change (CONFIG_INPUT_UINPUT=y) in linux.arm.conf file.

    LibreELEC.tv/linux.arm.conf at 66bab50e147e2e881f91c0829fd67d372b0305bd · LibreELEC/LibreELEC.tv · GitHub

    this line was commented out in the source that I could build (the latest master a couple of weeks ago).

    So, I pull the latest master again and tried to build...

    >>> crazycat:target seq 126 >>>

    [263/271] [FAIL] install crazycat:target

    So, I will first fix my build but will try the new build on cubox!

    PS

    tools/download did not help. so need to dig in.

  • Ah, seems the imx6 change was incomplete, it missed to disable the optional dvb drivers (which aren't compatible with the current 5.7 kernel and disabled in most other projects). I'll ping our imx6 maintainer again :)

    You can easily fix that yourself, just set DRIVER_ADDONS_SUPPORT="no" in ~/.libreelec/options. You can also change that in projects/NXP/options but if you don't need these drivers disabling globally is easier (and saves a bit of build time).

    Whenever you change DRIVER_ADDONS_SUPPORT you have to rebuild kodi (just scripts/clean kodi before the build), otherwise kodi may end in a crash-loop.

    so long,

    Hias

  • Hi

    I know you solved this one - and my question is not directly related to IR, but searching to forums for how to get the latest code for libreelec to build and run on imx.6 boxes kinda led me here. namek, do you have details of how you did the build please? I am a total noob at how do to it - and although I have readt the librelec compilation pages I am at a loss as to how to do the imx.6 compilation as you have.

  • Hi

    I built in Linux Mint 19 (not recommended Ubuntu) and it was ok.

    I followed the official wiki and found that it's well documented.

    Compile [LibreELEC.wiki]

    The only thing to add is this command:

    PROJECT=NXP DEVICE=iMX6 ARCH=arm make image

    It will take a looooong time the first time you build. Then cache will speed things up.

    Edited 3 times, last by namek: Adding info about OS (Mint) and grammer improvement (June 24, 2020 at 7:12 AM).

  • Ok, thanks. I managed to find the test.libreelec.tv and download the imx6 test build. I'm trying to run on a vero 1 (white box type) and I can get things to boot, load up the interface but 1. the remote doesn't work which is what led me here, and 2 when i try to play anything irrespective of source type (SMB or SSH) Kodi black screens and dies.

  • The imx6 builds on test.libreelec.tv are outdated and don't contain the remote fix - our buildserver is tripping over the same dvb driver addons build issue. You either need to build yourself or wait a bit until the issue is fixed in LE master we have current nightly images available.

    so long,

    Hias