Posts by FrankJepsen

    Ich habe nun testweise die Regel von LibreElec nach /lib/udev/rules.d/60-ir-keytable.rules übernommen:

    Ergänzt habe ich Wiederholungsverzögerung und Wiederholungsperiode.

    Außerdem ist hier die Möglichkeit für eine benutzerdefinierte rc_maps.cfg.

    Vielleicht macht es ja Sinn dies bei yaVDR zu nutzen.


    Scheint bisher ohne Probleme zu funktionieren.

    Bei mir kommt es manchmal vor, dass die Fernbedienung nicht richtig startet.

    Meine Keymap sieht so aus:

    Und rc_maps.conf

    ir-keytableliefert dann im Normalfall:

    Heute habe ich mal wieder den Fehler den Fehler produzieren können.

    Hier war folgendes in ir-keytable zu sehen:

    Im Log ist zu sehen, dass hier fälschlicherweise das RC6 Protokoll statt RC5 und NEC aktiviert wurde. Außerdem hat ir-keytable eine Fehlermeldung gebracht.

    Hier der interessante Teil:

    Code
    1. Nov 10 16:07:04 YAVDR kernel: serial_ir serial_ir.0: auto-detected active low receiver
    2. Nov 10 16:07:04 YAVDR kernel: lirc_dev: IR Remote Control driver registered, major 238
    3. Nov 10 16:07:04 YAVDR kernel: IR LIRC bridge handler initialized
    4. Nov 10 16:07:04 YAVDR kernel: Registered IR keymap rc-rc6-mce
    5. Nov 10 16:07:04 YAVDR kernel: IR RC6 protocol handler initialized
    6. Nov 10 16:07:04 YAVDR systemd-udevd[289]: Process '/usr/bin/ir-keytable -a /etc/rc_maps.cfg -s rc1' failed with exit code 255.
    7. Nov 10 16:07:04 YAVDR systemd-modules-load[251]: Inserted module 'serial_ir'

    Ein später ausgeführtes ir-keytable -a /etc/rc_maps.cfg -s rc1hat die richtigen Protokolle aktiviert:

    Code
    1. Nov 10 16:08:52 YAVDR checktv[1165]: alte Schlüsseltabelle geleert
    2. Nov 10 16:08:52 YAVDR checktv[1165]: 90 Schlüsselcode(s) wurden in den Treiber geschrieben.
    3. Nov 10 16:08:52 YAVDR kernel: IR RC5(x/sz) protocol handler initialized
    4. Nov 10 16:08:52 YAVDR kernel: IR NEC protocol handler initialized
    5. Nov 10 16:08:52 YAVDR checktv[1165]: Protokolle geändert in rc-5 nec

    Das scheint dem hier diskutierten Problem zu entsprechen: https://www.spinics.net/lists/linux-media/msg118642.html

    Auch hier geht es um dieses Thema: https://patchwork.kernel.org/patch/9904169/

    Danke für die Erklärung. Auf der Suche nach weiteren Informationen zu diesem Thema bin ich auf zwei weitere Stellen mit Regeln zu diesem Thema gestoßen.

    Zur Zeit sieht die Regel bei mir so aus:

    Code
    1. /lib/udev/rules.d/60-ir-keytable.rules
    2. # Automatically load the proper keymaps after the Remote Controller device
    3. # creation.
    4. # The keycode tables rules should be at /etc/rc_maps.cfg
    5. ACTION=="add", SUBSYSTEM=="rc", RUN+="/usr/bin/ir-keytable -a /etc/rc_maps.cfg -s $name

    Hier wird vorgeschlagen, dies in

    Code
    1. ACTION=="add", SUBSYSTEM=="input", SUBSYSTEMS=="rc", KERNEL=="event*", ENV{.rc_sysdev}="$id", RUN+="/usr/bin/ir-keytable -a /etc/rc_maps.cfg -s $env{.rc_sysdev}"

    zu ändern, weil dadurch verhindert wird, dass ir-keytable ausgeführt wird, bevor das Input Device erzeugt wurde. Vielleicht ist es das was bei mir manchmal passiert.

    In LibreElec fand ich diese Regel die mir ähnlich scheint:

    Leider kann ich nicht recht beurteilen, was von den beiden Möglichkeiten die bessere Wahl ist.

    Bei Gelegenheit werde ich das mal testen. Da kann ich dann auch gleich -D 800 -P 125mit einbauen, oder?

    Hallo,


    noch eine Frage zu ir-keytable. Mit ir-keytable -D 800 -P 125 -d /dev/input/event11kann die Wiederholungsverzögerung und Wiederholungsperiode eingestellt werden. Aber das muss wohl bei jedem Systemstart neu gemacht werden. Wo bringt man das in yaVDR am besten unter oder gibt es da schon was.

    Im VDR habe ich die entsprechenden Einstellungen übrigens auf 0 gesetzt, weil ich denke das eine zentrale Stelle für diese Einstellung reicht.

    Danke für die guten Tipps. Die vdrpbd Methode scheint mir den besten WAF zu haben.

    Gut zu wissen, dass es das gibt. Lässt sich sogar in /etc/vdrpbd.conf einstellen.


    Das Web-Frontend war eigentlich immer ganz praktisch. Auch zum Erstellen/Ändern der Channels.conf.


    Das der Bildschirm mal schwarz beibt liegt wahrscheinlich am Timing beim Einschalten von Fernseher, Receiver und VDR. Das kommt aber zu selten vor.


    Immer noch selten, aber zu oft kommt es vor, dass die Fernbedienung nicht richtig startet. Liegt das vielleicht an den zwei IR devices (serial_ir und Budget-CI)?

    Meine Keymap sieht so aus:

    Und rc_maps.conf

    Da kommt wohl manchmal beim Start etwas durcheinander.

    Ich meine das da im Fehlerfall bei ir-keytable das rc-5 Protokoll fehlte.

    Sollte man den IR von der Budget-CI vielleicht besser ganz deaktivieren?

    Hi,


    ich habe manchmal (sehr selten) das Problem, dass nach dem Einschalten die Fernbedienung nicht funktioniert oder kein Bild kommt. Meinen Mädels bleibt dann nur zu warten bis ich per SSH einen Restart auslöse oder sie schalten den VDR hart aus und wieder ein.

    Früher gab es mal das yaVDR Web Frontend mit einem schön großen Reset Knopf. Der ließ sich im Notfall auch prima vom Handy aus drücken. Gibt es das bei yaVDR Ansible nicht mehr oder kann man das wieder installieren?

    Da mein TV über einen Receiver angeschlossen ist, zeigt er beim nachträglichen Einschalten kein Bild. Daher habe ich einen Dienst laufen, der darauf wartet, dass der TV eingeschaltet wird und dann ein DETA ATTA macht, was dem TV wieder ein Bild entlockt.

    Hier ist das Script:

    Und hier der Dienst

    Code
    1. /etc/systemd/system/checktv.service [Unit]
    2. Description=Restart X-Server if connected Display has changed
    3. After=x@vt7.service
    4. [Service]
    5. ExecStart=/usr/local/sbin/checktv
    6. [Install]
    7. WantedBy=multi-user.target

    Wie ihr sehen könnt, habe ich über getedid erfahren, ob der TV eingeschaltet ist.

    Mit

    Code
    1. svdrpsend plug softhddevice deta
    2. systemctl stop yavdr-xorg.service
    3. systemctl start yavdr-xorg.service
    4. svdrpsend plug softhddevice atta

    immer noch das gleiche

    Sieht ähnlich aus:

    Das vdr-epg-daemon Paket in ppa:yavdr/experimental-main enthält ausschließlich den Quellcode aus https://projects.vdr-developer.org/git/vdr-epg-daemon.git/ - von Frodo gibt es ein Paket, das mit zusätzlichen Plugins versehen wurde: https://launchpad.net/~frodo-v…ield.series_filter=bionic

    Reicht es das Paket vdr-epg-daemon_1.1.141-1-g1cbab41-7frodo0~bionic_all.deb manuell runter zu laden und zu installieren oder lieber das Repositoy auf Frodo wechseln?

    Mann, bist du immer schnell.

    Ich bin auf folgende Lösung gekommen: get-edid 2>/dev/null|parse-edid 2>/dev/null|grep ModelName. Das liefert entweder ModelName "RX-V475" oder ModelName "LG TV".

    Das Script sieht damit so aus: /usr/local/sbin/checktv

    Leider funktioniert xrandr --output HDMI-0 --auto meist nur einmal. Also bin ich doch wieder bei systemctl restart x@vt7.service gelandet. Der lässt allerdings den yavdr-frontend abstürzen, was den VDR mit riss. Daher habe ich den VDR dann noch detached vor dem Restart. Das Frontend stürzt immer noch ab, aber der VDR überlebt es (siehe syslog.txt)


    Einbinden in SystemD hat auch funktioniert und das Bild kommt trotz der "großen Keule" innerhalb von 1-2 Sekunden.

    Hallo,


    da ich nun auf yaVDR Ansible umsteige brauche ich mal wieder Hilfe bei der Anpassung der obigen Scripte.

    Gibt es eine Alternative zu /usr/bin/getNVdisplays? Das gibt es bei yaVDR Ansible leider nicht.

    Weis jemand was besseres als systemctl restart x@vt7.service statt restart xorg-launcher? Das funktioniert zwar, aber scheint mir doch eine relativ große Keule.

    Wie baue ich das Script bei SystemD ein?

    Ja, auch das hat geklappt. Beide Fernbedienungen laufen nun.


    Nun habe ich noch einen lircrc Eintrag nach /etc/lirc/irexec.lircrc übernommen

    Code
    1. begin
    2. prog = irexec
    3. button = KEY_PROG2
    4. config = /usr/local/sbin/kodionoff
    5. end

    wobei /usr/local/sbin/kodionoff bisher so aussieht

    Shell-Script
    1. #!/bin/bash
    2. if ["`pidof /usr/lib/x86_64-linux-gnu/kodi/kodi.bin`" -eq ""]
    3. then
    4. stop vdr-frontend
    5. start kodi
    6. else
    7. stop kodi
    8. start vdr-frontend
    9. fi

    Wie muss ich das ändern?

    Ok, systemctl mask --runtime --now eventlircd.{socket,service} hat funktioniert.

    Ich habe mit ir-keytable -t -p rc5 -s rc1 die Codes für meine Hauptfernbedienung rausbekommen und eine Datei angelegt.

    Anschließend habe ich mit ir-keytable -t -p nec -s rc1 die Codes für meine Zweitfernbedienung rausbekommen und eine Datei angelegt.


    Meine /etc/rc_maps.cfg sieht jetzt so aus:

    Code
    1. ...
    2. serial_ir rc-rc6-mce /etc/rc_keymaps/urc_7960
    3. serial_ir rc-rc6-mce /etc/rc_keymaps/heitech4in1
    4. ...

    Warum hier rc-rc6-mce stehen muss hat sich mir noch nicht erschlossen, da in den Beispielen auch andere Namen stehen.


    Eventlirc ließ sich mit systemctl unmask --now eventlircd.{socket,service} nicht starten. Ich musste erst mit rm /run/systemd/system/eventlircd.* die beiden angelegten Symlinks wieder löschen und habe dann systemctl start eventlircd.{socket,service} verwendet.


    Nun mit ir-keytable -a /etc/rc_maps.cfg -s rc1 die neue Tabelle aktiviert und irw liefert endlich was. :)

    Leider wurde aber nur die erste Fernbedienung aktiviert.

    Wie bekomme ich die zweite auch noch rein?

    Puh, da soll man erst mal drauf kommen. 8|

    Danke für den Schubser.

    Damit wird schon mal die richtige Liste geladen. Aber weiter komme ich noch nicht. Weder im VDR noch mit -t kommen Tastendrücke durch.

    Stimmt, wer lesen kann ist klar im Vorteil. Hilft aber noch nichts. Ich habe einen selbst gebauten Empfänger an ttyS0. Mit irrecord kommt auch was an /dev/lirc0 an.

    Jetzt sieht es so aus:

    Da wird immer noch rc-rc6-mce geladen. Kommentiere ich die Zeilen in rc_maps.cfg aus kann ich folgendes machen.

    Da scheint ja noch wo anders für serial_ir rc-rc6-mce eingestellt zu sein.

    Hallo,


    ich bin gerade mit yaVDR Ansible angefangen und habe nun auch das Problem meine alte lircd.conf umzusetzen.

    Ich habe nun eine Keymap aus der alten lircd.conf erzeugt:



    und in /etc/rc_maps.cfg eingetragen

    Code
    1. ...
    2. #driver table file
    3. ite-cir rc-rc6-mce /lib/udev/rc_keymaps/rc-rc6-mce
    4. nuvoton-cir rc-rc6-mce /lib/udev/rc_keymaps/rc-rc6-mce
    5. serial_ir urc_7960 /lib/udev/rc_keymaps/urc_7960
    6. mceusb rc-rc6-mce /lib/udev/rc_keymaps/HOPLOrc6
    7. ...

    Aber ich bekomme die noch nicht mal manuell geladen