Kernel-Update von 4 auf 5 und schon geht's nicht mehr

  • Hallo,


    laaaaange Zeit hatte ich den vdr unter Gentoo mit Kernel 4.1.12 problemlos laufen. Es war damals etliches Gefummel, aber ich habe es dann irgendwie geschafft, wobei "irgendwie" im wesentlich darin bestand, in der Kernel-Config alle DVB-Sachen zu deaktivieren, irgendwo ein Paket namens "media_build_experimental" herunterzuladen und dessen Treiber bzw. Kernelmodule zu verwenden.


    lsmod hat dann so ausgeschaut:


    Code
    Module                  Size  Used by
    tda18212dd              5747  4
    cxd2843                20472  4
    ddbridge               65570  33
    cxd2099                 5488  1 ddbridge
    dvb_core               84710  1 ddbridge
    media                  11047  1 dvb_core


    und dmesg so:



    Nun musste ich allerdings auf einen aktuellen Kernel updaten (weil ich VirtualBox brauche und das auf einem alten Kernel nicht mehr compilierbar ist). Da geht natürlich erst mal gar nix mehr. Mit dem "media_build_experimental" gehts nicht mehr, weils die Seite nicht mehr gibt und das alte mit dem neuen Kernel (oder auch gcc - keine Ahnung) nicht mehr compilierbar ist. Aber andererseits soll man das ja eh nicht mehr brauchen, weil ja angeblich inzwischen sowieso schon alles im Kernel enthalten ist.


    Ich hab dann im neuen Kernel auch (mit make menuconfig) brav alles angekreuzt, was irgendwie nach DVB geklungen hat. Geht aber trotzdem nicht - dmesg:



    Ich hab dann noch beim Booten alle Module laden lassen, die so ähnlich klingen wie die bisherigen (ein 1:1-Mapping scheints nicht zu geben):


    Code
    Module                  Size  Used by
    tda18212               16384  0
    cxd2841er              49152  0
    cxd2099                20480  0
    regmap_i2c             16384  2 cxd2099,tda18212


    aber das hat auch nix geholfen. Geladen ist das Zeug jedenfalls:



    Was fehlt da noch?


    Oder soll/muss ich den vdr einfach mal neu compilieren?


    Besten Dank schon mal im Voraus für alle Tipps!

  • Naja, wenn du noch sagen würdest, was nicht geht und was dann da für Fehlermeldungen kommen ...

  • Ups, sorry - ich dachte, das erkennt man aus den Logs...


    also im dmesg steht ja als Fehlermeldung

    DVB: Unable to find symbol cxd2841er_attach_t_c()


    und demzufolge sagt der vdr "no DVB frontends found" - er findet halt die Tuner nicht...

  • "Unable to find symbol" sieht danach aus, dass die Modulversion nicht zum Kernel passt - oder das Modul sich überhaupt nicht mehr mit diesem Kernel bauen lässt.

  • Merkwürdig. Ich verwende den neuesten Kernel und mein tda18212 macht keine Probleme.

    Kann es sein, daß noch Reste vom media_build_experimental wo rumhängen?

  • Schau mal, ob es einen Ordner /lib/modules/<kernel>/extra gibt, und dort noch was drin ist.


    vdr-User-# 755 to_h264 chk_r vdr-transcode github

  • Nein, den Ordner gibts nicht. Unter /lib/modules/4.1.12-gentoo gibts noch updates(media mit ganz viel drin, das ist vermutlich tatsächlich der Rest von media_build_experimental. Aber es wird ja /lib/modules/5.10.27-gentoo genommen - und da gibts nur kernel und misc...


    Das angemahnte Symbol scheints aber durchaus zu geben:

    Das sollte eigentlich auch früh genug geladen sein - in /etc/conf.d/modules hab ich

    modules_5_10_27="cxd2099 cxd2841er tda18212" stehen (und lsmod zeigt die nachher ja auch an - also das Laden geht grundsätzlich...)

  • Hi,

    Welcher Tuner ist es denn?

    DD braucht für neueste Karten wieder extern gepflegte Treiber...

    Evtl. brauchst du die doch?

    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

  • Nein, neu sind die nicht. Gekauft im November 2015. In der Bestellbestätigung stand "L4M-Twin C2T2 / V7Cine C/C2/T/T2 (V7)" bzw. "L4M-Flex C2/T2". Aber dmesg erkennt sie ja im Prinzip sogar:

    Das einzige, was mir auffällt, ist, dass die Karte als "CXD2843" gemeldet wird (und im media_build_experimental hatte ich auch tatsächlich ein Kernelmodul "cxd2843"), aber jetzt offenbar ein Symbol "cxd2841..." gesucht wird (wobei das cxd2841er-Kernelmodul ja durchaus geladen ist).


    Kann man diese Kartenerkennung, die in dmesg passiert, eigentlich nachträglich nochmal manuell anstoßen? Nach jeder Treiber- oder Moduländerung neu booten zu müssen, um zu sehen, ob die Karte jetzt erkannt wird, ist etwas mühsam...

  • Alle dvb/media Module per rmmod oder modprobe -r entladen, die per lsmod gelistet sind, immer die zuerst welche als in-use eine Null anzeigen und wiederholen bis keine mehr geladen sind.


    Danach eben neu laden.

  • Ah, danke. Dann war es vielleicht ungünstig, ddbrigde gleich in den Kernel zu compilieren statt ein Modul draus zu machen - so wie jetzt kann ich das ja nicht entladen.. ich werd' nochmal einen Kernel bauen, wo das ganze Media-Zeug als Modul statt direkt enthalten drin ist, dann ist man diesbezüglich wohl etwas flexibler...

  • Alle media Treiber als module

  • Eine kleine Zusatzfrage muss ich allerdings noch anhängen:


    Mit dem alten 4.1.12-Kernel (und "media-build-experimental") war die CPU-Belastung praktisch nicht messbar (auch während einer Aufnahme nicht) - die "load average" irgendwo bei 0.06 und die "%CPU" bei 0.7, also "fast nix".


    Jetzt, mit Kernel 5.10.27 und dem "mitgelieferten" ddbridge-Modul, schaut "top" (während einer Aufnahme) so aus:


    Code
    top - 10:55:23 up 1 day, 21:42,  1 user,  load average: 0.24, 0.14, 0.10
    Tasks: 172 total,   1 running, 171 sleeping,   0 stopped,   0 zombie
    %Cpu(s):  0.3 us,  0.8 sy,  0.3 ni, 98.6 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
    MiB Mem :  32071.9 total,    747.9 free,   3052.5 used,  28271.6 buff/cache
    MiB Swap:  16384.0 total,  16383.0 free,      1.0 used.  28665.4 avail Mem
      PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
    31629 vdr       20   0 1999252 235308   8156 S   8.3   0.7 139:46.39 vdr
    24591 root      20   0       0      0      0 I   2.7   0.0   5:43.43 kworker/2:2-ddbridge
    29519 root      20   0    9352   2904   2428 R   0.6   0.0   0:00.03 top
       10 root      20   0       0      0      0 I   0.3   0.0   6:49.80 rcu_sched


    (mit mehreren Aufnahmen gleichzeitig geht das bis ca. Load 0.63 und 24 %CPU oder so), und ohne Aufnahme auch nicht viel weniger als das da oben).


    Nicht dass der Server das nicht schaffen würde, aber rein technisch gibt es doch eigentlich keinen Grund, warum die Belastung durch den vdr plötzlich so viel höher ist als früher.


    Die Website (über den vdradmin-am) baut sich auch deutlich langsamer (bzw. verzögerter) auf als früher.


    Gibts da irgendwelche Diagnose- und Therapiemöglichkeiten?

  • Man muss hier aufpassen, dass man hier nicht Äpfel mit Birnen vergleicht, waren die Bedingungen wirklich identisch? Sind Aufzeichnungen von verschl. Sendern beteiligt?


    vdr-User-# 755 to_h264 chk_r vdr-transcode github

  • Naja, exakte wissenschaftliche Experimente habe ich natürlich nicht gemacht. Aber der vdr lief jetzt mit dem alten Kernel über fünf Jahre, und "vdr" habe ich in "top" nur gelegentlich und ganz selten mal aufblitzen sehen (und "ddbridge" überhaupt nie). Seit dem Upgrade auf den neuen Kernel und das neue ddbridge sind "vdr" und "kworker/2:1-ddbridge" jetzt einfach immer ganz oben bei "top".


    Ist halt einfach nur "gefühlt ungewöhnlich".


    Aktuell - ohne laufende Aufnahme sah's z.B. gerade so aus:



    also etwas besser als da oben, aber dass ein vdr, der eigentlich gerade RGN (Rein Gar Nix) macht, zusammen mit ddbridge dauerhaft insgesamt 9,9% CPU-Zeit zieht, kommt mir halt etwas seltsam vor. Wenn's ein neues System wäre, würde ich das halt als quasi gottgegeben hinnehmen, aber ich bins von früher her halt anders gewohnt...

  • Das neuere Programmversionen mehr Ressourcen verbrauchen ist andererseits nicht ungewöhnlich, dass kann mit zus. Sicherheits Protokollen oder anderen Verbesserungen zusammenhängen.


    Ich hatte vor langer langer Zeit einen Server, der mit 64Mb wunderbar lief, nach Update von Apache musste ich den Speicher vergrößern ..


    vdr-User-# 755 to_h264 chk_r vdr-transcode github

Jetzt mitmachen!

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