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

  • Ich blicke nicht so ganz wo genau jetzt das Problem ist, baue aber gerne einen Patch ein :)

    Der vtuner Kernel-Treiber lässt sich z.B. unter Ubuntu 22.04.4 einfach nicht ohne Änderungen z.B. bei /scripts/Makefile.build ...der Quellen vom Kernel erstellen.

    Siehe den Lösungsansatz hier

    (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

    Edited once, last by cinfo ().

  • Man könnte es mal mit make -d versuchen.

    Vielleicht bekommt man dann ja eine Fehlermeldung, mit der man was anfangen kann.

    Gruss
    SHF


  • Man könnte es mal mit make -d versuchen.

    Vielleicht bekommt man dann ja eine Fehlermeldung, mit der man was anfangen kann.

    Danke für die Unterstützung. -- hier die Ausgabe ohne Quellenänderung der Headers


    Files

    (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

  • Hier die Ausgabe vom make-d mit dem Austausch der Verzeichnisse /scripts und /tools in den Headers vom Kernel 6.9.1


    Ausgabe ist dann OK


    Files

    (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

  • Quote

    objtool taucht im unteren Log gar nicht auf.... Ist das für eine andere glibc kompiliert?

    ich denke ja für GLIBC 2.35 -- das aktuelle aus den Headers vom Kernel 6.9.x mit GLIBC 2.38. Ein nachträgliches Installieren unter Ubuntu 22.04.4 von

    GLIBC 2.38 brachte keine Hilfe.


    Kernel 6.9.x

    Code
    ./objtool -h
    ./objtool: /usr/local/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.38' not found (required by ./objtool)

    nach Austausch von Kernel 6.8.9

    Dieser Austausch reicht aber noch nicht für die Erstellung - nur wenn /scripts noch getauscht wird

    Code
      LD [M]  /usr/src/vtuner-ng/kernel/vtunerc.o
      MODPOST /usr/src/vtuner-ng/kernel/Module.symvers
    scripts/mod/modpost: /usr/local/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.38' not found (required by scripts/mod/modpost)
    make[3]: *** [scripts/Makefile.modpost:145: /usr/src/vtuner-ng/kernel/Module.symvers] Fehler 1
    make[2]: *** [/usr/src/linux-headers-6.9.1-x64v4-xanmod1/Makefile:2023: modpost] Fehler 2
    make[1]: *** [Makefile:240: __sub-make] Fehler 2
    make[1]: Verzeichnis „/usr/src/linux-headers-6.9.1-x64v4-xanmod1“ wird verlassen
    make: *** [Makefile:30: default] Fehler 2

    (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

    Edited once, last by cinfo ().

  • ... weil modpost auch gegen die neuere glibc gelinkt ist.

    Ein nachträgliches Installieren unter Ubuntu 22.04.4 von GLIBC 2.38 brachte keine Hilfe.

    Vermutlich weil es z.B. in /etc/ld.so.conf nicht/nicht richtig eingebunden ist. Aber da würde ich nix dran ändern, das sollte eine Distribution konfigurieren, auch für neuere Versionen von Libraries. Mit ldd ./objtool bekommst Du übrigens angezeigt welche Libs er lädt bzw. nicht findet.

  • ... weil modpost auch gegen die neuere glibc gelinkt ist.

    Vermutlich weil es z.B. in /etc/ld.so.conf nicht/nicht richtig eingebunden ist. Aber da würde ich nix dran ändern, das sollte eine Distribution konfigurieren, auch für neuere Versionen von Libraries. Mit ldd ./objtool bekommst Du übrigens angezeigt welche Libs er lädt bzw. nicht findet.

    ok

    Code
    ldd ./objtool
    ./objtool: /usr/local/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.38' not found (required by ./objtool)
        linux-vdso.so.1 (0x0000760aa8d9c000)
        libelf.so.1 => /usr/local/lib/x86_64-linux-gnu/libelf.so.1 (0x0000760aa8d2f000)
        libc.so.6 => /usr/local/lib/x86_64-linux-gnu/libc.so.6 (0x0000760aa8000000)
        libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x0000760aa8d13000)
        /lib64/ld-linux-x86-64.so.2 (0x0000760aa8d9e000)

    (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 ich habe ein Lösung einfach den Kernel 6.9.x und höher z.B. unter Ubuntu 22.04.4 einfach selber erstellen und das passt es auch mit der GLIBC Version. Ich denke das man hierfür dann keine Änderung in vtuner-ng benötigt.


    Aber wer z.B. die Kernel aus: https://kernel.ubuntu.com/mainline/?C=N;O=D

    z.B. unter Ubuntu 22.04.4 nutzt ist mit dem Kernel 6.8.x ENDE, dann passt die GLIC Version am Kernel 6.9.x nicht mehr


    Danke für die Hilfe hier

    (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

  • 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

    Hier noch eine wichtige Verbesserung des systemd script zum vtunerc-ng service.

    Der vdr service wurde insbesondere beim booten des linux manchmal zu früh gestartet und hat deshalb nicht alle devices verwendet.

    Im vtuner-ng service wird jetzt gewartet bis alle vtunerc devices "used" sind (satip daemon connected).

    Implementierung leider nicht per systemd event sondern sleep loop. Mir ist nichts besseres eingefallen :/

    Weiterhin wird der vdr service jetzt mit beendet wenn der vtuner-ng service beendet wird.


    • Ä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.


    Hi,


    ich habe dazu einen Patch für VDR geschrieben, s. [Patch] Frontends schließen, wenn tuner nicht verwendet


    Bitte testen.


    ~ 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

  • mit dem aktuellem Kernel 6.10 bekomme ich diesen Fehler beim erstellen des Treibers vom vtuner


    (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

  • Da nach meinem EPG-Pause-Scan-Patch in der 2.6.7 der Patch von MarkusE zum Frontend schließen ab 2.6.8 aktiv ist habe ich den timeout Parameter im vtuner ab sofort auf 0 (=disabled) festgelegt. Dadurch dürften VPS-Aufnahmen und EPG-Pause mit vtuner wie erwartet funktionieren...


    Das Abschalten ohne timeout funktioniert jedenfalls, dazu gibt es jetzt (auch) eine Meldung im vtuner:

    Code
    Jul 17 18:34:06 vdr2 vdr: [3400] closing frontend 0/0
    Jul 17 18:34:06 vdr2 vdr: [3400] closing frontend 1/0
    Jul 17 18:34:06 vdr2 kernel: [ 3568.225885] vtunerc0: sending MSG_CLOSE_FRONTEND
    Jul 17 18:34:06 vdr2 kernel: [ 3568.226149] vtunerc1: sending MSG_CLOSE_FRONTEND
  • Ja "meine" Kernel-Freunde haben mal einfach vmalloc ersatzlos gestrichen und durch vmalloc_noprof ersetzt...


    Lustigerweise gibt es einen Patch, der ist aber nirgendwo drin: https://lore.kernel.org/linux-…36-1-surenb@google.com/T/


    Bitte mal den letzten GIT-Stand kompilieren versuchen...

    Hm, das bedeutet man muß jeden folgende Unterversion von Kernel 6.10 neu patchen -> Hm also ca. jede Woche ?

    (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

  • Hm, das bedeutet man muß jeden folgende Unterversion von Kernel 6.10 neu patchen -> Hm also ca. jede Woche ?

    Verstehe ich nicht.


    Im vtuner hab ich das mal mit if LINUX_VERSION_CODE >= KERNEL_VERSION(6,10,0) eingetragen, d.h. gilt für größer gleich 6.10.0


    Wenn jetzt irgendwer bei 6.10.x wieder auf die Idee kommt vmalloc als #define zu setzen muss eben ein >= und <= mit rein...


    P.S.: Ob's jetzt kompiliert weiß ich von Dir aber immer noch nicht ;)

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!