Posts by HiassofT

    The mode 2 output looks very odd - the space values are oddly large. So I'm not 100% sure if there might be some problem with IR reception - or maybe the batteries of the remote are flat and it's not working properly?

    I'm not familiar with the original xbox remote, but if ir-keytable configuration doesn't work you could try the lircd.conf files from here: lirc-remotes / Code / [395780] /remotes/microsoft

    This one looks like it could work: xbox.lircd.conf?format=raw

    Download the file and copy it to /storage/.config/lircd.conf, then reboot (LE9.0 preview builds will automatically pick the file up and run lirc, in LE 8.2 you have to enable Lirc in LE settings).

    But before doing that I'd check into the mode2 output, the pulse/space values should usually be about 400-2000.

    so long,

    Hias

    Please upload a kodi debug log. Without logs it's hard to tell what's happening - it could be anything (some addon, some custom configuration you made, a faulty SD card etc).

    Testing with a fresh installation on a known good SD card without any addons installed would be a good idea.

    Also: when the RPi locks up can you still ssh in?

    so long,

    Hias

    A few RPi3B+s seem to be suffering from stability issues, the RPi folks are busy working on a solution for that - see this thread on the RPi forum: Raspberry Pi 3 B+ lockups - Raspberry Pi Forums

    To make checking for that issue easier we included memtester in LE 8.2.5. Please run the following commands and let memtester run for a coupe of hours

    Code
    systemctl stop kodi
    memtester 512M

    If memtester reports an error it could be worth trying one of the suggestions from the RPi forum thread. One suggestion is to add the following 2 lines to /flash/config.txt

    Code
    arm_freq=1200
    sdram_freq=450

    Then reboot and check with memtester again.

    Edit: most importantly, even when using a recommended power supply, it's always good to check if it performs as expected. Run the following command:

    Code
    vcgencmd get_throttled

    If you get anything else than 0x0 you have either a power or temperature issue.

    so long,

    Hias

    Yes, you are absolutely right, the "slice" DT overlay seems to be broken. I'll ping the

    To get back IR on the Slice the following line in /flash/config.txt should work

    Code
    dtoverlay=gpio-ir,gpio_pin=37

    This will use the more modern gpio-rc-recv driver which means you'll also be able to disable Lirc in LE settings.

    so long,

    Hias

    Interesting, it looks like the lirc_rpi driver isn't loading.

    Could you try to add the following line to /flash/config.txt

    Code
    dtdebug=1

    Then reboot and post the output of the following command:

    Code
    vcdbg log msg 2>&1 | paste

    so long,

    Hias

    Starting with LE 8.2 gpio-ir is the preferred/officially supported way to handle IR remotes on RPi. lirc-rpi is included as a legacy alternative while people migrate to gpio-ir. LE9.0 doesn't include lirc-rpi anymore.

    gpio-ir has been included in LE for a while, but in LE 8.0 and before the easy userspace configuration (via rc_maps.cfg) didn't exist yet (overriding the keymap eg via .config/rc_keymaps/rc6_mce did work though).

    Which LE version are you using and how does your setup look like? i.e. which dtoverlay lines did you use, do you have Lirc enabled or disabled in LE settings, do you have a custom lircd.conf file, did you add something lirc related to autostart.sh or add other custom configurations?

    If you do a fresh installation of LE 8.2 and just add "dtoverlay=gpio-ir" to config.txt your harmony remote should work out of the box if you configure it as a Microsoft MCE remote.

    so long,

    Hias

    I'm not an expert with Amlogic devices but IIRC with 8.2.x builds you'll have to go the amremote remote.conf route. Creating a /storage/.config/lircd.conf file and enabling Lirc in LE settings could also work.

    Proper ir-keytable configuration for Amlogic devices was added very recently to the 9.0 LE development branch, so the documentation in the wiki does not apply to 8.2 AML builds.

    "LibreELEC-S912.arm-8.2.4-Subtitles-ff" suggests you are using some community build, so you probably have to ask the creator of this build for details.

    so long,

    Hias

    Yes, this setup will work.

    One thing to keep in mind is that the IR receiver of your DVB dongle will still be setup with the kernel driver's default config (in most cases to decode the manufacturer's remote, eg hauppauge remotes on hauppauge dongles - ir-keytable will tell you which table is active). If that causes issues (eg when you also use such a remote in the same room) you'll still need aluminium tape or blacklist the IR receiver driver module.

    The only case when you might want to run "ir-keytable -a ..." manually is when testing a new setup, to check if it works and eg find out if you have typos in your files. This is why I mentioned it in the wiki Infrared Remotes [LibreELEC.wiki]. If you are sure everything's correct you could also just reboot so the config is automatically applied.

    so long,

    Hias

    With 2 IR receivers the configuration is a bit tricky.

    Your "* * avermedia_remote" rc_maps.cfg will configure both the gpio-ir receiver and the receiver on your DVB dongle to decode the signals of your remote. One possibility is to change the file so that only the gpio-ir receiver is configured:

    Code
    gpio-rc-recv * avermedia_remote

    Another thing to keep in mind is that it's not guaranteed that the gpio ir receiver will always be the first IR device (check the output of "ir-keytable"). If you manually run ir-keytable to change the config it'll apply the settings to the first rc device (rc0) unless you explicitly change that with the "-s" option.

    The automatic configuration run by the udev rules take care of that, ir-keytable -a will be run for all your IR receivers with -s set appropriately - so that rc_maps.cfg is applied to all IR receivers on your system.

    So, better remove the ir-keytable call from your autostart.sh.

    Instead of covering the IR receiver with black or aluminium tape it'd be better to blacklist the the driver for the IR receiver in your DVB dongle - or just use the IR receiver in your DVB and not add gpio-ir. With only one receiver life's a lot easier :)

    so long,

    Hias

    Connect the TSOP4838 to 3.3V and drop the voltage translation circuit - TSOP4838 can be powered from 2.5 to 5.5V (see the datasheet tsop48.pdf ).

    Also drop all modifications to autostart.sh - you only need to set up rc_maps.cfg and put the keytable in rc_keymaps. This config will be automatically picked up.

    If you still have problems post the output of ir-keytable. If you have another ir receiver (eg on a DVB USB dongle) you could get double keypresses as the signal will be received by 2 receivers.

    so long,

    Hias

    Thanks a lot for the test output and the capture!

    I could reproduce the issue here, it looks like it's a bug in the kernel's MCE keyboard decoder (or probably multiple issues in there).

    I'll have a closer look at it and discuss it with the kernel maintainer. I'll keep you posted about the status.

    so long,

    Hias

    Interesting. It looks like the mce_kbd decoder might be sending a key down event but no key up event.

    Also odd that ir-keytable -t doesn't show anything, I'd expected to see KEY_... events from the driver.

    Could you install the system tools addon and check with evtest instead of ir-keytable -t? Kodi and eventlircd must be stopped, as usual. Please post the evtest output of a short keypress.

    It would also be interesting to have a capture of the raw IR signals, then I could try to reproduce that here. Could you run the following command

    Code
    ir-ctl --receive=rawkey.txt

    then press a key on the IR keyboard, then abort ir-ctl with control-c and upload the file "rawkey.txt" here?

    so long,

    Hias

    Make sure you are using the correct GPIO pins. The gpio_pin options of the overlays are a bit misleading. Despite their name they specify the GPIO number, not the header pin number...

    gpio-ir, gpio-ir-tx and pwm-ir-tx all default to GPIO 18 (pin 12 of the header) - see the README in /flash/overlays.

    gpio-ir defaulting to GPIO 18 is a relic of old lirc_rpi days which defaulted to GPIO 18 for input and GPIO 17 for output - which is a bit of a pity as GPIO 18 is the only one that's usable for PWM output.

    So, it's best to use pwm-ir-tx with the default GPIO 18 and use any other GPIO (eg GPIO 17 / header pin 11) for receiving IR:

    Code
    dtoverlay=gpio-ir,gpio_pin=17
    dtoverlay=pwm-ir-tx

    This will give you 2 /dev/lircX devices, one for receiving and one for transmitting. The device names could change so it's best to create a udev rule to setup persistent names. eg create a /storage/.config/udev.rules.d/90-lirc-devices.rules files with this content

    Code
    ACTION=="add|change", KERNEL=="lirc*", DRIVERS=="gpio-rc-recv", SYMLINK+="lirc-rx"
    ACTION=="add|change", KERNEL=="lirc*", DRIVERS=="pwm-ir-tx", SYMLINK+="lirc-tx"

    Then you can use the persistent device nodes in ir-ctl. eg

    Code
    ir-ctl -d /dev/lirc-tx -S rc5:0x1234
    ir-ctl -d /dev/lirc-rx -r

    so long,

    Hias