Help request: VDR CoreElec (chroot oder Zabrimus) und amremote/eventlird

  • jrie: Danke für die Info. Ich muss mir das mal näher anschauen. Ich würde auch gerne verstehen, warum meson-ir im Gegensatz zu meson-remote so laggy ist bei verschlüsselten Sendern und 4K-Auflösung (in HD ist alles OK).

  • Richtig perfekt kann das mit dem Key-Press und Key-Release System sowieso nicht werden, siehe hier.


    Ist der meson-ir bzw. der amremote Code eigentlich open source und irgendwo einsehbar?

  • In dem Code sieht man, wie /dev/amremote konfiguriert wird, aber nicht wie die Tastendrücke nach /dev/amremote kommen.

    Ich habe noch das gefunden.

    Da müsste dir jemand helfen, der sich damit auskennt.


    Wenn das nicht gelingt, wäre es am einfachsten, das remote-plugin entsprechend anzupassen (einen Timer starten bei Tastendruck der Autorepeats generiert, bei Tastenrelease den stoppen).


    Notfalls ginge ein externer Empfänger am USB.

    Für LE gibt es sogar (etwas älteren) Code von mir für meinen irmplircd-Empfänger, ebenso wenn man den Kernel selbst baut einen Patch für meinen Tastaturempfänger. Die reagieren jedenfalls absolut präzise ohne jeglichen lag und da würde ich auch Support leisten.


    Natürlich wäre es viel eleganter das Amlogic Meson IR zum Laufen zu bekommen.

  • amremote funktioniert mit dem remote-Plugin. Das muss ich allerdings patchen, damit es keinen exklusiven zugriff auf das event-Device nimmt (sonst ist KODI nicht mehr bedienbar).

    Kannst Du Deinen Patch für das remote-Plugin mal posten?

    Zitat von beta

    Das funktioniert sowie auch, außer dass ich hier keine Repeats im VDR habe.

    Hast Du in der remote.conf von amremote die Tasten, die repeats erzeugen sollen, nochmal in den Abschnitt zwischen

    Code
    repeat_key_begin
    repeat_key_end

    kopiert?

    Zitat von beta

    Allerdings ist die Wiederholrate so schnell, dass VDR sie nicht kennt, Das Programm auf der Webseite des Plugins zum Setzen der Rate funktioniert nicht, da die ioctl calls nicht im Kernel implementiert sind, d.h. Tasten-Wiederholungen funktionieren nicht.

    Hast Du das gelöst? Wenn ja, wie?

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Ich habe einfach folgende Zeilen aus-kommentiert, damit remote nicht exklusiven Zugriff auf das Device erhält:

    Code
    < //    if (ioctl(f, EVIOCGRAB, data) == 0)
    < //        dsyslog("%s: exclusive access granted", name);

    Meine remote.conf habe ich nicht mehr, da ich den Weg nicht mehr weiter verfolgt habe (Tasten-Wiederholungen haben nicht funktioniert).

    Bei mir in der chroot-Umgebung läuft die Fernbedienung gut, wenn ich einmal für eine Sekunde KODI starte und danach den VDR. Das betrifft aber nur KEINE FTA-Sender. Bei allen FTAs läuft die Fernbedienung auch, ohne dass ich KODI vorher gestartet habe.

  • Ich antworte mir mal selbst. Das remote-Plugin funktioniert prinzipiell, die events können abgefragt und VDR auch bedient werden. Allerdings ist die Wiederholrate so schnell, dass VDR sie nicht kennt, Das Programm auf der Webseite des Plugins zum Setzen der Rate funktioniert nicht, da die ioctl calls nicht im Kernel implementiert sind, d.h. Tasten-Wiederholungen funktionieren nicht. Das Problem ist nur, dass das remote plugin das event nicht freigibt, so dass nach einem Umschalten zu KODI die Fernbedienung da nicht mehr funktioniert. Das ist alles ziemlich unschön. Ich werde wohl den Hardkernel-Treiber (meson-ir) auf CE portieren müssen, was wegen der DVB-Abhängigkeiten (z.B. crazycat-Treiber) nicht einfach ist.

    Moin beta,

    ich muss hier nochmal nachfragen. Du kamst beim Testen der Fernbedienung mit meson-remote bzw. amremote (statt meson-ir) zu der Erkenntnis, dass die Tastenwiederholungen deshalb nicht funktionieren, weil die Wiederholrate so schnell ist, dass VDR sie nicht erkennt. War das eine Vermutung oder hattest Du das irgendwie ermittelt?

    Ich will immer noch auf amremote umsteigen, weil die Fernbedienung damit deutlich besser läuft. Mit meson-ir muss ich die Fernbedienung genau auf den Empfänger richten, mit amremote reagiert sie auch dann, wenn ich sie an die Decke oder an die Wand hinter mir richte. Und sie läuft flüssiger. Bei meson-ir muss ich um das Prellen zu verhindern repeat- und delay-Werte mit ir-keytable setzen, die die Fernbedienung beim Scrollen dann träger machen.

    Ich konnte inzwischen das remote-Plugin als Ursache für die fehlenden Wiederholungen ausschließen. Man braucht es auch gar nicht. Es muss lediglich in /storage/.config/udev.rules.d/ eine amlremote.rules mit folgendem Inhalt angelegt werden:

    Code
    ATTRS{name}=="aml_keypad", \
    ENV{eventlircd_enable}="true"

    Danach kann man eventlircd starten und es erkennt dann auch die events von meson-remote und übersetzt sie für vdr sie als normale lirc-Signale. Allerdings wiederum ohne funktionierende Tastenwiederholungen. Das liegt m.E. daran, dass entweder die getesteten Fernbedienungen keine Wiederholungen senden oder der Treiber sie generell nicht erzeugt. Bei gestopptem eventlircd und Test mit evtest sehe ich, dass bei gedrückter Taste keine Wiederholungen erkannt werden. Beim Drücken kommt genau 1x (egal wie lange man drückt)

    Code
    Event: time        1680960656.896313, type 1 (EV_KEY), code 108 (KEY_DOWN), value 1

    und beim Loslassen erscheint

    Code
    Event: time        1680960662.250876, type 1 (EV_KEY), code 108 (KEY_DOWN), value 0

    Das konnte ich sowohl mit der Original-FB der Tanix TX3 als auch mit einer Universal-FB und den Codes eines NEC-Videorekorders nachvollziehen. Man kann zwar in der remote.conf für amremote repeat-Einstellungen vornehmen, aber die zeigten bei mir keine Wirkung.

    Solltest Du hingegen eine Fernbedienung haben, die mit amremote laut evtest tatsächlich Wiederholungen sendet, wäre das ein neuer Erkenntnisgewinn - dann liegt es nicht am meson-remote-Treiber.


    Seahwak hatte mich auf ein Python-Script für eine ps3-FB aufmerksam gemacht, das er für yavdr mal geschrieben hatte und das Wiederholungen erzeugt. Damit werde ich jetzt mal experimentieren.

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    Einmal editiert, zuletzt von Dr. Seltsam () aus folgendem Grund: Dateiendung der udev-Regel von conf auf rules korrigiert

  • Hi,

    Ob Wiederholungen bei IR-Fbs gesendet werden kannst du dir doch anschauen : Einfach mit Kamera aufnehmen, die können die IR Frequenzen noch sehen.

    MfG Stefan

    Test-VDR1: HP rp5700 Fertigsystem, Core2Duo E6400, 2GB RAM, FF-SD C-2300, nvidia Slim-GT218 x1 | easyVDR 2.0 64Bit
    VDR3: in Rente

    VDR4: MSI G31M2 v2, Digitainer2-Geh., t6963c 6" gLCD, E5200, 2GB, 3TB WD Red, GT730, 2x TT S2-3200; easyVDR 3.5 64bit
    VDR5: Gigabyte
    GA-G31M-S2L, Intel E2140, Zotac GT730 passiv, Digitainer2-Geh., t6963c 6 " gLCD, 2 TB WD Red, 2x TT S2-3200 (an 1 Kabel) easyVDR 3.5 64bit
    VDR6:
    Intel E5200, GT630 passiv, F1 750 GB, t6963c gLCD, 2x TT S2-3200 | easyVDR 3.5 64bit
    VDR-User #1068
    www.easy-vdr.de

  • Gibt es hier neue Erkenntnisse?


    Möchte beim Odroid N2+ den onboard IR zur vdr Bedienung nutzen. Meine aktuelle Config ist eine RC5 FB von Technotrend mit leicht verzögerter Bedienung und Nachlauf. Als Basis verwende ich https://github.com/Zabrimus/VDRSternELEC


    Immerhin funktioniert einschalten und fernbedienen damit.


    Bin an einer Softwarelösung mit Boardmitteln interessiert, ohne FLIRC o.ä....


    Munter bleiben, Rossi

  • Ich habe das mit amremote jetzt tatsächlich hingekriegt. Das ist etwas tricky und und Zabrimus müsste dafür python-evdev in seine Distri aufnehmen. Die Tastenwiederholungen übernimmt dann ein zwischengeschaltetes python-Script, das seahawk1986 ursprünglich mal für die ps3remote geschrieben hatte.

    Achtung: amremote funktioniert nur mit NEC-Codes. Einschalten ist auch möglich. Hast Du vielleicht eine programmierbare FB, die NEC Codes kann? Wenn das kein k.o.Kriterium ist und Zabrimus das Paket aufnimmt, schreibe ich ein HowTo. Bei mir läuft es in Ubuntu-chroot, aber direkt in CE sollte es sogar einfacher sein.

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Achtung: amremote funktioniert nur mit NEC-Codes. Einschalten ist auch möglich. Hast Du vielleicht eine programmierbare FB, die NEC Codes kann? Wenn das kein k.o.Kriterium ist und Zabrimus das Paket aufnimmt, schreibe ich ein HowTo.

    Ja, meine One for all URC1635 kann NEC.


    *Edit: RC6 kann sie auch, aber in diesem Zusammenhang dummes Zeug


    Super, das freut mich.

    Einmal editiert, zuletzt von vdr_rossi ()

  • Das ist etwas tricky und und Zabrimus müsste dafür python-evdev in seine Distri aufnehmen.

    Das habe ich probiert, aber der cross-compile für python-evdev klappt nicht. Ich verstehe nicht, was genau fehlt oder falsch ist.

  • Da scheinen header nicht zu passen. Fehlt evtl. python-dev oder python3-devel oder so ähnlich?

    Es wird versucht, gegen Header von python 3.8 zu kompilieren. Ist CE nicht schon bei einer höheren Version?

    Wo hast Du die Sourcen von python-evdev her? Ist das überhaupt eine Version die python3 unterstützt?

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Da scheinen header nicht zu passen. Fehlt evtl. python-dev oder python3-devel oder so ähnlich?

    Es wird versucht, gegen Header von python 3.8 zu kompilieren. Ist CE nicht schon bei einer höheren Version?

    Wo hast Du die Sourcen von python-evdev her? Ist das überhaupt eine Version die python3 unterstützt?

    Die Python3 Header werden schon gefunden. Verwendet habe ich die aktuelle Version (git) aus dem Repository: https://github.com/gvalkov/python-evdev.

    Kompiliert habe ich mit CE 19. Es kann sein, daß 20 oder 21 schon höher sind. Welche Python Versionen tatsächlich untersützt werden ist irgendwie so gar nicht herauszufinden. Aus der setup.py könnte man schliessen, daß es die Versionen 3.6 - 3.11 sind, aber das ist etwas unsicher.

    Mal ein Beispiel, daß ich nicht verstehe.

    Ich habe auch die Reihenfolge der "-I" geändert, aber das brachte nicht das gewünschte Ergebnis.

  • Probier mal unter CE 20 zu bauen. Könnte ein Bug im Compiler sein:

    [solved] Something's broken. UCHAR_MAX should be defined in limits.h. - FreeCAD Forum

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Zabrimus: wie sieht deine package.mk aus?

  • Bei mir hat es gestern "gebaut", allerdings hat es x86 Sachen erstellt in einem arm build.

    Ich kann dir am abend die package.mk schicken.

    Ich musste die Header angeben.

    python-evdev/setup.py at main · gvalkov/python-evdev
    Python bindings for the Linux input subsystem. Contribute to gvalkov/python-evdev development by creating an account on GitHub.
    github.com

    Mit ${SYSROOT_PREFIX}/...

  • Bei mir hat es gestern "gebaut", allerdings hat es x86 Sachen erstellt in einem arm build.

    Ich kann dir am abend die package.mk schicken.

    Bei den x86 Sachen wurde ich auch etwas stutzig. Da bist weiter als ich. Der CE20er Build funktioniert auch nicht. Allerdings wird sich jetzt über size_t beschwert. Irgendwas ist in meinem Build wohl grundsätzlich falsch.

  • So baut das bei mir und landet in /usr/lib/python. Keine Ahnung, ob das reicht und ob es nicht /usr/lib/python3.11 sein sollte. Getestet unter LE/RK3399.

    Vielleicht hilft dir das weiter.

Jetzt mitmachen!

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