Kernel-Update - und mal wieder geht nix mehr...

  • Hallo,


    es handelt sich zwar um Gentoo-Linux, aber eigentlich ist das nix Gentoo-spezifisches, daher habe ich es mal hier in die "Installation" gestellt:


    Ich habe die L4M-Twin-CT-PCIe-Karte. Für die habe ich die Treiber immer mit "media_build_experimental-4f70550f5de9" gebaut (make all, make install und Reboot). So weit, so gut. Das wollte ich nun nach dem Kernel-Update (von 3.12.21-r1 auf 3.14.14) auch wieder machen, aber da gibts einen Compilierfehler beim Modul "cx25840". Ok, das brauche ich eh nicht, also habe ich herausgefunden, dass man mit "make menuconfig" erst mal auswählen kann, was man eigentlich braucht (wenn ich das richtig sehe, "NGENE" und "DDBRIDGE"?! Bei einem funktionierenden VDR steht bei lsmod aber ngene used by 0?). Also hab ich "make distclean", "make menuconfig" und "make" (ohne "all") gemacht. Das ist zwar ohne Fehler durchgelaufen, hat aber irgendwie nur 0 (!) Module produziert. Gut, meine Version von "media_build_experimental" war schon über ein Jahr alt, also habe ich das gleiche mal mit der aktuellen Version (6b80c0903403) versucht - aber mit dem gleichen Effekt. (Ob hiermit "make all" wieder gegangen wäre, habe ich aus Zeitgründen noch nicht probiert - das dauert immer eine knappe Stunde.)


    Aber überhaupt lese ich immer wieder, dass das ganze Zeug seit einiger Zeit ohnehin im Linux-Kernel enthalten ist. Und siehe da, es gibt tatsächlich ein ziemlich kompatibles Media-Menü in der Linux-Kernel-Config, wo ich auch "NGENE" und "DDBRIDGE" und einiges andere ankreuzen kann - das hilft aber nix ("no DVB device found").


    Weil ich dringend was aufnehmen wollte, bin ich jetzt mal zur alten Version (also Kernel 3.12.21-r1 mit media_build_experimental-4f70550f5de9) zurückgekehrt, und nach kaum einer Stunde "make all" geht alles wieder (sogar ohne Reboot, weil ich die Module gleich mit "make reload" von media_build_experimental eingefügt habe). Wenn ich da jetzt allerdings "lsmod" mache, um nachzuschauen, welche er überhaupt verwendet, zeigt er das hier an (die mit "used by 0" habe ich gleich weggelassen):

    Das kann nicht sein Ernst sein, oder? Ich muss nach der Aufnahme nachher nochmal rebooten, um zu sehen, welche Module er beim Reboot automatisch lädt - das waren IIRC wesentlich weniger.


    Aber langer Rede kurzer Sinn, eigentlich bewegen mich hauptsächlich zwei Fragen:

    • Woran könnte es liegen, dass die Module von "media_build_experimental" nur gebaut werden, wenn ich "make all" mache? Eigentlich sollte doch "make menuconfig" und "make" auch funktionieren?
    • Brauche ich das "media_build_experimental" heutzutage denn überhaupt noch, wenn doch eigentlich schon alles im Kernel vorhanden ist? Welche Kernel-Optionen müssen (außer NGENE und DDBRIDGE) noch zusätzlich gesetzt sein? Nur mit denen (und ein paar "grundsätzlichen" wie "MEDIA_DIGITAL_TV_SUPPORT" oder "MEDIA_RC_SUPPORT" etc.) gehts jedenfalls nicht. (dmesg sagt dann nur "Digital Devices PCIE bridge driver, Copyright (C) 2010-11 Digital Devices GmbH", "DDBridge driver detected: Digital Devices PCIe bridge" und "HW 0001000b FW 00010004", und /dev/dvb gibts in diesem Fall auch nicht.)

    Danke schon mal...


    Gruß Matthias.

  • Also wenn man die funktionierende Version hochfährt, steht das hier in dmesg:


    und die VDR-relevanten Module, die dazu geladen wurden, sind die hier:

    Code
    Module                  Size  Used by
    tda18212dd              4843  2
    stv0367dd              13298  2
    ddbridge               22156  13
    cxd2099                 4383  1 ddbridge


    Ich hab schon gesehen, dass man die im Linux-Kernel alle gar nicht konfigurieren kann (nur TDA18271C2DD, aber nicht TDA18212DD; nur STV090x und STV6110x, aber nicht STV0367DD; gar kein CXD), also brauche ich wohl doch immer noch das media_build_experimental, wodurch sich alles auf Frage 1 reduziert: Wie kriege ich das dazu, dass ich nicht jedesmal alles "maken" muss?!


    Gruß Matthias.

  • Hat Gentoo keinen dkms Support? Das ist ein Mechanismus, der zumindest unter Debian et.al. dafür sorgt, dass Treiberpakete nach einem Kernelupdate automatisch neu gebaut werden. Ohne Neubau geht es nicht. Es sei denn, du baust keinen neuen Kernel.


    Vielleicht haben wir aber Glück, und der Treiber landet irgendwann im Kernel. Darauf freue ich mich auch schon...


    Lars

  • emerge @module-rebuild :]


    ...ok, hätte hier aber wohl auch nicht geholfen, da der TO wohl eher kein ebuild für media_build_experimental verwendet hat.

    Gentoo seit 0.26 :thumbup: - http://www.brakemeier.de

    :prost2

  • Richtig, die nötigen Treiber sind im Kernel nicht drin - denn dann bräuchte ich media_build_experimental ja gar nicht. Und wenn ich damit Treiber baue, weiß der Kernel das nicht, so dass er das nicht selber neu compilieren kann. Und selbst wenn ers könnte - die media-Version, die ich für Kernel 3.12.21 verwendet habe, funktioniert ja auf 3.14.14 nicht mehr (und die neue hab ich noch nicht probiert, weil eben nur "make all" geht und das immer eeewig dauert - und ich den Server nur rebooten kann, wenn a) grad niemand drauf arbeitet und b) der VDR grad nix aufnimmt).


    Außer irgendwo gäbs ein Gentoo-Overlay mit media_build_experimental - das könnte man dann ins Portage mit einbinden (und auch @module-rebuild etc. machen). Ich wüßte jetzt aber nicht auf Anhieb, wie ich nach sowas suchen sollte (und die Wahrscheinlichkeit, dass es das überhaupt gibt, ist nicht sehr von 0 verschieden).


    Daher würde ich gern einfach mit media_build_experimental mit "make" genau (nur) die Module bauen, die in der .config drinstehen. Da baut er aber eigenartigerweise genau 0 Module. "make all" geht (hoffentlich auch noch mit Kernel 3.14.14), erzeugt aber 375-oder-so überflüssige Module und braucht eine Stunde dafür... noch kein optimaler Zustand ?(


    Gruß Matthias.

  • oder halt nochmal mit dem alten kernel booten falls noch vorhanden dan hat man ja die config noch

  • Die .config ist egal, die hab ich auch schnell wieder geeignet zusammengebaut. Mein Problem ist, dass "make" ohne "all" exakt 0 Module baut:


    "make all" funktioniert, macht aber halt "all" Module - wie der Name schon sagt :(


    Gruß Matthias.

  • Argh. Jetzt haben die media_build_experimental mit dem neuen Kernel 3.14.14 zwar funktioniert (make distclean, make menuconfig, make, make install, reboot), aber dmesg sagt jetzt:

    Code
    [    6.705846] systemd-udevd[222]: starting version 215
    [    7.544784] ddbridge: Unknown symbol dvb_netstream_init (err 0)
    [    7.544805] ddbridge: Unknown symbol dvb_netstream_release (err 0)
    [    7.544842] ddbridge: Unknown symbol dvb_usercopy (err 0)
    [    7.545203] ddbridge: Unknown symbol dvb_netstream_init (err 0)
    [    7.545216] ddbridge: Unknown symbol dvb_netstream_release (err 0)
    [    7.545245] ddbridge: Unknown symbol dvb_usercopy (err 0)


    und lsmod zeigt nur cxd2099 an...


    Wenn man "make reload" macht, um die Module alle zu laden, kommt:


    dmesg sagt dann Dinge wie

    Code
    [  263.153209] ddbridge: Unknown symbol dvb_netstream_init (err 0)
    [  263.153230] ddbridge: Unknown symbol dvb_netstream_release (err 0)
    [  263.153266] ddbridge: Unknown symbol dvb_usercopy (err 0)
    [  397.369656] ddbridge: Unknown symbol dvb_netstream_init (err 0)
    [  397.369684] ddbridge: Unknown symbol dvb_netstream_release (err 0)
    [  397.369731] ddbridge: Unknown symbol dvb_usercopy (err 0)
    [  444.673485] ddbridge: Unknown symbol dvb_netstream_init (err 0)
    [  444.673506] ddbridge: Unknown symbol dvb_netstream_release (err 0)
    [  444.673540] ddbridge: Unknown symbol dvb_usercopy (err 0)


    und wenn man nicht das ddbridge vom Kernel nimmt, sondern das ddbridge von media_build_experimental, kommt noch das hier:


    Code
    [  627.737529] Digital Devices PCIE bridge driver, Copyright (C) 2010-11 Digital Devices GmbH
    [  627.737701] DDBridge driver detected: Digital Devices PCIe bridge
    [  627.737724] HW 0001000b FW 00010004
    [  701.833663] rc_core: exports duplicate symbol ir_raw_handler_register (owned by kernel)
    [  701.845088] dvb_core: exports duplicate symbol dvb_ca_en50221_camchange_irq (owned by kernel)


    wodurch ich vermute, dass es gar keine gute Idee ist, DVB-Dinge vom Kernel mit media_build_experimental zu mischen. Und nachdems im Kernel ja offenbar keine Treiber für meine Karte gibt, werd ich jetzt mal den Kernel ganz ohne DVB-Zeug neu compilieren und nur noch das media_build_experimental verwenden?


    Grmpf, mit sowas kann man Tage verbringen... X(


    Gruß Matthias.

  • Ok, Seite 57 dieses Threads hat meine Vorahnung bestätigt: Einfach DVB komplett im Kernel disablen und nur media_build_experimental nehmen. Uff!


    Beunruhigend sind höchstens noch Dinge wie

    Code
    Aug 13 15:56:37 fileserver vdr: [2357] channel 10 (arte HD) event Mit 13.08.2014 15:50-16:20 '(null)' status 4


    aber da muss wohl der EPG erst mal wieder gefüllt werden - aus 9 MB wurden 0 Byte nachm Reboot? Na egal, das fängt sich schon wieder.


    Fernsehen mit Linux erinnert mich heutzutage noch an die 80er Jahre, wo man mit Lötkolben und Lochrasterplatine Modems gebaut hat und zum DFÜ- und Internet-Pionier wurde. Sind wir alle Fernseh-Pioniere? Von Plug and Play ist das alles ja noch weit entfernt...


    Gruß Matthias.

  • Fernsehen mit Linux erinnert mich heutzutage noch an die 80er Jahre, wo man mit Lötkolben und Lochrasterplatine Modems gebaut hat und zum DFÜ- und Internet-Pionier wurde. Sind wir alle Fernseh-Pioniere? Von Plug and Play ist das alles ja noch weit entfernt...


    Das ist doch albern, du hattest doch nur eine Mischung von neuen und alten Kernelmodulen, die du vermieden hättest, wenn du media-build-experimental mit DKMS installiert hättest, wie das die yaVDR-User schon seit Jahren machen ohne das sie sich daran erinneren, weil die Treiber auch automatisch beim Kernel-Update vom DKMS neu kompiliert werden. Ich nenne das schon Plug and Play.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • Fernsehen mit Linux erinnert mich heutzutage noch an die 80er Jahre


    Das hängt nur von der verwendeten Hardware ab. Wenn du eine DVB-Karte benutzt, die vom Kernel unterstützt wird, hat man gar keinen Ärger, egal, welche Distribution.
    Bei aktuellen Karten, deren Treiber erst noch auf dem Weg in den Kernel sind, war es schon immer so und wird es auch immer bleiben. So ist der Prozess.


    Lars.

  • Zitat von mhanft


    Fernsehen mit Linux erinnert mich heutzutage noch an die 80er Jahre, wo man mit Lötkolben und Lochrasterplatine Modems gebaut hat und zum DFÜ- und Internet-Pionier wurde. Sind wir alle Fernseh-Pioniere? Von Plug and Play ist das alles ja noch weit entfernt...


    Die Alternative ist die Windows Welt.


    Ohne Treiber vom Hersteller geht da gar nichts, und wenn der Treiber rumzickt "ist das eben so".
    Zusätzlich hast du dann die Wahl zwischen
    - Programmen, die für einige spezielle Hardware ihre eigenen Treiber mitbringen oder
    - auf die BDA Schnittstelle (broadcast driver architecture) zurückgreifen (welche noch nicht einmal DISEQC befehle kennt) und die Programmierer zu MS compilern und MS libs zwingt.
    Wenn der Treiber deiner Hardware denn überhaupt die BDA Schnittstelle beherrscht.

  • Das hängt nur von der verwendeten Hardware ab. Wenn du eine DVB-Karte benutzt, die vom Kernel unterstützt wird, hat man gar keinen Ärger, egal, welche Distribution.
    Bei aktuellen Karten, deren Treiber erst noch auf dem Weg in den Kernel sind, war es schon immer so und wird es auch immer bleiben. So ist der Prozess.


    Ja, schon klar. Aber ist der Treiber für die L4M-Twin-Karten denn auf dem Weg in den Kernel? Sooo neu sind die doch auch schon nicht mehr. Wieviele Jahre dauert sowas denn? :mua


    Die Karte habe ich übrigens ausgesucht, weil sie mir hier damals wärmstens empfohlen wurde, als ich den vorherigen krätzigen USB-Stick endlich entsorgen wollte. War auch eine gute Entscheidung - wenn sie geht, geht sie völlig problemlos. Nur der Weg dahin ist halt manchmal etwas mühsam 8)


    Anyway, danke für die Unterstützung!


    Gruß Matthias.

  • Das dauert nun mal so lange, bis es jemand tut.
    Aber glücklicher scheint sich momentan jemand damit zu befassen. Kann also nur noch zwei bis drei Jahre dauern...


    Lars.

  • Nur der Weg dahin ist halt manchmal etwas mühsam


    Nein, überhaupt nicht, ist total easy: media-build-experimental-dkms installieren und fertig.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

Jetzt mitmachen!

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