[gelöst] Probleme mit Debian Stretch und lircinput seit Debian 4.8.11

  • Also irw tut, anscheinend kommen aber die falschen Codes an, die der VDR natürlich nicht kennt.

    Code
    67 0 KEY_CODE_103 /dev/input/remote
    67 0 KEY_CODE_103 /dev/input/remote
    72 0 KEY_CODE_114 /dev/input/case
    72 0 KEY_CODE_114 /dev/input/case

    ir-keytable -r gibt mir meine aktuelle Tabelle aus:

    Was ich nicht verstehe, woher kommen dann obige KEY_CODE_xxx her? Irgendwas hab ich da übersehen.


    Hier noch die udev-Rule, eventuell stimmt damit was nicht?

    Code
    # Change IR Protocol
    ACTION=="add|change", SUBSYSTEM=="rc", SUBSYSTEMS=="usb", DRIVERS=="imon", ATTR{protocols}="rc-6"
    
    # Load MCE keymap
    ACTION=="add|change", KERNEL=="event[0-9]*", SUBSYSTEMS=="rc", RUN+="/usr/bin/ir-keytable -c -w /etc/rc_keymaps/imon_mce"

    Oder ist meine Table eventuell nicht geladen?


    Code
    Found /sys/class/rc/rc0/ (/dev/input/event14) with:
        Driver imon, table rc-imon-pad
        Supported protocols: other rc-6 
        Enabled protocols: rc-6 
        Name: iMON Remote (15c2:0034)
        bus: 3, vendor/product: 15c2:0034, version: 0x0014
        Repeat delay = 500 ms, repeat period = 125 ms

    - Client1: Thermaltake DH 102 mit 7" TouchTFT * Debian Stretch/vdr-2.4.0/graphtft/MainMenuHooks-Patch * Zotac H55-ITX WiFi * Core i3 540 * 4GB RAM ** Zotac GT630 * 1 TB System HDD * 4 GB RAM * Harmony 900 * satip-Plugin

    - Client2: Alfawise H96 Pro Plus * KODI
    - Server: Intel Pentium G3220 * DH87RL * 16GB RAM * 4x4TB 3.5" WD RED + 1x500GB 2.5" * satip-Plugin
    - SAT>IP: Inverto iLNB

    Einmal editiert, zuletzt von TheChief ()

  • Was steht denn in der /etc/rc_keymaps/imon_mce und warum lässt du die nicht über den dafür vorgesehen Mechanismus in der /etc/rc_maps.cfg (der wird über die /lib/udev/rules.d/60-ir-keytable.rules aufgerufen) laden?

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Ist noch aus Lirc-Zeiten und der Umstellung auf inputlirc so übergeblieben. Was müsste ich denn da wie Konfigurieren?


    Hier meine imon_mce:


    Wenn ich meine Rule rauslösche, erhalte ich das hier:


    Code
    Found /sys/class/rc/rc0/ (/dev/input/event6) with:
        Driver imon, table rc-imon-pad
        Supported protocols: other rc-6 
        Enabled protocols: other 
        Name: iMON Remote (15c2:0034)
        bus: 3, vendor/product: 15c2:0034, version: 0x0014
        Repeat delay = 500 ms, repeat period = 125 ms

    Möchte aber, dass das ganze mit RC-6 läuft und rc-imon-mce geladen wird. Wie mache ich denn das dann?

    - Client1: Thermaltake DH 102 mit 7" TouchTFT * Debian Stretch/vdr-2.4.0/graphtft/MainMenuHooks-Patch * Zotac H55-ITX WiFi * Core i3 540 * 4GB RAM ** Zotac GT630 * 1 TB System HDD * 4 GB RAM * Harmony 900 * satip-Plugin

    - Client2: Alfawise H96 Pro Plus * KODI
    - Server: Intel Pentium G3220 * DH87RL * 16GB RAM * 4x4TB 3.5" WD RED + 1x500GB 2.5" * satip-Plugin
    - SAT>IP: Inverto iLNB

    Einmal editiert, zuletzt von TheChief ()

  • Im Header der Keytable:

    Code
    # table imon_pad, type: RC6

    Dann mal versuchen, ob das manuelle Laden klappt:

    Code
    /usr/bin/ir-keytable -c -w /etc/rc_keymaps/imon_mce

    Und wenn das erfolgreich war noch eine Regel in der /etc/rc_maps.cfg anlegen:

    Code
    imon       rc-imon-pad              /etc/rc_keymaps/imon_mce

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Ich hab schon vieles versucht, aber irw liefert nur diese KEY_CODE_xxx, egal was ich mache. Gibts eventuell ein Problem mit imon und Kernel 4.9.0? hab da jetzt nichts konkretes gefunden. Woher kommen diese KEY_CODES? SInd das Tastatureingaben oder werden die Fernbedienungsevents als Tastatureingaben interpretiert?

    - Client1: Thermaltake DH 102 mit 7" TouchTFT * Debian Stretch/vdr-2.4.0/graphtft/MainMenuHooks-Patch * Zotac H55-ITX WiFi * Core i3 540 * 4GB RAM ** Zotac GT630 * 1 TB System HDD * 4 GB RAM * Harmony 900 * satip-Plugin

    - Client2: Alfawise H96 Pro Plus * KODI
    - Server: Intel Pentium G3220 * DH87RL * 16GB RAM * 4x4TB 3.5" WD RED + 1x500GB 2.5" * satip-Plugin
    - SAT>IP: Inverto iLNB

  • was siehst du denn mit evtest?

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Sieht soweit gut aus mit gestopptem inputlirc:


    ir-keytable -t tut ja auch mit gestopptem inputlirc

    - Client1: Thermaltake DH 102 mit 7" TouchTFT * Debian Stretch/vdr-2.4.0/graphtft/MainMenuHooks-Patch * Zotac H55-ITX WiFi * Core i3 540 * 4GB RAM ** Zotac GT630 * 1 TB System HDD * 4 GB RAM * Harmony 900 * satip-Plugin

    - Client2: Alfawise H96 Pro Plus * KODI
    - Server: Intel Pentium G3220 * DH87RL * 16GB RAM * 4x4TB 3.5" WD RED + 1x500GB 2.5" * satip-Plugin
    - SAT>IP: Inverto iLNB

  • Schau mal nach, welcher Prozess den Lirc-Sockel bereistellt:

    Code
    fuser -vu /var/run/lirc/lircd

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Code
    root@htpc:~#     fuser -vu /var/run/lirc/lircd
                         BEN.        PID ZUGR.  BEFEHL
    /run/lirc/lircd:     nobody      522 F.... (nobody)inputlircd
    
    root@htpc:~# ps aux|grep inputlircd
    nobody     522  0.0  0.0  12624   132 ?        Ss   16:00   0:00 /usr/sbin/inputlircd -g -m 0 /dev/input/remote /dev/input/case

    Liegt eventuell an nobody?

    - Client1: Thermaltake DH 102 mit 7" TouchTFT * Debian Stretch/vdr-2.4.0/graphtft/MainMenuHooks-Patch * Zotac H55-ITX WiFi * Core i3 540 * 4GB RAM ** Zotac GT630 * 1 TB System HDD * 4 GB RAM * Harmony 900 * satip-Plugin

    - Client2: Alfawise H96 Pro Plus * KODI
    - Server: Intel Pentium G3220 * DH87RL * 16GB RAM * 4x4TB 3.5" WD RED + 1x500GB 2.5" * satip-Plugin
    - SAT>IP: Inverto iLNB

  • Für mich sieht das eher danach aus, dass der Keycode-Lookup nicht funktioniert, weil die KEY-Definitionen nicht mehr in dem Header-File des Linux-Kernel sind, an dem sie das vom Makefile aufgerufene Skript gennames erwartet.


    Ich würde mal versuchen das im Makefile so zu ändern und danach das Paket neu zu bauen:

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Sowas dachte ich mir, hatte mir gestern abend noch den Code gezogen von inputlirc.


    Anscheinend kommen die KEY_CODE_xxx ja von hier:


    Code
    if(KEY_NAME[event.code])
            len = snprintf(message, sizeof message, "%x %x %s%s%s%s%s %s\n", event.code, repeat, ctrl ? "CTRL_" : "", shift ? "SHIFT_" : "", alt ? "ALT_" : "", meta ? "META_" : "", KEY_NAME[event.code], evdev->name);
        else
            len = snprintf(message, sizeof message, "%x %x KEY_CODE_%d %s\n", event.code, repeat, event.code, evdev->name);

    Also irgendwie fehlt da die Übersetzungtabelle für die Key-Names. Scheint sich aber auch am Sourcecode nichts geändert zu haben, daher verstehe ich das nicht ganz, wo es bei mir klemmt.


    Ich probiere das mal. Wie baue ich ein Debianpaket neu?


    EDIT: Hab nur mal eben mit make neu gebaut und schon tut es wieder. Vielen Dank! Eventuell noch als Debianpaket bauen, aber sonst scheint es jetzt zu gehen.

    - Client1: Thermaltake DH 102 mit 7" TouchTFT * Debian Stretch/vdr-2.4.0/graphtft/MainMenuHooks-Patch * Zotac H55-ITX WiFi * Core i3 540 * 4GB RAM ** Zotac GT630 * 1 TB System HDD * 4 GB RAM * Harmony 900 * satip-Plugin

    - Client2: Alfawise H96 Pro Plus * KODI
    - Server: Intel Pentium G3220 * DH87RL * 16GB RAM * 4x4TB 3.5" WD RED + 1x500GB 2.5" * satip-Plugin
    - SAT>IP: Inverto iLNB

    Einmal editiert, zuletzt von TheChief ()

  • Scheint sich aber auch am Sourcecode nichts geändert zu haben, daher verstehe ich das nicht ganz, wo es bei mir klemmt.

    Am Sourcecode von inputlirc nicht, aber am Sourcecode des Linux-Kernel - da sind die Tastendefinitionen in eine andere Header-Datei gewandert - das Makefile baut im Target names.h ein Header-File names.h mit einem Bash-Skript zusammen, das effektiv die Tastendefinitionen aus dem Linux-Kernel kopiert und zusätzlich einen Array aufbaut, bei dem der Key-Code als Index für den Tastennamen genutzt wird. Mit einem aktuellen Kernel und dem Ist-Zustand des Pakets ist das erzeugte Array leer.


    Wie baue ich ein Debianpaket neu?

    Quick and Dirty: Quellpaket holen, Änderung vornehmen, neu bauen (die deb-src Einträge für die Paketquellen müssen natürlich aktiviert sein, damit apt-get das Quellpaket für inputlirc laden kann):

    Code
    apt-get source inputlirc
    cd inputlirc-23/
    sed -i 's#/usr/include/linux/input.h gennames#/usr/include/linux/input-event-codes.h gennames#' Makefile
    dch -l 'local' -m 'fix source path for gennames'
    dpkg-buildpackage -us -uc -b
    dpkg -i ../inputlirc*.deb

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Hab das mal an den Paket-Maintainer per Email gesendet. Mal sehen, ob das dann demnächst geändert wird. Danke nochmal.

    - Client1: Thermaltake DH 102 mit 7" TouchTFT * Debian Stretch/vdr-2.4.0/graphtft/MainMenuHooks-Patch * Zotac H55-ITX WiFi * Core i3 540 * 4GB RAM ** Zotac GT630 * 1 TB System HDD * 4 GB RAM * Harmony 900 * satip-Plugin

    - Client2: Alfawise H96 Pro Plus * KODI
    - Server: Intel Pentium G3220 * DH87RL * 16GB RAM * 4x4TB 3.5" WD RED + 1x500GB 2.5" * satip-Plugin
    - SAT>IP: Inverto iLNB

  • Das heißt, dass es jetzt funktioniert?

    Hab das mal an den Paket-Maintainer per Email gesendet.

    Prima, dann muss ich das nicht machen :)

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Achso, wie kann ich denn verhindern, dass es mit bei apt update das alte inputlirc wieder installiert?

    - Client1: Thermaltake DH 102 mit 7" TouchTFT * Debian Stretch/vdr-2.4.0/graphtft/MainMenuHooks-Patch * Zotac H55-ITX WiFi * Core i3 540 * 4GB RAM ** Zotac GT630 * 1 TB System HDD * 4 GB RAM * Harmony 900 * satip-Plugin

    - Client2: Alfawise H96 Pro Plus * KODI
    - Server: Intel Pentium G3220 * DH87RL * 16GB RAM * 4x4TB 3.5" WD RED + 1x500GB 2.5" * satip-Plugin
    - SAT>IP: Inverto iLNB

  • Eigentlich sollte das selbst gebaute Paket neuer sein als das in den Debian-Paketquellen (und die nächste Version des Paketes sollte dann ja hoffentlich schon den Fix beinhalten) - wenn du die Version halten willst, sollte das so gehen:

    Code
    apt-mark hold inputlirc

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Ich schaue heute nochmal. Hatte gestern ein Update gemacht, da wurde inputlirc geupdated, aber als ich mir den Sourcecode holte, sah das Makefile noch genauso aus. Hatte jetzt aber nicht weiter geschaut, ob sich sonst was geändert hat.

    - Client1: Thermaltake DH 102 mit 7" TouchTFT * Debian Stretch/vdr-2.4.0/graphtft/MainMenuHooks-Patch * Zotac H55-ITX WiFi * Core i3 540 * 4GB RAM ** Zotac GT630 * 1 TB System HDD * 4 GB RAM * Harmony 900 * satip-Plugin

    - Client2: Alfawise H96 Pro Plus * KODI
    - Server: Intel Pentium G3220 * DH87RL * 16GB RAM * 4x4TB 3.5" WD RED + 1x500GB 2.5" * satip-Plugin
    - SAT>IP: Inverto iLNB

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!