Ocroid C2 - lirc problems

  • Hello forum,

    at this point in time I am quite certain, that there is a lirc problem in the current image (LibreELEC-Odroid_C2.aarch64-7.90.010.img.gz) of LibreElec for the odroid C2.
    Using irrecord like this "irrecord --device /dev/lirc0" to write a new lircd.conf file, results in errors continously.
    It is the strange "Something went wrong: Cannot decode data" error for every remote around in my home.
    It does not matter if I try to use raw decode using the -f parameter.

    Under Ubuntu 16.04 minimal (official Hardkernel image) everything works fine, and even if I copy the ubuntu lircd.conf file to my libreelec installation, it seems to work so far.
    This is of course a pain in the butt, if you want to add or remap keys :/

    Any idea on how to fix this weird problem?

    thanks!

    edit: I have to correct myself, some buttons seem not to be working.
    Despite "irw" showing them as correctly

    example
    2 0 KEY_I devinput
    32 0 KEY_I_UP devinput

    I cannot use the key to remap them into kodi. The Keymap addon and kodi do not detect the keypress.
    KEY_I is should by default bring up the info screen to a video.


    I noticed a difference in the use of irrecord on ubuntu. As long as I press the key in ubuntu, more and more dots appear. In LibreElec no matter how long I press, only one dot appears.

    Edited once, last by muelli (February 2, 2017 at 12:43 PM).

  • Hi there,

    I am using Libreelec 8.0.1 with Ordoid C2 and irrecord seems to be broken. I tried four different remotes without any luck. Two remotes failed assigning some keys and with almost all of them irrecord did not quit and write any configfile after hitting ENTER.

    I will try to create my lircd.conf with an older 7.x release and a different irrecord version.

    All the best,
    engel

  • I don't have an Odrioid C2, but just tested irrecord on my RPi3 (running LE 8.0.1) and it worked fine with a RC-5 protocol remote.

    It looks like there are issues with the IR receiver driver in the kernel. See for example here: thread-7376-post-46075.html#pid46075

    To further narrow down the issues please try 2 things:

    - test with ir-keytable, this uses in-kernel decoding, which means lirc is not involved at all. A step-by-step guide how to do this is here: thread-7152-post-43745.html#pid43745 But note, not all remotes are supported via ir-keytable (it depends on the IR protocol), so it could be that you have to test with different remotes or - if you are unlucky - none of remotes will work at all

    - test with irrecord from LE 7.0: downgrade LE to 7.0.x, then copy irrecord to the storage partition

    Code
    cp /usr/bin/irrecord /storage/irrecord-7


    then upgrade again to 8.0.1 and start the old irrecord with

    Code
    /storage/irrecord-7

    so long,

    Hias

    Edited once, last by HiassofT (April 25, 2017 at 7:07 PM).

  • OP - I just used irrecord to make a Sony TV remote (RM-YD017) work with an ODROID C2 running LibreELEC-Odroid_C2.aarch64-8.0.1.img.gz. At first I was constantly getting the same error messages. Then I read the irrecord error output shown at the end and saw it recommends using the -f (force) flag if things are going completely sideways.

    Re-recorded using this command:

    Code
    irrecord -f --device /dev/lirc0

    What I think the -f flag does is force irrecord to learn your remote controllers IR pattern/behavior. After pressing the random buttons as explained on the command line when using -f flag. LE was able to learn the remote commands without any issues.

    If the -f flag does not work with your version of LE. Give it a shot on the newest version of LE.


  • OP - I just used irrecord to make a Sony TV remote (RM-YD017) work with an ODROID C2 running LibreELEC-Odroid_C2.aarch64-8.0.1.img.gz. At first I was constantly getting the same error messages. Then I read the irrecord error output shown at the end and saw it recommends using the -f (force) flag if things are going completely sideways.

    Re-recorded using this command:

    Code
    irrecord -f --device /dev/lirc0

    What I think the -f flag does is force irrecord to learn your remote controllers IR pattern/behavior. After pressing the random buttons as explained on the command line when using -f flag. LE was able to learn the remote commands without any issues.

    If the -f flag does not work with your version of LE. Give it a shot on the newest version of LE.

    I tried -f without any success. Even in RAW mode irrecord gets confused and I am not able to create a working configuration. I reinstalled 7.1.3 and had the same problem. Installing 7.0.2 I was able to create a configuration without any problem. After I copied this configuration to 8.0.1 I had the same problem as described here - the OK button is repeated with every other button pressed later on.


    OK was only pressed once at the beginning but repeated with every button I pressed later on. Even pressing a unmapped button on my remote triggers an OK event.

    Edited once, last by engel75 (April 30, 2017 at 12:11 PM).