[vtuner-ng] Aktualisierter vtuner für kernel >= 4.16

    • timeout Parameter hinzugefügt, nach dieser Zeit werden Frontends freigegeben wenn nur Section-Pids übertragen werden. Der EIT-Scan belegt ein Frontend 20 Sekunden, bei VPS könnte das ein Problem sein/werden - eventuell muss dann diese Funktion stillgelegt werden...


    Ich denke nicht, dass das ohne VDR lösbar ist. Da nur VDR weiß, welcher Tuner wie lange für VPS Daten benötigt wird.


    Mögliche Lösung:

    • Änderung in VDR, so dass nicht benötigte Devices mit cDvbTuner::CloseFrontend() geschlossen werden. Wenn sie wieder benötigt werden, werden sie mit cDvbTuner::OpenFrontend() wieder geöffnet.
    • vtuner-ng gibt nur etwas frei, wenn VDR cDvbTuner::CloseFrontend() gerufen hat.

    ~ Markus

    Client1: ASUS P5QC, Dual Core 3G, Cine S2, Ext. Board von TBE, Xubuntu 20.04, VDR 2.6x

    Client2: RPI3

    Server: RPI4, Sundtek SkyTV Dual 2x

  • so ich habe mal Glibc 2.38 mit installiert



    jetzt habe ich den Fehler -- nur wie in Ubuntu 22.04 .4 ändern?


    Code
      CC [M]  /usr/local/src/VDR/01-Master-BM2LTS/PLUGINS/vtuner-ng/kernel/vtunerc_main.o
    ./tools/objtool/objtool: /usr/local/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.38' not found (required by ./tools/objtool/objtool)
    Code
    root@BM2LTS-DD:~# ldd --version
    ldd (GNU libc) 2.38
    Copyright © 2023 Free Software Foundation, Inc.
    Dies ist freie Software; in den Quellen befinden sich die Lizenzbedingungen.
    Es gibt KEINERLEI Garantie; nicht einmal für die TAUGLICHKEIT oder
    VERWENDBARKEIT FÜR EINEN ANGEGEBENEN ZWECK.
    Implementiert von Roland McGrath und Ulrich Drepper.

    (VDR) NUC11PAH & GEEKOM MINI-IT11-11. Generation * BM2LTS * DD NET S2 Max * NC * (Sound) Cinebar Lux Set * (Stream) Apple TV 4K (2022) *

    (Light) PHILIPS Hue Play HDMI Sync Box & Gradient Lightstrip * (OLED TV) LG OLED65G29LA

    Einmal editiert, zuletzt von cinfo ()

  • hilft auch nicht -->hier läuft es mit der Kernelversion 6.8.9 alles ohne Fehler. Ich denke auch das etwas am Makefile geändert werden müsste.

    Die Fehlermeldungen beziehen sich, bis evtl. die Letzte, nicht auf das makefile vom vtuner (das hat nur 46 Zeilen ;) ).

    Ich würde vermuten, dass ein der Änderung in /scripts/Makefile.build die Ursache ist.

    Neu in 6.9.y sind die Änderungen in 2024. Da ist einiges mit Verzeichnissen dabei.

    Daher auch mein Verdacht mit den !, quoting ist ja immer so eine Sache, vielleicht stolpert eine der Verbesserungen jetzt darüber.

    Man könnte es auch einfach mal mit dem Makefile.build von 6.8.y versuchen. Das müsste eigentlich auch gehen, die Änderungen waren ja nicht groß.

    Gruss
    SHF


  • Also das aktuelle vtuner-ng package aus dem seahawk repository ist bezüglich der systemd scripts kaputt.

    Ich hab das mal überarbeitet und den Inhalt des debian-Verzeichnis im Anhang bereitgestellt.

    Es werden jetzt wieder zwei Packete gebaut vtuner-ng-dkms und vtuner-ng-satip wobei diese ihre zugehörigen systemd Komponenten enthalten.

    Die Konfiguration findet im Verzeichnis /etc/vtuner-ng statt.

    Steuerung mit systemctl start|stop|enable|disable vtuner-ng

  • Die Fehlermeldungen beziehen sich, bis evtl. die Letzte, nicht auf das makefile vom vtuner (das hat nur 46 Zeilen ;) ).

    Ich würde vermuten, dass ein der Änderung in /scripts/Makefile.build die Ursache ist.

    Neu in 6.9.y sind die Änderungen in 2024. Da ist einiges mit Verzeichnissen dabei.

    Daher auch mein Verdacht mit den !, quoting ist ja immer so eine Sache, vielleicht stolpert eine der Verbesserungen jetzt darüber.

    Man könnte es auch einfach mal mit dem Makefile.build von 6.8.y versuchen. Das müsste eigentlich auch gehen, die Änderungen waren ja nicht groß.

    ja geht in die richtige Richtung -- es wird schon mehr gebaut -- aber immer noch die Glibc 2.38 Abfrage und Abbruch


    (VDR) NUC11PAH & GEEKOM MINI-IT11-11. Generation * BM2LTS * DD NET S2 Max * NC * (Sound) Cinebar Lux Set * (Stream) Apple TV 4K (2022) *

    (Light) PHILIPS Hue Play HDMI Sync Box & Gradient Lightstrip * (OLED TV) LG OLED65G29LA

  • Ok danke jetzt passt es mit dem Kernel 6.9.0 - Ubuntu 22.04.4 mit vtuner-ng wird hell :]


    Code
    root@BM2LTS-DD:/usr/src/ENTWICKLUNG_VDR/01-Master-BM2LTS/VDR/PLUGINS/vtuner-ng/kernel# make
    make -C /lib/modules/6.9.0-x64v4/build M=/usr/local/src/01-Master-BM2LTS/VDR/PLUGINS/vtuner-ng/kernel modules
    make[1]: Verzeichnis „/usr/src/linux-headers-6.9.0-x64v4“ wird betreten
    warning: the compiler differs from the one used to build the kernel The kernel was built by: gcc-13 (Debian 13.2.0-24) 13.2.0 You are using: gcc (Ubuntu 13.1.0-8ubuntu1~22.04) 13.1.0 CC [M] /usr/local/src/01-Master-BM2LTS/VDR/PLUGINS/vtuner-ng/kernel/vtunerc_main.o CC [M] /usr/local/src/01-Master-BM2LTS/VDR/PLUGINS/vtuner-ng/kernel/vtunerc_ctrldev.o CC [M] /usr/local/src/01-Master-BM2LTS/VDR/PLUGINS/vtuner-ng/kernel/vtunerc_proxyfe.o
    /usr/local/src/01-Master-BM2LTS/VDR/PLUGINS/vtuner-ng/kernel/vtunerc_proxyfe.c:38:6: warning: no previous prototype for ‘dvb_proxyfe_set_stat’ [-Wmissing-prototypes] 38 | void dvb_proxyfe_set_stat(struct vtuner_dtv_fe_stats *vtuner_stats, struct dtv_fe_stats *dvb_stats) | ^~~~~~~~~~~~~~~~~~~~ LD [M] /usr/local/src/01-Master-BM2LTS/VDR/PLUGINS/vtuner-ng/kernel/vtunerc.o MODPOST /usr/local/src/01-Master-BM2LTS/VDR/PLUGINS/vtuner-ng/kernel/Module.symvers CC [M] /usr/local/src/01-Master-BM2LTS/VDR/PLUGINS/vtuner-ng/kernel/vtunerc.mod.o LD [M] /usr/local/src/01-Master-BM2LTS/VDR/PLUGINS/vtuner-ng/kernel/vtunerc.ko BTF [M] /usr/local/src/01-Master-BM2LTS/VDR/PLUGINS/vtuner-ng/kernel/vtunerc.ko
    Skipping BTF generation for /usr/local/src/01-Master-BM2LTS/VDR/PLUGINS/vtuner-ng/kernel/vtunerc.ko due to unavailability of vmlinux
    make[1]: Verzeichnis „/usr/src/linux-headers-6.9.0-x64v4“ wird verlassen

    (VDR) NUC11PAH & GEEKOM MINI-IT11-11. Generation * BM2LTS * DD NET S2 Max * NC * (Sound) Cinebar Lux Set * (Stream) Apple TV 4K (2022) *

    (Light) PHILIPS Hue Play HDMI Sync Box & Gradient Lightstrip * (OLED TV) LG OLED65G29LA

  • ja geht in die richtige Richtung -- es wird schon mehr gebaut

    Der Auslöser ist also gefunden, denke ich, leider aber noch nicht die eigentliche Ursache.

    Die Makefiles vom Kernel zu patchen ist auch keine Dauerlösung.

    Irgendwie müsste das Problem im Makefile vom vtuner gehen, denke ich. Ich sehe da aber leider nichts verdächtiges.

    Gruss
    SHF


  • Ich wollte das nachvollziehen, bin aber drüber gestolpert, dass das satip Binary noch kein DVBT(2) unterstützt: https://github.com/joed74/vtun…satip/satip_vtuner.c#L173 ff. - ist etwas überraschend, weil das Programm im Hilfetext anbietet die unterstützten Formate auf DVBT2 einzuschränken:

    Code
    May 16 10:34:00 [2996 satip_vtuner.c:230] debug: MSG_SET_PIDLIST:
    May 16 10:34:00 [2996 satip_vtuner.c:233] debug: 0
    May 16 10:34:00 [2996 satip_vtuner.c:233] debug: 16
    May 16 10:34:00 [2996 satip_vtuner.c:233] debug: 17
    May 16 10:34:00 [2996 satip_vtuner.c:233] debug: 18
    May 16 10:34:00 [2996 satip_vtuner.c:233] debug: 19
    May 16 10:34:00 [2996 satip_vtuner.c:233] debug: 20
    May 16 10:34:21 [2996 satip_vtuner.c:175] debug: MSG_SET_FRONTEND
    May 16 10:34:21 [2996 satip_vtuner.c:206] error: unsupported delsys 16

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Joe_D

    Kennst du den Patch:

  • Achje. Den Patch hatte ich schon ganz vergessen. Eigentlich wollte ich mal herausfinden, warum der Compile ohne den Patch schief geht:

    Irgendwas stimmt mit MAX_DELSYS und/oder VTUNER_MAX_DELSYS nicht. Kann aber auch sein, daß das CE/LE spezifisch ist.

  • Ich wollte das nachvollziehen, bin aber drüber gestolpert, dass das satip Binary noch kein DVBT(2) unterstützt: https://github.com/joed74/vtun…satip/satip_vtuner.c#L173 ff. - ist etwas überraschend, weil das Programm im Hilfetext anbietet die unterstützten Formate auf DVBT2 einzuschränken:

    Code
    May 16 10:34:00 [2996 satip_vtuner.c:230] debug: MSG_SET_PIDLIST:
    May 16 10:34:00 [2996 satip_vtuner.c:233] debug: 0
    May 16 10:34:00 [2996 satip_vtuner.c:233] debug: 16
    May 16 10:34:00 [2996 satip_vtuner.c:233] debug: 17
    May 16 10:34:00 [2996 satip_vtuner.c:233] debug: 18
    May 16 10:34:00 [2996 satip_vtuner.c:233] debug: 19
    May 16 10:34:00 [2996 satip_vtuner.c:233] debug: 20
    May 16 10:34:21 [2996 satip_vtuner.c:175] debug: MSG_SET_FRONTEND
    May 16 10:34:21 [2996 satip_vtuner.c:206] error: unsupported delsys 16

    Found the same, some time ago when I tried it. I had to add small patch (in attachment) for DVB-T2(only) for it to work. Fortunately only msys and freq is needed for minisatip or SATPI to work, otherwise it would be impossible for me.

  • Und zusätzlich gibt es noch die Spezialität:

    Code
    #define VTUNER_MAX_DELSYS 8
    Code
    /*
    * Maximum number of Delivery systems per frontend. It
    * should be smaller or equal to 32
    */
    #ifdef CONFIG_AMLOGIC_DVB_COMPAT
    #define MAX_DELSYS      32
    #else
    #define MAX_DELSYS      8
    #endif

    Da CONFIG_AMLOGIC_DVB_COMPAT gesetzt ist, ist MAX_DELSYS schöne 32 groß und damit etwas mehr als VTUNER_MAX_DELSYS.

  • Der Auslöser ist also gefunden, denke ich, leider aber noch nicht die eigentliche Ursache.

    Die Makefiles vom Kernel zu patchen ist auch keine Dauerlösung.

    Irgendwie müsste das Problem im Makefile vom vtuner gehen, denke ich. Ich sehe da aber leider nichts verdächtiges.

    Es wäre toll wenn vtuner-ng auch für Kernelversionen ab v.6.9x angepasst werden würde.

    (VDR) NUC11PAH & GEEKOM MINI-IT11-11. Generation * BM2LTS * DD NET S2 Max * NC * (Sound) Cinebar Lux Set * (Stream) Apple TV 4K (2022) *

    (Light) PHILIPS Hue Play HDMI Sync Box & Gradient Lightstrip * (OLED TV) LG OLED65G29LA

  • Joe_D

    Kennst du den Patch:

    Würde sagen das ist eine schlechte Idee. MAX_DELSYS gibt im Kernel vor wie groß fe->ops.delsys ist. Da nun einfach VTUNER_MAX_DELSYS zu verwenden funktioniert nur wenn das immer kleiner gleich MAX_DELSYS ist. Leider ist MAX_DELSYS nur in den Sourcen definiert, d.h. im Userspace nicht. Und VTUNER_MAX_DELSYS kann ich reinschreiben was ich will, z.B. 356. Müsste dann aber an der Stelle ordentlich krachen!

  • Da CONFIG_AMLOGIC_DVB_COMPAT gesetzt ist, ist MAX_DELSYS schöne 32 groß und damit etwas mehr als VTUNER_MAX_DELSYS.

    Was aber gar nix macht, andersrum wäre es schon schlimmer, es sei denn der Patch von #309 wird angewandt :whistling:


    Gibt es mehr als 6 sinnvolle DeliverySystems gleichzeitig?

  • Der Auslöser ist also gefunden, denke ich, leider aber noch nicht die eigentliche Ursache.

    Die Makefiles vom Kernel zu patchen ist auch keine Dauerlösung.

    Irgendwie müsste das Problem im Makefile vom vtuner gehen, denke ich. Ich sehe da aber leider nichts verdächtiges.

    läuft auch noch mit den aktuellem Kernel 6.9.1 so -- Ich denke aber das kann nicht die Dauerlösung sein 8)

    (VDR) NUC11PAH & GEEKOM MINI-IT11-11. Generation * BM2LTS * DD NET S2 Max * NC * (Sound) Cinebar Lux Set * (Stream) Apple TV 4K (2022) *

    (Light) PHILIPS Hue Play HDMI Sync Box & Gradient Lightstrip * (OLED TV) LG OLED65G29LA

  • Ich denke ohne Patch #309 wirds in diesem Fall ein Problem da aus der Quellstruktur zu viele Bytes gelesen werden.

    Ja stimmt. Schlecht wenn VTUNER_DELSYS_LEN kleiner als MAX_DELSYS ist. Aber auch nicht gut wenn VTUNER_DELSYS_LEN größer als MAX_DELSYS ist.... Ich muss mir da mal was überlegen.

Jetzt mitmachen!

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