yaVDR ansible / Lirc mit Atric

  • Hallo zusammen,


    ich möchte unter yaVDR ansible lirc mit Atric serial nutzen.


    Was muss man machen, damit diese Konfiguration funktioniert?


    Viele Grüße

    Frank

    4x yaVDR 0.7: ASUS P5N7A-VM // 2*TeVii S460 // Atric mit Lirc // 4*1,5TB // 7" TFT

    Im Aufbau: VDR-UHD mit nVidia GT1030 unter Ubuntu 20.04

    Einmal editiert, zuletzt von r371769 ()

  • Was muss man machen, damit diese Konfiguration funktioniert?

    Wenn du den Empfänger an ttyS0 (COM1) hast, einfach die Raute vor diesem Eintrag in der yavdr07.yml entfernen und das Playbook bzw. den Teil für die Rolle noch mal laufen lassen: sudo -H ansible-playbook yavdr07.yml -b -i 'localhost_inventory' --connection=local --tags="serial-ir"


    Falls du ein anderes Device als ttyS0 (sonst ist noch ttyS1 möglich) benötigst, erstellst du zusätzlich eine host_vars/localhost und trägst die gewünschte Schnittstelle darin ein, bevor du das Playbook laufen lässt:

    Code: host_vars/localhost
    serial_ir_device: ttyS1

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • ok, lirc läuft jetzt :).


    Jetzt gibt es neue Fragen:

    Wie bekomme ich meine mit irrecord angelernte Fernbedienung (Name der Fernbedienung in lirc: OneForAll) in ansible bekannt gemacht?

    Wie starte ich den lircd-Service neu? Ich bekommt im Moment die Fehlermeldung Failed to restart lircd.service: Unit lircd.service is masked.

    Sehe ich dann die Tastendrücke auch mit irw?

    4x yaVDR 0.7: ASUS P5N7A-VM // 2*TeVii S460 // Atric mit Lirc // 4*1,5TB // 7" TFT

    Im Aufbau: VDR-UHD mit nVidia GT1030 unter Ubuntu 20.04

    Einmal editiert, zuletzt von r371769 ()

  • Lircd sollte nach dem Ausführen des Playbooks nicht laufen (es sei denn man hat einen Atric IRWakeupUSB oder einen yaUsbIR Empfänger) und man braucht es auch nicht, wenn man ein IR-Protokoll verwendet, für das es einen Kernel-Decoder gibt.


    Der Kernel-Treiber serial_ir legt ein rc-core Gerät an, das man mit ir-keytable konfigurieren kann (in der Voreinstellung wird eine Keytable für eine RC-6(A) MCE-Fernbedienung geladen). Die Konfiguration erfolg dann wie in https://www.yavdr.org/document…/ch02s03.html#ir-keytable beschrieben. Das Stoppen von eventlircd (damit man mit ir-keytable die Scancodes sehen kann) kann man so umsetzen: systemctl mask --now --runtime eventlircd.service eventlircd.socket - um eventlircd wieder anzuschalten den Rechner neu starten oder das mask im Befehl durch unmask ersetzen und den --runtime Schalter dabei weglassen.


    Mal ein Beispiel für eine fertige Konfiguration auf meinem ION-VDR:

    Code
    $ sudo ir-keytable 
    /sys/class/rc/rc0/ gefunden (/dev/input/event3) mit:
        Name: Serial IR type home-brew
        Treiber: serial_ir, Tabelle: rc-rc6-mce
        Lirc Gerät: /dev/lirc0
        unterstützte Protokolle: lirc rc-5 rc-5-sz jvc sony nec sanyo mce_kbd rc-6 sharp xmp 
        Aktivierte Protokolle: lirc rc-5 
        bus: 25, Anbieter/Produkt: 0001:0001, Version: 0x0100
        Wiederholungsverzögerung = 500 ms, Wiederholungsperiode = 125 ms

    In der /etc/rc_maps.cfg lasse ich dann eine Keytable für das KLS VDR 1.6 Profil (nutzt das RC-5 extendend IR-Protokoll) meiner Harmony Fernbedienung laden:

    Code: /etc/rc_maps.cfg
    serial_ir   rc-rc6-mce          /etc/rc_keymaps/kls-1.6

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Ich habe für meine Fernbedienung eine eigene keytable in /lib/udev/rc_keymaps names rc-one4all-7960 angelegt. Diese habe ich der /etc/rc_maps.cfg wie folgt verlinkt:

    Code
    ...
    #driver table                    file
    ite-cir     rc-rc6-mce          /lib/udev/rc_keymaps/rc-rc6-mce
    nuvoton-cir rc-rc6-mce          /lib/udev/rc_keymaps/rc-rc6-mce
    # serial_ir   rc-rc6-mce          /lib/udev/rc_keymaps/rc-rc6-mce
    serial_ir   rc-rc6-mce          /lib/udev/rc_keymaps/rc-one4all-7960
    mceusb      rc-rc6-mce          /lib/udev/rc_keymaps/HOPLOrc6
    ...

    Wenn ich diese keytable manuell mit ir-keytable -c -p rc-5 -w /lib/udev/rc_keymaps/rc-one4all_7960 lade, funktioniert dies schon mal und er gibt die Tasten richtig aus.


    Nach einem Reboot wird aber leider nicht meine neue keytable geladen, er reagiert leider nicht auf die Tastendrücke.

    Code
    Found /sys/class/rc/rc0/ (/dev/input/event16) with:
            Name: Serial IR type home-brew
            Driver: serial_ir, table: rc-rc6-mce
            lirc device: /dev/lirc0
            Supported protocols: other lirc rc-5 rc-5-sz jvc sony nec sanyo mce_kbd rc-6 sharp xmp
            Enabled protocols: lirc rc-6
            bus: 25, vendor/product: 0001:0001, version: 0x0100
            Repeat delay = 500 ms, repeat period = 125 ms


    EDIT: Bei mir wird rc-6 als Protokoll enabled, obwohl in der keytable RC5 drinsteht


    Wo muss ich noch dran drehen?

    4x yaVDR 0.7: ASUS P5N7A-VM // 2*TeVii S460 // Atric mit Lirc // 4*1,5TB // 7" TFT

    Im Aufbau: VDR-UHD mit nVidia GT1030 unter Ubuntu 20.04

    2 Mal editiert, zuletzt von r371769 ()

  • EDIT: Bei mir wird rc-6 als Protokoll enabled, obwohl in der keytable RC5 drinsteht

    Wo muss ich noch dran drehen?

    Wie sieht denn die erste Zeile der von dir erstellten Keytable aus? Die sollte wie bei im von mir geposteten Beispiel aussehen:

    Code
    # table rc-rc6-mce, type: RC5

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Selbst wenn ich in der /etc/rc_maps.cfg den Eintrag * * /lib/udev/rc_keymaps/rc-one4all_7960 drin habe, wird diese Keymap nicht geladen.


    Irgendwie habe ich den Eindruck, an der falschen Stelle zu suchen.

    4x yaVDR 0.7: ASUS P5N7A-VM // 2*TeVii S460 // Atric mit Lirc // 4*1,5TB // 7" TFT

    Im Aufbau: VDR-UHD mit nVidia GT1030 unter Ubuntu 20.04

  • Hhhmm, bei mir sieht das etwas anders aus: type: rc-5 und nicht type: RC5

    Meine Ausgabe von ir-keytable sieht dann auch so aus:

    Code
    yavdr# ir-keytable
    /sys/class/rc/rc0/ gefunden (/dev/input/event11) mit:
            Name: Serial IR type home-brew
            Treiber: serial_ir, Tabelle: rc-rc6-mce
            Lirc Gerät: /dev/lirc0
            unterstützte Protokolle: other lirc rc-5 rc-5-sz jvc sony nec sanyo mce_kbd rc-6 sharp xmp
            Aktivierte Protokolle: lirc rc-5
            bus: 25, Anbieter/Produkt: 0001:0001, Version: 0x0100
            Wiederholungsverzögerung = 500 ms, Wiederholungsperiode = 125 ms

    Wichtig hierbei ist m.M. nach auch die Angabe Aktivierte Protokolle: lirc rc-5


    Laden der richtigen keymap kann man über:

    ir-keytable -a /pfad-zur-keymap/rc_maps.cfg -s rc0

  • Hhhmm, bei mir sieht das etwas anders aus: type: rc-5

    Habs gerade nochmal mit rc-5 getestet und komme leider zu dem gleichen Ergebnis. Meine keytable wird nicht geladen.


    Kann udev da irgendwas in eine andere Richtung lenken?

    4x yaVDR 0.7: ASUS P5N7A-VM // 2*TeVii S460 // Atric mit Lirc // 4*1,5TB // 7" TFT

    Im Aufbau: VDR-UHD mit nVidia GT1030 unter Ubuntu 20.04

  • Was bringt denn die Ausgabe von ir-keytable ?

    Welche Protokolle werden denn überhaupt unterstützt bzw. aktiviert?


    Und mach doch mal das ir-keytable -a /etc/rc_maps.cfg -s rc0 , evtl. den Pfad zur "rc_maps.cfg" anpassen.

    Bei mir kommt da z.B. folgende Ausgabe, wobei ich nur die 1 keytable, welche ich für meine Fernbedienung erstellt habe, in der "rc_maps.cfg" aktiviert habe.

    Code
    ir-keytable -a /etc/rc_maps.cfg -s rc0
    alte Schlüsseltabelle geleert
    36 Schlüsselcode(s) wurden in den Treiber geschrieben.
    Protokolle geändert in rc-5

    Erst jetzt wird doch das richtige Protokoll aktiviert!


    Nachtrag:

    Eine sehr gute und ausführliche Anleitung für "ir-keytable mit serial-ir" findest Du hier: Step by Step serial-ir mit ir-keytable

    4 Mal editiert, zuletzt von Paulaner ()

  • Meine keytable wird nicht geladen.

    Kannst du die mal unverändert als Datei anhängen?

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Ich bin bei ansible nicht auf dem Laufenden. Braucht es noch die udev-Regel, um eventlirc das Ding mitzuteilen?

    Code
    ENV{ID_VENDOR_ID}=="0419", ENV{ID_MODEL_ID}=="0001", \
      ENV{eventlircd_enable}="true",\
      ENV{eventlircd_evmap}="03_$env{ID_VENDOR_ID}_$env{ID_MODEL_ID}.evmap"
  • rc-core Empfänger werden über diesen Teil der udev-Regel eingebunden: https://github.com/yavdr/yavdr…v/98-eventlircd.rules#L63


    Das Problem ist eher, dass die Keytable (oder das Protokoll) nicht auf den Empfänger anwendet wird.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Das Problem ist eher, dass die Keytable (oder das Protokoll) nicht auf den Empfänger anwendet wird.

    Siehe meine Hinweise zum Laden der keytable im Beitrag #15 in diesem Thread!


    Außerdem gibt es bereits eine Diskussion zu dem Thema im "yavdr-ansible"-Thread, wo genau beschrieben ist, wie man das alles zu laufen bekommt:

    Ab Beitrag #220 bis ca. #227

  • Kannst du die mal unverändert als Datei anhängen?

    Code
    # table rc-rc6-mce, type: RC5
    0x80c KEY_POWER
    0x86b KEY_RED
    0x852 KEY_MENU
    0x822 KEY_RETURN

    Ich habe zu Testzwecken nur diese 4 Tasten definiert.


    EDIT:

    Was bringt denn die Ausgabe von ir-keytable ?

    Code
    Found /sys/class/rc/rc0/ (/dev/input/event4) with:
            Name: Serial IR type home-brew
            Driver: serial_ir, table: rc-rc6-mce
            lirc device: /dev/lirc0
            Supported protocols: other lirc rc-5 rc-5-sz jvc sony nec sanyo mce_kbd rc-6 sharp xmp
            Enabled protocols: lirc rc-6
            bus: 25, vendor/product: 0001:0001, version: 0x0100
            Repeat delay = 500 ms, repeat period = 125 ms

    4x yaVDR 0.7: ASUS P5N7A-VM // 2*TeVii S460 // Atric mit Lirc // 4*1,5TB // 7" TFT

    Im Aufbau: VDR-UHD mit nVidia GT1030 unter Ubuntu 20.04

    Einmal editiert, zuletzt von r371769 ()

  • Und mach doch mal das ir-keytable -a /etc/rc_maps.cfg -s rc0

    ich halte folgende Reaktion

    Code
    Empty table /lib/udev/rc_keymaps/rc-one4all-7960

    Eigentlich müssten doch jetzt die 4 Keycodes geladen werden - oder?


    EDIT-1:

    Nachdem ich das Protokoll auf rc-5 umgestellt habe

    Code
    ir-keytable -s rc0 -p rc-5

    Und die keytable nochmal lade

    Code
    ir-keytable -a /etc/rc_maps.cfg -s rc0

    Bekomme ich nun ein besseres (:)) Ergebnis:

    Code
    Read rc-rc6-mce table
    Old keytable cleared
    Wrote 4 keycode(s) to driver
    Protocols changed to rc-5

    Mal sehen wie das nach einem Reboot ausssieht?


    EDIT-2:

    Nach dem Booten sind die Protokoll-Einstellungen leider wieder weg. Es wird meine Keytable nicht geladen ...

    4x yaVDR 0.7: ASUS P5N7A-VM // 2*TeVii S460 // Atric mit Lirc // 4*1,5TB // 7" TFT

    Im Aufbau: VDR-UHD mit nVidia GT1030 unter Ubuntu 20.04

    2 Mal editiert, zuletzt von r371769 ()

  • Mich hätte der Dateiname interessiert, wei du in den früheren Posts munter Binde- und Unterstriche durcheinander geworfen hast...

    serial_ir rc-rc6-mce /lib/udev/rc_keymaps/rc-one4all-7960

    Selbst wenn ich in der /etc/rc_maps.cfg den Eintrag * * /lib/udev/rc_keymaps/rc-one4all_7960 drin habe, wird diese Keymap nicht geladen.

    Wenn ich diese keytable manuell mit ir-keytable -c -p rc-5 -w /lib/udev/rc_keymaps/rc-one4all_7960 lade, funktioniert dies schon mal und er gibt die Tasten richtig aus.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Wie seahawk1986 schon sagt, Du hast hier einige dateinamen unterschiedlich geschrieben!

    Einmal schreibst Du rc-one4all-7960 und dann wieder rc-one4all_7960.


    Du solltest also nochmals genau kontrollieren, was Du in der /etc/rc_keymaps.cfg drin stehen hast!

  • Mich hätte der Dateiname interessiert, wei du in den früheren Posts munter Binde- und Unterstriche durcheinander geworfen hast...

    8| Ach du Schreck ... Dateiname gecheckt, ist rc-one4all_7960 ... In /etc/rc_maps.cfg geprüft. Eintrag ist * * rc-one4all-7960. Ach du meine Güte :sleep.


    Dateiname geändert und (wer hätte es gedacht), er lädt nach einem Reboot mit RC-5 meine Keytable :).


    Sorry, da war ich wohl betriebsblind. Vielen Dank für Eure Hilfe beim Augenöffnen :thumbup:.


    Jetzt muss ich mal schauen, warum der VDR auf diese Tasten noch nicht reagiert ...


    EDIT:

    Dann doch noch eine Frage:

    Wie kann ich verhindern, dass meine Änderung in etc/rc_maps.cfg beim nächsten Playbook-Update überschrieben wird?

    4x yaVDR 0.7: ASUS P5N7A-VM // 2*TeVii S460 // Atric mit Lirc // 4*1,5TB // 7" TFT

    Im Aufbau: VDR-UHD mit nVidia GT1030 unter Ubuntu 20.04

Jetzt mitmachen!

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