Posts by HiassofT

    Could you test if you also see this behaviour with irw (while kodi and eventlircd are running) and with ir-keytable -t (kodi and eventlircd need to be stopped, watch for the KEY_xxx events)?

    BTW: You can ignore the lirc_options.conf warning, it is harmless and already fixed in the upcoming 8.2 version.

    Instead of running ir-keytable -c -w ... from autostart.sh I'd recommend creating a .config/rc_maps.cfg file with the content * * my_remote - otherwise the udev rule which sets up the keytable (via /etc/rc_maps.cfg, loading the libreelec-combined keymap) could race with your manual ir-keytable setup.

    so long,

    Hias

    No idea what's happening there, that kernel patch should be harmless. Could you post the output of dmesg when this happens?

    Have you configured Kodi to use ALSA as well? If yes, disable that (eg select HDMI output in kodi).

    Also try with asound.conf removed to disable the softvol plugin.

    Another interesting test would be to disable MPD and use only kodi with ALSA output.


    so long,

    Hias

    You have to use setserial /dev/ttyS0 uart unknown - otherwise serial_ir probably won't work (I'm puzzled why loading it seemed to work, I'd expected to see an error).

    Also make sure you have disabled lirc in LE settings.

    Then, stop kodi and eventlircd

    Code
    systemctl stop kodi
    systemctl stop eventlircd

    Now you should be able to test if the IR receiver works:

    Code
    ir-keytable -p all -t
    mode2

    The former will print scancodes and decoded keys, the latter will test raw receiption (you should see pulse and space messages printed on the console) - use that if you can't get any output from ir-keytable.

    so long,

    Hias

    I guess you have been using the lirc_serial module before, probably loaded via an autostart.sh script - is that correct?

    lirc_serial has been replaced by serial_ir (the latter can be configured via ir-keytable, so you don't have to run userspace lircd - but you still can if you want).

    The module parameters are the same as for lirc_serial, so just changing the modprobe line to use serial_ir should be enough to get you going.

    If that doesn't work, please post the commands you use to load the driver and the output of ir-keytable.

    so long,

    Hias

    How is this IR receiver connected to your PC,?

    Lirc is fully supported and in current testbuilds and in the upcoming 8.2 version it can be configured and used for all devices like on standard Linux installation. In the current 8.0.2 version it's a bit limited as it uses the same configuration methods as older OpenELEC versions.

    But, unless you have a really awkward remote I'd recommend configuring the remote via ir-keytable. This already works like on standard Linux installations, only the configuration files (rc_maps.cfg, rc_keymaps) are in the /storage/.config directory instead of /etc.

    Read more about ir-keytable configuration in this thread: WD TV Live remote

    so long,

    Hias

    Thanks a lot for the feedback!

    You didn't have debug logging enabled when grabbing the log files so I couldn't see which button presses were received by kodi. But I assume in the case with atvclient disabled you got volume-up/down forward, back, play/pause - is this correct?

    Could you also test, with atvclient enabled, if the harmony profile(s) you used before on LE 7.x are working fine with this build?

    so long,

    Hias

    I'm not exactly sure what's going wrong with atvclient (no hardware to test, LE is shipping latest atvclient version with krypton patches), but I noticed that kernel support for the apple ir receiver was disabled in LE.

    Here's a test build with CONFIG_APPLEIR enabled:

    LibreELEC-Generic.x86_64-8.0-devel-20170616093132-r25705-g16fea8734.tar

    Could you please test this build and report back if this works better/worse with atvclient running?

    With added kernel support kodi should now receive IR events without atvclient running. To test this disable atvclient:

    systemctl mask atvclient

    and then reboot. (you can later re-enable atvclient with systemctl unmask atvclient and another reboot).

    In both cases please post kodi debug logs where you press some buttons.

    Also please post the output of the following commands:

    lsmod

    lsusb -v

    dmesg | paste

    lsof | grep /dev/input

    BTW: the kernel driver only supports the remote codes of the original Apple remotes, so please test with these (maybe the Harmony configured as a Apple remote works, too). Other remote codes should be supported by running lircd, but let's leave this for later.

    so long,

    Hias

    I had previous dropped a keymap file in ~/.config/rc_keymaps/ but now it seems I'm supposed to edit ~/.config/rc_maps.cfg to specify that I want to use the map. I made this change and now the remote is working correctly.

    This seems a major change that should have been highlighted. Even the README in ~/.cinfig/rc_keymaps/ still describes the old system.

    Overriding existing keymaps via files in .config/rc_keymaps still works as before, but what's changed is that LE now loads the libreelec_multi keymap for remote receivers that use the rc-rc6-mce table - instead of the rc6_mce keymap before. See /etc/rc_maps.cfg:

    Code
    # use combined multi-table on MCE receivers
    #*      rc-rc6-mce               rc6_mce
    *       rc-rc6-mce               libreelec_multi

    so long,

    Hias


    That works! Thanks for all your help. Back up in post #3 I mentioned that I had removed the KEY_ prefix from the codes downloaded from lirc-remotes download | SourceForge.net.


    Ah, sorry, I had missed that before...

    But I'm glad you got it working, and thanks a lot for the feedback!

    As for key naming: using non-standard key names is deprecated for quite some time now. Lircd still accepts arbitrary key names, but eg irrecord will refuse key names that aren't standard when creating a new lircd.conf.

    The standard naming scheme makes it a lot easier for programs to support remotes, especially via lirc sockets. Before people could eg configure the volume keys to generate VOLUME_UP, VOLUMEUP, VOLUP etc which led to quite a mess :)

    so long,

    Hias


    This is quite certainly the culprit. You should use KEY_UP, KEY_DOWN etc in lircd.conf, not only "UP", "DOWN", ...

    Can you change your lircd.conf so that the keynames match the officially supported ones?
    See linux/input-event-codes.h at master · torvalds/linux · GitHub

    BTW: You can also get a list of supported keynames by running "irrecord -l"

    so long,

    Hias

    In LE9 / Milhouse builds I'd recommend sticking to the stock configuration: only enable lirc in settings, and setup lircd.conf and lirc_options.conf (with driver and device) in .config, leave everything else as it is.

    In general there's no need to change the lircd socket used by kodi. LE setup (with eventlircd running in background) will take care of bridging the remote events into kodi.

    If something's not working as expected with that setup please report here, we'll then have a look at it and try to fix it.

    so long,

    Hias

    Did you enable lircd in LE settings?

    Just did a quick test, Milhouse build 0508 on RPi3, with some FTDI serial dongle, a lircd.conf file in .config and this lirc_options.conf and it worked fine:

    lircd and lircd-uinput started up fine:

    Code
    349 root       2:54 /usr/sbin/lircd -O /storage/.config/lirc_options.conf --nodaemon --release /storage/.config/lircd.conf
      350 root       0:00 /usr/sbin/lircd-uinput -O /storage/.config/lirc_options.conf

    But of course lircd was logging errors because there was no UIRT2 adapter connected:

    so long,

    Hias

    Usually you have manually switch the screen to 16:9/anamorphic mode. Check the manual of your screen if there's some setting in a menu, a switch or something like that.

    Automatic switching to anamorphic mode in (PAL) TVs relies on information transmitted in the video signal during vertical blank (or in one of the cut-off overscan lines, can't remember) but AFAIK RPi doesn't generate these signals.

    I'm using my RPi 3 on a 16:9 CRT TV, connected via composite, and had to manually put my TV into anamorphic 16:9 mode as well.

    so long,

    Hias

    Enable debug logging in kodi and check kodi.log if it reported errors about the keyboard.xml file. Also check if the remote presses actually show up as keyboard events. If they show up as lirc events in the log, eventlircd is still translating the events.

    BTW: If you change anything it's best to reboot, this is the easiest way to make sure all new config files are picked up.

    so long,

    Hias


    To debug I created a ./config/lirc_options.conf which was identical to the one in /etc/lirc
    but changing
    output = /run/lirc/lircd.socket2

    and only /run/lirc/lircd.socket was created (no "2").


    The socket is the one thing you shouldn't change in lirc_options.conf - it's managed by systemd. Actually lircd is a socket managed service, systemd creates the socket and when the first client, lircd-uinput in this case, connects to it systemd will start lircd - that's exactly the same setup as in other linux distributions.

    I'd also recommend to keep eventlircd running, this picks up the input events generated by lircd-uinput, translates these again into lirc events and feeds them to the standard lirc socket which is used by kodi.

    You could change the kodi startup to use the /run/lirc/lircd.socket directly, but then kodi can't be controlled by other IR remotes (eg USB IR receivers which send out input events).

    Yes, the setup is rather awkward, but as kodi doesn't play too well with linux input events it's currently the only way to support all remotes in kodi.

    so long,

    Hias