Treiber der Cine-CTv6/DDBridge/CI in den Kernel integrieren

  • Na ja, die wesentliche Arbeit kommt von Lars. Aktuell wissen wir nur, dass das Paket gegen einer 3.8er Kernel baut. Es wäre gut zu wissen ob es auch mit dem 3.2er und dem 3.5er klappt.

    Da ist mir dann doch jemand zuvor gekommen mit dem DKMS 8o


    Ich habe das compilieren mit folgenden Kernel Headern auf meiner Ubuntu 12.04 VDR Devel VM getestet:
    3.12.0-031200-generic
    3.2.51-030251-generic
    3.5.7-03050725-generic
    3.8.0-29-generic
    3.8.0-32-generic


    Ich habe für alle Versionen die Module erzeugen können. Testen kann ich die Module nicht, weil die CPU für meinen neuen VDR noch nicht gekommen ist.


    Sehr gute Arbeit Lars und Gerald, DANKE!!!


    LG
    Jasmin


    PS:
    Kernel Header und Images für Ubuntu findet man hier.
    Einfach mit wget holen (wget -c URL...). Man braucht linux-headers-..._all.deb und linux-headers-...-generic_..._amd64.deb.
    Das Kernel Image ist nur notwendig, wenn man es auch testen möchte (linux-image-..._amd64.deb).


    Dann einfach installieren: sudo dpkg -i linux-headers-x.y.z*.deb
    Dabei werden dann automatisch die Kernel Module mit dem DKMS für die jeweiligen Kernel Header gebaut.
    Das Ergebnis steht dann in: /lib/modules/x.y.z....-generic/updates/dkms

  • Ich hab das dddvb-dkms etwas überarbeitet.
    Es ist dddvb 0.9.10 von Ralph, aber drxk und tda18271c2dd aus Olivers Repository, weil die schon ENUM_DELSYS können.


    https://github.com/flensrocker/dddvb-dkms
    https://launchpad.net/~yavdr/+…54/+listing-archive-extra


    Momentan nur gegen 3.8.0-32 gebaut und (provisorisch) getestet, andere Kernel installiere ich noch.


    Lars.

  • Momentan nur gegen 3.8.0-32 gebaut und (provisorisch) getestet, andere Kernel installiere ich noch.

    Ich war so frei das neue Paket gegen alle meine Kernel Header zu testen.
    3.12.0-031200-generic
    3.2.51-030251-generic
    3.5.7-03050725-generic
    3.8.0-29-generic
    3.8.0-32-generic
    Build war problemlos, testen konnte ich die Module mangels HW noch nicht.


    LG
    Jasmin


    PS:
    Zum rebuild des DKMS gegen alle installierten Kernel Header (Quelle):
    ls /usr/src/linux-headers-*-generic -d | sed -e 's/.*linux-headers-//' | sort -V | sudo xargs -n1 /usr/lib/dkms/dkms_autoinstaller start

  • Es ist dddvb 0.9.10 von Ralph, aber drxk und tda18271c2dd aus Olivers Repository, weil die schon ENUM_DELSYS können.

    Dann hat Ralph doch nicht alle Änderungen von Oliver in seinen Sourcen drinnen, wie ich befürchtet habe?

  • Den drxk-statuslock-fix-Patch werde ich auch noch einbauen, der ist mir erst in der Nacht klar geworden, wozu der gut ist, nachdem ich da diverse GetLockStatus-Meldungen im syslog hatte. Mal sehen, ob ich das heute noch schaffe, sonst morgen.


    Lars.

  • Wenn man mit deinem DKMS buildet, dann werden folgende Module gebaut:
    cxd2099.ko
    ddbridge.ko
    drxk.ko
    dvb-core.ko
    lnbp21.ko
    octonet.ko
    stv0367dd.ko
    stv090x.ko
    tda18212dd.ko
    tda18271c2dd.ko


    Wenn du mit hier mal vergleichst, dann ist da ein Unterschied. Olivers Treiberpaket baut in der Minimalkonfiguration für DD zusätzlich cxd2843.ko und stv6110x.ko, aber kein octonet.ko.
    Hmm, irgendwas stimmt da noch nicht ganz zusammen, denke ich.
    Vielleicht kann Oliver das mal aufklären.


    LG
    Jasmin


  • Mir ist nicht so ganz klar, was ihr da macht, aber...


    ...wenn man DVB-Core modifiziert (was Ralphs Treiberpaket tut), dann sollte man alles neu übersetzen, was DVB-Core verwendet! Andernfalls kracht es mit großer Wahrscheinlichkeit. Generell muß man jedes Modul neu übersetzen, das von einer geänderten Modulschnittstelle abhängt. Ob es dann noch einen großen Unterschied zu meiner Vorgehensweise gibt, wage ich zu bezweifeln.


    Von ddbridge benötigte Module:
    - DuoFlex S2: stv6110x + stv090x + lnbp21
    - DuoFlex CT (v1): tda18271c2dd + drxk
    - DuoFlex CT (v2): tda18212dd + stv0367
    - DuoFlex CT (v3): tda18212dd + cxd2843
    - CI: cxd2099


    Octonet habe ich absichtlich erst mal weggelassen. Oder baut jemand von Euch Software für diese Hardware?


    CU
    Oliver

  • Mir ist nicht so ganz klar, was ihr da macht, aber...

    Also soweit ich es verstehe, soll es ein Treiberpaket nur auf Basis von Ralphs Sourcen werden. Allerdings sind da anscheinend doch noch nicht alle deine Erweiterungen drinnen (siehe vorige Posts).


    ...wenn man DVB-Core modifiziert (was Ralphs Treiberpaket tut), dann sollte man alles neu übersetzen, was DVB-Core verwendet! Andernfalls kracht es mit großer Wahrscheinlichkeit.

    Wenn man nur Karten von DD in seinem System stecken hat, dann gibt es auch nur die Treiber für DD und damit ist das Wurst.


    Danke für die Info!
    Dann brauchen wir unbedingt in dem Paket hier noch cxd2843.ko und stv6110x.ko.


    LG
    Jasmin

  • Moin,


    In erster Linie baue ich an dem dkms, um Erfahrung und Überblick über den Treiber zu bekommen. Bisher hab ich mit Kerneltreibern noch gar nicht gearbeitet und muss einfach irgendwo anfangen. Ich dachte mir, wenn ich beim Originaltreiber anfange und mir ansehe, was du, UFO, daran geändert hast, dann werde ich die Zusammenhänge schon irgendwie verstehen.


    Danke für den Hinweis mit dvb-core. Da ich in meinem Testrechner nur eine DD verbaut habe, sehe ich für mich da erst mal kein Problem, werde das aber im Hinterkopf behalten.


    Ansonsten sehe ich das Treiberpaket aus deinem Repository immer noch als das beste und empfehlenswerteste an, wenn man einfach nur einen vdr installieren möchte. Deshalb wird's das auch weiterhin geben.


    Octonet brauche ich zur Zeit auch nicht, aber wer weiß schon, was die Zukunft bringt. :)
    Um die anderen Module werde ich mich auch noch kümmern. Ein kleines, übersichtliches Treiberpaket für Nur-DD-Nutzer hat schon seinen Charme.


    Lars

  • quote='mini73','index.php?page=Thread&postID=1170450#post1170450']Danke für den Hinweis mit dvb-core. Da ich in meinem Testrechner nur eine DD verbaut habe, sehe ich für mich da erst mal kein Problem, werde das aber im Hinterkopf behalten.
    Octonet brauche ich zur Zeit auch nicht, aber wer weiß schon, was die Zukunft bringt.
    Um die anderen Module werde ich mich auch noch kümmern. Ein kleines, übersichtliches Treiberpaket für Nur-DD-Nutzer hat schon seinen Charme.[/quote]

    Lars


    Ich habe da eine Idee, die ich ähnlich in einem anderen Zusammenhang früher schon mal angewendet habe. Jedes Kernel-Modul bekommt ein eigenes DKMS. Die Abhängigkeiten untereinander werden aus der modules.dep gezogen. Das ließe sich weitgehend per Skript erledigen.


    Es gibt zusätzliche udev-rules die beim ersten Aufruf das DKMS installieren. Danach müsste die udev-rule entfernt werden um den Boot nicht weiter zu verzögern.


    Leider sehe ich keine Möglichkeit automatisch herauszufinden welche Kernelmodule zu einer Karte gehören ohne dass man die Karte hat. Deshalb kann man sie nicht bündeln. Dadurch dass dvb-core sein eigenes Module hätte, würde es keine Konflikte geben.
    Es würden nur noch die wirklich benötigten Kernelmodule installiert. Statt einem DKMS mit 500 Kernelmodulen würde es dann vielleicht 10 DKMS-Pakete mit je einem Module geben.


    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

  • Interessante Idee, kannst du ja gerne mal verfolgen. Keine Ahnung, ob das wirklich geht. Sind die Module wirklich so einzeln übersetzbar? An media hängt ja ein ziemlicher Rattenschwanz an Modulen...


    Ich versuche weiterhin, den Treiber für den Kernel aufzuarbeiten bzw. Maik zuzuarbeiten.


    Wer Karten unterschiedlicher Hersteller mischt, hat halt ein Problem. :)


    Lars.

  • Interessante Idee, kannst du ja gerne mal verfolgen. Keine Ahnung, ob das wirklich geht. Sind die Module wirklich so einzeln übersetzbar? An media hängt ja ein ziemlicher Rattenschwanz an Modulen...


    Schon, aber während der compile zeit sind die Abhängigkeiten ja egal.


    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

  • Hallo mini73,


    ich habe gerade die dddvb-dkms - 0.9.10.3yavdr0 ausprobiert. Die Installation lief ohne Fehlermeldung durch. Leider kam nach dem reboot dieses:



    Brauchs du noch andere Daten?


    Gruß
    Murry

    Files

    • dmesg.txt

      (78.34 kB, downloaded 114 times, last: )
    • syslog.txt

      (153.46 kB, downloaded 122 times, last: )
  • Moin!


    Der Call-Trace sieht danach aus, als ob das Modul stv6110x beteiligt ist, das ist nicht in diesem Paket enthalten (s.o. die Posts von Jasmin und UFO).
    Warum der nicht mit übersetzt wird, muss ich erst noch prüfen.


    Lars.

  • Code
    1. stv6110x.ko:
    2. Running module version sanity check.
    3. Good news! Module version for stv6110x.ko
    4. exactly matches what is already found in kernel 3.8.0-33-generic.
    5. DKMS will not replace this module.
    6. You may override by specifying --force.


    Das ist der Grund, warum stv6110x nicht installiert wird. Weiß jemand zufällig, wo ich das "--force" eintragen muss?
    cxd2843 hatte ich einfach in der dkms.conf vergessen, kommt mit der nächsten Version.


    Lars.

  • Brauchs du noch andere Daten?


    Er möchte mit an Sicherheit grenzender Wahrscheinlichkeit wissen ob es ein Mischbetrieb ist. Also welche DVB-Geräte aller Art waren zu dem Zeitpunkt aktiv?


    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