Intel-NUC und RC5-Fernbedienung für VDR - passende remote.conf?

  • Hallo zusammen,


    ich möchte an meinem Broadwell Intel-NUC und derem internen Nuvoton CIR (Consumer Infrared Receiver) meine bisherige RC5 Fernbedienung zum laufen bekommen, um damit den VDR zu bedienen.

    • HW-Konfiguration: Nach anfänglichem Zweifel ob der CIR überhaupt RC5 Format unterstützt (weil im BIOS meines Broadwell NUC5i3RYH für den CIR die drei Varianten: Generic Remote Controller, RC6 Remote Controller und XBOX Remote Controller) eingestellt werden kann; RC5 wird nicht expilziert aufgeführt, und auch in der Doku ist RC5 in keinem Wort erwähnt), bin ich jetzt ein Stück weiter. Ja ich kann RC5 Kommandos empfangen. Ich habe im BIOS die Einstellung "Generic Remote Controller" gewählt.


    • SW-Installation: lirc ist ja mittlerweile durch inputlirc oder eventlirc ersetzt. Ich habe bei mir inputlirc installiert. Ich empfange auch schon Codes von meiner Hauppuage Fernbedienung, nur ist scheinbar meine remote.conf noch nicht richtig eingestellt, daß der VDR die Zeichen auch korrekt empfängt.


    Wenn ich inputlirc starte, sehe ich, daß inputlirc Events von meiner FB (über /dev/input/event4) auswertet und an /var/run/lirc/lircd ausgibt.



    Mit IR-Keytable kann ich auch Zeichen von der Fernbedienung empfangen



    Was scheinbar noch fehlt, ist die richtige Zuordnung der Scancodes in der remote.conf (da hab ich noch die remote conf, die früher mit LIRC zusammengearbeitet hat, und ich finde auch nichts darüber, wie ich die Scancodes, oder Kombination aus Scancodes und Events dort korrekt eintrage ...)


    In einem Beitrag hab ich was gefunden von KEY_NUMERIC_1, ... (und ich hab das im LIRC Teil der remote.conf in den Zeilen 2-6 mal abgeändert, aber das hat auch nicht geklappt), so daß ich hoffe - mir kann da jemand weiterhelfen ...



    m.f.G.
    Michael

    VDR: Zotac ION-ITX F mit 2xSundtek Media-TV USB-Stick (für DVB-C); Debian Wheezy (3.2.0-4-686-pae)
    VDR: ASRock Q1900DC mit 1xTerratec Rev. 2 USB Stick (für DVB-C); Debian Ubuntu 14.04 LTS
    VDR: Intel NUC (Skylake i5) mit 128 GB SSD, 1GB Disk, 2xSundtek USB DVB-C Stick; Debian Stretch (4.9.30-2 x86_64)

  • Das ist eigentlich nicht schwer - du hast den CIR-Empfänger, für den ein Kernel Input Device angelegt wird.
    Als erstes sollte man sich ansehen, welche Eigenschaften der Empfänger hat - hier mal für einen CIR-Empfänger an einem Intel DH67BL:

    Code
    sudo ir-keytable
    [sudo] Passwort für alexander:
    Found /sys/class/rc/rc0/ (/dev/input/event4) with:
            Driver nuvoton-cir, table rc-rc6-mce
            Supported protocols: NEC RC-5 RC-6 JVC SONY SANYO LIRC RC-5-SZ SHARP XMP other
            Enabled protocols: RC-6
            Name: Nuvoton w836x7hg Infrared Remote
            bus: 25, vendor/product: 1050:00b4, version: 0x0073
            Repeat delay = 500 ms, repeat period = 125 ms


    Damit der Treiber verwertbare Tastendrücke ausgibt, muss man ihm einen passende Keytable übergeben. Dazu braucht man die Scancodes und die Namespace-Konformen Tastennamen, die man einander in einer Keytable zuordnet.
    Der Name der keytable ist abhängig davon, was ir-keytable für den Empfänger als Treiber und Standard-Keytable ausgibt - für die Happauge RC5 Fernbedienungen (A415 und R808) sieht eine Keytable dann z.B. so aus:

    Die Keytable kann man dann mit ir-keytable laden lassen und den Empfänger auf RC-5 umstellen:

    Code
    sudo ir-keytable -w /etc/rc_keymaps/my_keytable -p RC-5

    Jetzt solltest du mit "ir-keytable -t" auch Tastendrücke sehen. Die Fernbedienung kannst du dann einfach mit dem VDR neu anlernen oder diese Zeilen für die remote.conf nutzen: https://github.com/yavdr/yavdr…dr/remote.conf/10_buttons


    Damit die Keytable beim Start automatisch geladen wird, trägt man dann noch z.B. so eine Zeile in die /etc/rc_maps.cfg ein, wo man dem Treiber und der gerätespezifischen Tabelle eine Keytable zuordnen kann:

    Code
    nuvoton-cir rc-rc6-mce /etc/rc_keymaps/my_keytable


    In der yaVDR-Dokumentation habe ich das Vorgehen Schritt für Schritt beschrieben: https://dl.dropboxusercontent.…/ch02s03.html#ir-keytable

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Hallo seahawk,


    Danke für Deine Tips. In der /etc/rc_maps.cfg war die lokale Keytable nicht korrekt eingetragen, und in der /etc/vdr/remote.conf waren die Key´s noch mit den alten namen eingtragen (1 statt KEY_1, ...).


    Jetzt klappt die Konvertierung der Scancodes in Keycodes (mit ir-keytable -t werden jetzt key-down und key-up Meldungen mit den Key-Codes angezeigt ...)



    Jetzt hab ich ein komisches Verhalten:

    • Wenn ich inputlirc stoppe !!! (nach: service inputlirc stop), dann sehe ich Reaktion auf die Tastendrücke (zumindest bei den Ziffern 1-9 kann ich damit den Kanal umschalten; die Farb-Tasten, laut/leise, Channel Up/Down hingegen geht nicht)


    • Wenn ich inputlirc laufen habe (nach: service inputlirc start), dann funktionieren auch die Zifferntasten 0-9 nicht (dann geht die Fernbedienung gar nicht ...)

    Ich brauche doch inputlirc, der die Tasten von /dev/input/event4 verarbeitet und an /var/run/lirc/lircd weiterleitet (/usr/sbin/inputlircd -g -m 0 -d /var/run/lirc/lircd /dev/input/event4) :wow Oder nicht???



    m.f.G.
    Michael

    VDR: Zotac ION-ITX F mit 2xSundtek Media-TV USB-Stick (für DVB-C); Debian Wheezy (3.2.0-4-686-pae)
    VDR: ASRock Q1900DC mit 1xTerratec Rev. 2 USB Stick (für DVB-C); Debian Ubuntu 14.04 LTS
    VDR: Intel NUC (Skylake i5) mit 128 GB SSD, 1GB Disk, 2xSundtek USB DVB-C Stick; Debian Stretch (4.9.30-2 x86_64)

  • Die Tastendrücke ohne inputlircd kommen vermutlich daher, dass du in deiner remote.conf auch noch Tastendefinitionen für XKeySyms hast, die halt nur teilweise den Tastennamen entsprechen, die die Fernbedienung absetzt - für die Zifferntasten z.B. sowas:

    Prinzipiell könnte man die Tastennamen so anpassen, dass die Tastendrücke von der Fernbedienung wie von einernormale Tastatur über den X-Server an das Frontend weitergereicht werden. In der Praxis hatte ich damit aber ein sehr sprunghaftest Verhalten, wenn man eine Taste schnell wiederholt drückt bzw. gedrückt hält - ob dir das genügt, musst du ausprobieren. Dabei muss man dann auch beachten, dass der X-Server Tastencodes > 255 ignoriert (weshalb ein Teil der Tastendrücke gar nicht bis zum X-Server kommt) - wie das im Kernel definiert ist, kannst du dir z.B. hier ansehen: http://lxr.free-electrons.com/…nclude/uapi/linux/input.h


    Zum Problem, dass inputlircd nach dem erneuten Start keine Tastendrücke mehr liefert: das Programm kann sich soweit ich weiß ein Gerät nicht mehr greifen, wenn es nach dem X-Server gestartet wird (eventlircd hat das Problem nicht, weswegen ich es für die praktischere Alternative halte).


    Zu der Ausgabe von ps: Du startest da sowohl den VDR als auch vdr-sxfe so, dass sie jeweils vom Lirc-Sockel lesen - eigentlich genügt es, wenn das einer von beiden macht.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Hallo seahawk,


    stimmt, die Tastendrücke bei abgeschaltetem inputlirc kamen von XKeySyms Definitionen in der remote.conf. Als ich dort die Tasten mit KEY_XYZ bezeichnet hatte, lief die FB auch unter inputlirc.



    Jetzt muß ich nur noch die Frequenz etwas heraufsetzen, in der die Tastendrücke gemeldet werden (das Scrollen in einer Liste geht noch ziemlich langsam), dann ist das erledigt.


    Vielen Dank für die Hilfe.


    M.f.G.
    Michael

    VDR: Zotac ION-ITX F mit 2xSundtek Media-TV USB-Stick (für DVB-C); Debian Wheezy (3.2.0-4-686-pae)
    VDR: ASRock Q1900DC mit 1xTerratec Rev. 2 USB Stick (für DVB-C); Debian Ubuntu 14.04 LTS
    VDR: Intel NUC (Skylake i5) mit 128 GB SSD, 1GB Disk, 2xSundtek USB DVB-C Stick; Debian Stretch (4.9.30-2 x86_64)

  • Hallo,


    das ist natürlich auch eine Idee mit CIR wieder die "alte" RC5 Fernbedienung zu nutzen.



    Warum bleibt die table auf rc-rc6-mce ?


    Danke

  • Da wird wohl irgendwo in der /etc/rc_maps.cfg stehen, dass für "ite-cir" rc6 verwendet werden soll?
    Ich benutze "nuvoton-cir" und bei mir steht in der Datei zB das hier:
    nuvoton-cir rc-rc6-mce /lib/udev/rc_keymaps/rc-rc6-mce

    MyVDR: yaVDR-Ansible (Ubuntu 20) - softhddevice-openglosd (ffmpeg 2.8) - epgd/epg2vdr - skindesigner estuary4vdr (adaptiert) - 1920x1080@50 Hz | kodi 18 - inputstream + amazon vod
    Aerocube M40 | 300W | ASRock H61M-GE | Intel G530 | Asus ENGT520 | 2 x TT-budget S2-3200 | ASRock Smart Remote (CIR) | 4 GB RAM | 120 GB SSD | 3 TB HDD

  • Die /etc/rc_maps.cfg habe ich auch angepasst:

    Code
    ite-cir                         rc-hauppauge                      /etc/rc_keymaps/rc-hauppauge


    Damit das beim Start automatisch geladen wird...


    Habe mit "ir-keytable -t" getestet, es kommen keine Tastendrücke von der RC5 FB an :(

    Einmal editiert, zuletzt von vdr_rossi ()

  • Oder kann der ite-cir vom Intel NUC5PPYH kein RC5 ?

  • Die Keytable in der rc_maps.cfg muss entweder rc-rc6-mce heißen oder du setzt an der Stelle ein Sternchen. Der Header der Keytable sollte dann in etwa so aussehen:

    Code
    # table rc-rc6-mce, type: RC-5


    Zum Testen des RC-5 Decoding würde ich die bestehende Keytable löschen und die neue Keytable von Hand laden:

    Code
    sudo ir-keytable -c -p RC-5 -w /etc/rc_keymaps/rc-hauppauge

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

Jetzt mitmachen!

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