Weird remote behaviour on ZBOX nano

  • Hi there,

    I just installed LibreELEC 8.90.008 on my Zotac ZBOX nano AD-10 and of course the IR remote doesn't work anymore. Hitting the forums I found this manual and in ir-keytable I get:

    Code
    Found /sys/class/rc/rc0/ (/dev/input/event2) with:
            Name: ITE8704 CIR transceiver
            Driver: ite-cir, table: rc-rc6-mce
            lirc device: /dev/lirc0
            Supported protocols: other lirc rc-5 rc-5-sz jvc sony nec sanyo mce_kbd rc-6 sharp xmp
            Enabled protocols: lirc nec rc-6
            bus: 25, vendor/product: 1283:0000, version: 0x0000
            Repeat delay = 500 ms, repeat period = 125 ms

    Then I run the testing and found out that every other key sends a different scancode:

    Code
    # ir-keytable -t
    Testing events. Please, press CTRL-C to abort.
    1054.064508: lirc protocol(rc6_6a_32): scancode = 0x80348458
    1054.170042: lirc protocol(rc6_6a_32): scancode = 0x80348458
    1054.275471: lirc protocol(rc6_6a_32): scancode = 0x80348458
    1055.145727: lirc protocol(rc6_6a_32): scancode = 0x80340458
    1055.251637: lirc protocol(rc6_6a_32): scancode = 0x80340458
    1055.357428: lirc protocol(rc6_6a_32): scancode = 0x80340458

    I pressed the up button on my remote (a Logitech Harmony Hub via a Logitech Harmony Touch) twice. I feel it is the same like the problems I had with the alpha for LibreELEC 8.

    So now I have created my own test keymap with the following content and loaded it:

    So it stills reads both codes. lircd isn't running (there isn't a setting for it anymore in the LibreELEC settings addon)

    What can be done to fix this? I have the original remote, but the batteries ran out of power and they are button cells I don't have lying around.

  • It's best to use the Microsoft MCE / Kodi profile on your Harmony remote - this will work out of the box.

    The scancodes sent by your current profile seem tio contain a toggle bit (the 5th digit flipping between 8 and 0 on alternating button presses), but since the first 4 digits don't match the MCE "customer code" "800f" the kernel doesn't handle it as a toggle bit - and you get two different scancodes.

    so long,

    Hias

  • Which profile do you mean? I tried the /usr/lib/udev/rc_keymaps/libreelec_multi (in fact, that's the one LibreELEC tried first), but that doesn't work.

    Did you have a look at the post I mentioned: Have to press remote buttons twice

    There CvH did something (from the file descriptions patching modules and/or not loading some)

    For now I created a new rc_keymap with both scancodes with the most important buttons and loading it at boot via /storage/.config/rc_maps.cfg:

  • Ah, no, I meant selecting the Microsoft / Windows MCE Kodi profile in the Harmony configuration software. If you use that you don't need to configure anything in LE, it'll just work.

    so long,

    Hias

  • I just tried that, but then I'm missing keys. I just completed my mapping with audio and subtitle changing, and context menu. Here's the completed keymap;

  • Please remove all LibreELEC IR config changes (rc_maps.cfg, local rc keymap files, kodi keyboard/remote.xml files etc) and then reboot.

    With an MCE remote or your Harmony configured as an MCE compatible remote things will work out of the box, if you still like to tweak button mapping you can do that with a kodi keymap or the keymap editor addon.

    so long,

    Hias

  • I have the same zotac box and using the zotac mce remote that came with it I get the same scancodes. Thanks for the zbox keymap most I finally got this working in 9 after it was rock solid in 8. As we are using different remotes I must conclude it is the ITE8713 CIR transceiver or something zotac did to it produce these keycodes.

  • LibreELEC 8 and earlier versions (back to the old OpenELEC days) contained an ugly kernel patch to get the Zotac remotes working. This hacky patch was causing issues though and broke on every other kernel update.

    So we decided to drop most of the crappy hacks so we could find out if there are actual issues that need fixing and if there are (like with the Zotac remote) then fix them properly - which means communicating with the Linux kernel developers and getting issues fixed in official Linux kernels.

    Doing it this way means all Linux users profit from the fixes (eg if you run Ubuntu you'll get the fixes, too) and we don't have to do the tedious work of adapting our own fixes after each kernel update. So it's a win-win situation for all of us.

    It looks like Sean (the Linux kernel maintainer for the IR remote stuff) has picked up my Zotac fix and it should appear in official 5.1 kernels syoung/media_tree.git - media_tree.git RC development tree

    The fix is also included in current Milhouse testbuilds and of course will be included in the next LE9 update as well.

    so long,

    Hias

  • Hias,

    Thanks for the update. After much googling and searching the code I pieced this together most of this myself but thanks for the followup it confirms my research.

    It looks like your patch will correct the toggle bit but the scan codes will still have the zotac customer code (ie 0x80340000) So we will need a keymap for the zotac remote?

  • Yes, you'll need a keymap. We shipped a zotac keymap with LE8.2 and before (I've attached it) but I'm not 100% sure if it's correct - I don't have that remote to verify it.

    New keymap files for 2 Zotac remotes were posted here IR Remote malfunction after upgrade to LE 9.0 but again they are slightly different.

    The button count in the attached keymap matches the pictures I found on the net, but it would be good to get some confirmation that the prints on the buttons match the keycodes. KEY_TITLE could be the "T in a square" button, KEY_TEXT may be more appropriate for it, not sure if KEY_POWER (the "1" button?) and KEY_SLEEP ("0" ?) might be swapped.

    Once we have confirmation that the keymap is correct we can consider adding it to LE again.

    so long,

    Hias