Zotac IR remote not working

  • Hi,

    I have a Zotac ID81 remote, trying to get it to work with a Raspberry PI 5, please see this thread.

    Zotac ID81 remote with LibreElec 9.2.2 | realmtech.net

    This was fixed back in 15/04/2020.

    I have followed the instructions but it doesn't work.

    I have checked the HW and its fine.

    I assume the patch was added in as its so long ago. ?

    My feeling is that this should just we working out of the box by now, its not working and I have no Idea why its not working.

    Help would be appreciate,

    Kind Regards,

    Joe.

  • Hi, if you have a bit of experience in electronics (or know somebody), you should use google to search for "RPi IR receiver". A single cheap component, 3 wire, and no more problems with the USB receiver.

  • Thx for the suggestion, its a fair point.

    I was kind of hoped that having a nice USB receiver that all in a plastic housing and a remote that works it would be a doddle, seeing as it was supposed to work,

    Zotac ID81 remote with LibreElec 9.2.2 | realmtech.net

    such a shame, as its always seems to be the case. HW support under linux is always really problematic. Nothing every gets quite finished.

    I was kind of hoping that the USB would be detected and plug and play, its sees the USB device and reports it correctly it just doesn't work, and it has been working for other people.

    Even the 3 wire solution seems to come with a whole heap of SW issues to get it working its doesn't just seem like plug and play.

    https://wiki.libreelec.tv/configuration/ir-remote

    "On a Raspberry Pi, LibreELEC can use the GPIO pins to communicate with a hardware IR receiver diode, as long as config.txt has been suitably modified to enable GPIO support."

    What does "suitably modified" mean ? A very long page of how to hack around and get it working.

    If I go down the 3 x wire route, it still seems like a complete can or worms as well, not plug and play.

    1) This libreELEC guide doesn't explain which pins to connect, or how to tell LibreELEC which pins to use, or what decoders are supported !

    "Note that LIRC requires compatible hardware to decode IR signals. An in-depth discussion of IR decoder hardware is outside the scope of this document."

    2) I have no neat external IR receiver and lead, if I buy a 3 wire LED.

    3) I need to select a decoder and have to wire that up.

    3) I have no remote to start playing with.

    5) Perhaps my Zotac remote will work with the 3 x wire solution ?

    6) Going to be a load of work figuring out the right protocol for my Zotac remote over the 3 -wire.

    I hoping somone has a Zotac ID81 working with LibreELEC and can please help.

  • The OE patch added a driver for Spinelplus IR receivers, but it requires a bunch of USB ID's to be patched into common kernel files that are frequently updated, and because the original author never bothered to upstream the driver, the downstream patch needed constant rebasing against kernel changes. This task quickly becomes a problem chore, so the patch was eventually dropped.

    In the absence of a proper kernel driver you can fall back to using lirc, which still exists in LE but (IIRC) lircd is no longer started unless /storage/.config/lircd.conf exists. Step 2 and Step 4 from the article you linked should still be valid.

  • Even the 3 wire solution seems to come with a whole heap of SW issues to get it working its doesn't just seem like plug and play.

    I'm using this type of IR receiver for years and didn't had any problem. Your remote looks like it's a MCE RC6 one, that code is the default supported by LE. So for that remote to work with RPi, you need the "3 wire solution" and in the config.txt enabled the line with "dtoverlay=gpio-ir,gpio_pin=18". That's all.

    20170915_113108_1024x1024.jpg?v=1561464653

  •  lsusb
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 003 Device 002: ID 0471:20cc Philips (or NXP) MCE USB IR Receiver- Spinel plus
    Bus 003 Device 003: ID 04d9:a01c Holtek Semiconductor, Inc. wireless multimedia keyboard with trackball [Trust ADURA 17911]
    Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub


    cat /storage/.config/udev.rules.d/99-zotac.rules
    SUBSYSTEM=="usbmisc", ACTION=="add", \
       ATTRS{idVendor}=="0471", ATTRS{idProduct}=="20cc", \
       SYMLINK+="remote"

    SUBSYSTEM=="input", KERNEL=="event*", ACTION=="add", \
       ATTRS{idVendor}=="0471", ATTRS{idProduct}=="20cc", \
       ENV{eventlircd_enable}="false", ENV{LIBINPUT_IGNORE_DEVICE}="1"


    cat /storage/.config/lirc_options.conf
    # These are the default options to lircd, if installed as
    # /etc/lirc/lirc_options.conf. See the lircd(8) and lircmd(8)
    # manpages for info on the different options.
    #
    # Some tools including mode2 and irw uses values such as
    # driver, device, plugindir and loglevel as fallback values
    # in not defined elsewhere.

    [lircd]
    nodaemon        = False
    driver          = zotac
    device          = /dev/remote
    output          = /run/lirc/lircd.socket
    pidfile         = /run/lirc/lircd.pid
    plugindir       = /usr/lib/lirc/plugins
    permission      = 666
    allow-simulate  = No
    repeat-max      = 600
    #effective-user =
    #listen         = [address:]port
    #connect        = host[:port]
    #loglevel       = 6
    #release        = true
    #release_suffix = _EVUP

    #logfile        = ...

    [lircmd]
    uinput          = False
    nodaemon        = False

    # modinit is not supported in LibreELEC

    # [modinit]
    # code = /usr/sbin/modprobe lirc_serial
    # code1 = /usr/bin/setfacl -m g:lirc:rw /dev/uinput
    # code2 = ...


    # [lircd-uinput]
    # add-release-events = False
    # release-timeout    = 200
    # release-suffix     = _EVUP


    cat /storage/.config/lircd.conf
    # Please make this file available to others
    # by sending it to <[email protected]>
    #
    # this config file was automatically generated
    # using lirc-0.9.1-git(zotac) on Mon Apr  2 14:10:29 2012
    #
    # contributed by
    #
    # brand:                       zotac.conf
    # model no. of remote control:
    # devices being controlled by this remote:
    #

    begin remote

     name  zotac.conf
     bits           32
     eps            30
     aeps          100

     one             0     0
     zero            0     0
     gap          100123
     min_repeat      9
    #  suppress_repeat 9
    #  uncomment to suppress unwanted repeats
    #  toggle_bit_mask 0x7004F

         begin codes
             KEY_SLEEP                0x00010082
             KEY_WAKEUP               0x00010083
             KEY_RECORD               0x000C00B2
             KEY_PAUSE                0x000C00B1
             KEY_STOP                 0x000C00B7
             KEY_REWIND               0x000C00B4
             KEY_PLAY                 0x000C00B0
             KEY_FORWARD              0x000C00B3
             KEY_LEFTSHIFT            0x000C00B6
             KEY_RIGHTSHIFT           0x000C00B5
             KEY_BACK                 0x000C0224
             KEY_INFO                 0x000C0209
             KEY_MENU                 0xFFBC000D
             KEY_UP                   0x00070052
             KEY_LEFT                 0x00070050
             KEY_RIGHT                0x0007004F
             KEY_DOWN                 0x00070051
             KEY_OK                   0x00070028
             KEY_VOLUMEUP             0x000C00E9
             KEY_VOLUMEDOWN           0x000C00EA
             KEY_MUTE                 0x000C00E2
             KEY_CHANNELUP            0x000C009C
             KEY_CHANNELDOWN          0x000C009D
             KEY_1                    0x0007001E
             KEY_2                    0x0007001F
             KEY_3                    0x00070020
             KEY_4                    0x00070021
             KEY_5                    0x00070022
             KEY_6                    0x00070023
             KEY_7                    0x00070024
             KEY_8                    0x00070025
             KEY_9                    0x00070026
             KEY_0                    0x00070027
             KEY_NUMERIC_STAR         0x10070025
             KEY_NUMERIC_POUND        0x10070020
             KEY_CLEAR                0x00070029
             KEY_TEXT                 0xFFBC005A
             KEY_TITLE                0x000C008D
             KEY_ENTER                0x00070028
             KEY_RED                  0xFFBC005B
             KEY_GREEN                0xFFBC005C
             KEY_YELLOW               0xFFBC005D
             KEY_BLUE                 0xFFBC005E
         end codes

    end remote


    ls /dev/
    .progress/       i2c-14           port             tty1             tty4             urandom
    autofs           initctl          ppp              tty10            tty40            usb/
    block/           input/           ptmx             tty11            tty41            v4l/
    btrfs-control    kmsg             pts/             tty12            tty42            vcio
    bus/             log              ram0             tty13            tty43            vcs
    cec0             loop-control     ram1             tty14            tty44            vcs1
    cec1             loop0            ram10            tty15            tty45            vcs2
    char/            mapper/          ram11            tty16            tty46            vcs3
    console          media0           ram12            tty17            tty47            vcs4
    cpu_dma_latency  mem              ram13            tty18            tty48            vcs5
    disk/            mmcblk0          ram14            tty19            tty49            vcs6
    dma_heap/        mmcblk0p1        ram15            tty2             tty5             vcsa
    dri/             mmcblk0p2        ram2             tty20            tty50            vcsa1
    fb0              mqueue/          ram3             tty21            tty51            vcsa2
    fd/              nbd0             ram4             tty22            tty52            vcsa3
    fsck.log         nbd1             ram5             tty23            tty53            vcsa4
    full             nbd10            ram6             tty24            tty54            vcsa5
    fuse             nbd11            ram7             tty25            tty55            vcsa6
    gpiochip0        nbd12            ram8             tty26            tty56            vcsu
    gpiochip10       nbd13            ram9             tty27            tty57            vcsu1
    gpiochip11       nbd14            random           tty28            tty58            vcsu2
    gpiochip12       nbd15            remote           tty29            tty59            vcsu3
    gpiochip13       nbd2             rfkill           tty3             tty6             vcsu4
    gpiomem0         nbd3             rtc              tty30            tty60            vcsu5
    gpiomem1         nbd4             rtc0             tty31            tty61            vcsu6
    gpiomem2         nbd5             shm/             tty32            tty62            vga_arbiter
    gpiomem3         nbd6             snd/             tty33            tty63            video19
    gpiomem4         nbd7             spidev10.0       tty34            tty7             watchdog
    hidraw0          nbd8             stderr           tty35            tty8             watchdog0
    hidraw1          nbd9             stdin            tty36            tty9             zero
    hidraw2          net/             stdout           tty37            ttyAMA10
    hwrng            null             tty              tty38            uhid
    i2c-13           pio0             tty0             tty39            uinput


    cat /proc/bus/input/devices

    I: Bus=0003 Vendor=0471 Product=20cc Version=0100
    N: Name="PHILIPS MCE USB IR Receiver- Spinel plus Keyboard"
    P: Phys=usb-xhci-hcd.1-1/input0
    S: Sysfs=/devices/platform/axi/1000120000.pcie/1f00300000.usb/xhci-hcd.1/usb3/3-1/3-1:1.0/0003:0471:20CC.0001/input/input2
    U: Uniq=
    H: Handlers=sysrq kbd leds event2
    B: PROP=0
    B: EV=120013
    B: KEY=c0000 40000000000 0 58000 8001f84000c004 e0beffdf01cfffff fffffffffffffffe
    B: MSC=10
    B: LED=1f


    lsmod
    Module                  Size  Used by
    8021q                  49152  0
    brcmfmac_wcc           49152  0
    rpi_hevc_dec           65536  0
    v4l2_mem2mem           49152  1 rpi_hevc_dec
    videobuf2_dma_contig    65536  1 rpi_hevc_dec
    videobuf2_memops       65536  1 videobuf2_dma_contig
    videobuf2_v4l2         49152  2 rpi_hevc_dec,v4l2_mem2mem
    videodev              278528  3 rpi_hevc_dec,videobuf2_v4l2,v4l2_mem2mem
    brcmfmac              360448  1 brcmfmac_wcc
    brcmutil               65536  1 brcmfmac
    videobuf2_common       81920  5 rpi_hevc_dec,videobuf2_dma_contig,videobuf2_v4l2,v4l2_mem2mem,videobuf2_memops
    cfg80211              819200  1 brcmfmac
    mc                     81920  5 videodev,rpi_hevc_dec,videobuf2_v4l2,videobuf2_common,v4l2_mem2mem
    rp1_adc                49152  0
    hci_uart               81920  0
    btbcm                  49152  1 hci_uart
    bluetooth             720896  23 hci_uart,btbcm
    ecdh_generic           49152  2 bluetooth
    ghash_ce               49152  0
    ecc                    65536  1 ecdh_generic
    sha1_ce                49152  0
    sha2_ce                49152  0
    sha256_arm64           49152  1 sha2_ce
    aes_ce_blk             49152  4
    rfkill                 49152  5 bluetooth,cfg80211
    aes_ce_cipher          49152  1 aes_ce_blk
    spi_bcm2835            65536  0
    gpio_keys              49152  0
    nvmem_rmem             49152  0
    pkcs8_key_parser       49152  0
    fuse                  180224  1
    nfnetlink              49152  1

    systemctl stop lircd.service
    Stopping 'lircd.service', but its triggering units are still active:
    lircd.socket

    mode2 -d /dev/remote
    Using driver default on device /dev/remote
    Cannot initiate device /dev/remote


    I have followed :-

    Zotac ID81 remote with LibreElec 9.2.2 | realmtech.net

    2) & 4) & 5) I'm making very little progress, could do with some help please.