TT S2-6400 - saa716x kompilieren unter 22.04

  • Hallo,


    hat jemand schon die Treiber unter 22.04 (Jammy Jellyfish).

    Ich bekomme die einfach nicht mehr zum laufen.

    Mit dem Skript baut er zwar alles, und das Modul saa716x_core lässt sich auch laden,

    aber wenn ich modprobe saa716x_ff mache, bekomme ich folgende Fehlermeldung auf der Konsole


    modprobe: ERROR: could not insert 'saa716x_ff': Exec format error


    und dmesgmeldet:


    module: x86/modules: Skipping invalid relocation target, existing value is nonzero for type 1, loc 00000000fe7e1082, val ffffffffc0f210af


    Viele Grüße

    Stefan


    P.S. Diesen Post hatte ich schon unter dem Thread TT S2-6400 - saa716x kompilieren unter 20.04 geschrieben. Ich glaube aber dort geht er eher unter.

  • Es ist zwar schon etwas her, aber ich habe das Problem aktuell auch. Da ich auch schon im 20.04er Thread geschrieben hatte (TT S2-6400 - saa716x kompilieren unter 20.04) und für meine neues System unter 22.04 ein Lösung suche, schreibe ich hier mal. Unter 20.04 kann ich die kompilierten Module laden, allerdings nützt mir 20.04 nichts, da meine Hardware zu neu ist und ich keine vernünftige Zwei-Monitor-Lösung hinbekommen kann (Desktop+VDR-TFT). Deshalb hatte ich unter Fedora getestet (siehe martinkg.fedorapeople.org). Dort ließen sich die kompilierten Module laden. Ein Gegentest mit dem ubuntu-Skript (siehe erster Link) unter Fedora zeigte aber das gleiche Problem: modprobe: ERROR: could not insert 'saa716x_ff': Exec format error.


    Ich habe mir die Flags beim kompilieren und linken mal angeschaut, kann aber keine Unterschiede finden die zu diesem Problem führen könnten. Deshalb nutze ich aktuell die 'Fedora'-Variante unter ubuntu 22.04. Für Interessierte habe ich das Skript und einen Patch mal angehängt.


    Den Test ob das Modul auch funktioniert konnte ich noch nicht machen, da die Karte noch in meinem Produktiv-VDR steckt. Sonst gibt's Ärger vom Haushaltsvorstand :cursing:


    Viele Grüße

    Torsten

  • Hallo Torsten,


    danke für das Skript und den Patch. Ich habe gerade erst wieder reinschauen können und hab irgendwie vorher keine Mail über deine Nachricht bekommen oder überlesen.

    Jedenfalls wollte ich nur schnell schreiben. Ich habe es gerade getestet und es funktioniert wunderbar.


    Viele Grüße

    Stefan

  • Hallo auch von mir.


    Ich hatte das Skript ebenfalls schon vor ein paar Wochen erprobt, die gebauten Kernel-Module getestet und – weil mich das manuelle Bauen schon seit langem genervt hat – in DKMS integriert. Seitdem kann ich wieder den aktuellen Edge-Kernel 5.15 für Ubuntu 20.04 nutzen und muss nicht bei 5.11 versauern. Probleme habe ich bislang keine beobachtet.


    Sorry, dass ich nicht schon früher Feedback gegeben habe, baermuda hat mich wieder daran erinnert.


    Danke und viele Grüße

    Stefan

    Hardware: Antec NSK2480, Asus P8B75-M LX, Intel Core i5-3570T, 4 GB RAM, NVIDIA GT610, TT-Premium S2-6400, 128 GB SSD, 14 TB HDD, Pioneer BDR-207EBK
    Software: Ubuntu 22.04 LTS mit Kernel 6.8 und VDR 2.7.3 (mit offiziellen und eigenen Patches)
    Plugins: devstatus, dvbhddevice, dvd, dvdswitch, epgsearch, extrecmenu, recsearch, femon, live, markad, mlist, osdteletext, remote, screenshot, skinenigmang, skinnopacity, streamdev, systeminfo, undelete, xineliboutput
    Addons: VDR Convert 0.1.0 (angepasst)

  • Hi,

    Ein solches dkms Skript dürfte auch andere interessieren hier.

    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

  • Ich habe mal die entscheidenden Schritte, die mit Root-Rechten auszuführen sind, aus der Bash History rekonstruiert:

    • apt-get install dkms

    Damit wird das eventuell schon automatisch installierte zu einem manuell installierten Paket und fällt somit nicht vielleicht irgendwann einmal einem apt autoremove zum Opfer.

    • dkms add -m saa716x -v 1.0.0

    Jetzt noch die Module erstmalig manuell bauen:

    • dkms build -m saa716x -v 1.0.0

    Danach sollten die Module bei jedem Kernel-Update automatisch mitgebaut werden.


    Ich hoffe, dass ich nichts Entscheidendes vergessen habe. Bitte probiert es aus und meldet euch, wenn es knirschen sollte.


    Viele Spaß damit und viele Grüße

    Stefan

    Hardware: Antec NSK2480, Asus P8B75-M LX, Intel Core i5-3570T, 4 GB RAM, NVIDIA GT610, TT-Premium S2-6400, 128 GB SSD, 14 TB HDD, Pioneer BDR-207EBK
    Software: Ubuntu 22.04 LTS mit Kernel 6.8 und VDR 2.7.3 (mit offiziellen und eigenen Patches)
    Plugins: devstatus, dvbhddevice, dvd, dvdswitch, epgsearch, extrecmenu, recsearch, femon, live, markad, mlist, osdteletext, remote, screenshot, skinenigmang, skinnopacity, streamdev, systeminfo, undelete, xineliboutput
    Addons: VDR Convert 0.1.0 (angepasst)

    Edited 5 times, last by SHofmann ().

  • Danke für die Rückmeldung. Deiner Signatur zufolge hast du mit Kernel 6.1 gebaut. Ich war mir nicht ganz sicher, ob das Skript nicht noch irgendwelche Kernel-spezifischen Patches (statt oder in Ergänzung zu dem beigefügten saa716x.diff) gebraucht hätte.


    Vielleicht kann wtor das einordnen.


    Viele Grüße

    Stefan

    Hardware: Antec NSK2480, Asus P8B75-M LX, Intel Core i5-3570T, 4 GB RAM, NVIDIA GT610, TT-Premium S2-6400, 128 GB SSD, 14 TB HDD, Pioneer BDR-207EBK
    Software: Ubuntu 22.04 LTS mit Kernel 6.8 und VDR 2.7.3 (mit offiziellen und eigenen Patches)
    Plugins: devstatus, dvbhddevice, dvd, dvdswitch, epgsearch, extrecmenu, recsearch, femon, live, markad, mlist, osdteletext, remote, screenshot, skinenigmang, skinnopacity, streamdev, systeminfo, undelete, xineliboutput
    Addons: VDR Convert 0.1.0 (angepasst)

  • ob das Skript nicht noch irgendwelche Kernel-spezifischen Patches (statt oder in Ergänzung zu dem beigefügten saa716x.diff) gebraucht hätte.

    Ich habe bisher den Fedora Kernel gepatcht, dort gibt es einige Fedora-spezifische Anpassungen, wobei der Fedora-Patch nur noch eher klein ist im Verhältnis zu vor vielen Jahren. Ich habe das jetzt nicht weiter untersucht, die scheinen in Bezug auf die TT6400 aber keinen Einfluss zu haben. Bis jetzt läuft es zumindest so.

    Ich werde das mal weiter beobachten.


    Grüße

    kamel5

    VDR 2.7.3: ASUS Prime X470-PRO, Ryzen 7 5700X, 64GB, 6TB HD, GT1030, Fedora 40 Kernel 6.11 X86_64, Devicebonding 2 x 1 auf 2, TT6400, DVBSky S952 V3

    Git-Repo: gitlab.com/kamel5

  • Aus meiner Sicht glaube ich erstmal nicht das da was nötig wäre. Schön das über DKMS zu lösen. Ich nutze das Skript allerdings selbst nicht, da die Karte letztendlich von meinem neuen Motherboard / BIOS nicht mehr erkannt wird :( egal mit welchen PCIE-Kompatibilitätseinstellungen ich arbeite. Aber nicht so schlimm, da ich damit eh auf vaapi wollte.

    VDR: Silverstone SG05 Lite, ASRock MB H510M-HDV R2.0, I3 10100, 8GB RAM, Ubuntu 22.04, vdr 2.6.4, 120GB SSD, 8TB SSD, Digital Devices Max S8X, Nvidia GT730, IR-WAKEUP USB

  • Hab's bei mir unter Fedora 37 auch mal probiert, fkt. exzellent, bin begeistert. :thumbup:

    Gruß MartinKG

    Fedora 41 kernel-6.11.8-300.fc41.x86_64 Gnome Desktop vdr 2.6.9 mit vdr-softhddevice plugin.

    ViewSonic VX3276 HDMI-1 <------------> HDMI NVidia Geforce-gt-1030

    ViewSonic VX3276 HDMI-2 <------------> HDMI Technotrend S2-6400

  • Noch ein Nachtrag: Nach dem gestrigen Upgrade auf Kernel 5.15.0-58 ließ sich der vom DKMS gebaute und installierte Treiber nicht mehr laden. Im syslog fand sich eine lange Liste mit Fehlermeldungen wie dieser:

    • saa716x_core: disagrees about version of symbol pci_enable_device
    • saa716x_core: Unknown symbol pci_enable_device (err -22)

    Geholfen hat letztlich, in /usr/src/saa716x-1.0.0 die "historischen" Quellen (saa716x-5.15.zip

    und deren expandierten Baum unter saa716x-5.15) zu löschen und den Treiber an DKMS vorbei manuell zu bauen:

    • ./make.sh --dest /lib/modules/$( uname -r )/updates/dkms

    Dabei die Frage „Clean all before building (y/N)?“ mit „y“ beantworten. Danach werden die Quellen vor dem Bauen erneut heruntergeladen und die von DKMS installierten durch die neu gebauten Treiber ersetzt.


    Nicht ganz unschuldig an diesem Verhalten ist sicherlich auch, dass ich wegen meines etwas langsameren Internet-Zugangs auf das ständige Herunterladen der Quellen im DKMS-Batchbetrieb verzichte (Option --clean, Zeile 97 in make.sh). Für wen das kein Problem ist, möge bei sich bitte das Kommentarzeichen dort entfernen.


    Viele Grüße

    Stefan

    Hardware: Antec NSK2480, Asus P8B75-M LX, Intel Core i5-3570T, 4 GB RAM, NVIDIA GT610, TT-Premium S2-6400, 128 GB SSD, 14 TB HDD, Pioneer BDR-207EBK
    Software: Ubuntu 22.04 LTS mit Kernel 6.8 und VDR 2.7.3 (mit offiziellen und eigenen Patches)
    Plugins: devstatus, dvbhddevice, dvd, dvdswitch, epgsearch, extrecmenu, recsearch, femon, live, markad, mlist, osdteletext, remote, screenshot, skinenigmang, skinnopacity, streamdev, systeminfo, undelete, xineliboutput
    Addons: VDR Convert 0.1.0 (angepasst)

  • Hallo,


    ein kleines Problem zeigt sich noch unter Fedora. Wenn man ein Kernel-Update macht wird zwar der Treiber mit übersetzt, aber für die falsche Kernelversion (für die Version, die gerade aktiv ist). Der übersetzte Treiber landet im richtigen Pfad, kann dann allerdings nicht geladen werden:

    [ 6.635687] saa716x_core: version magic '6.1.6-300.fc37.x86_64 SMP preempt mod_unload ' should be '6.1.7-200.fc37.x86_64 SMP preempt mod_unload

    Wenn man das händisch nochmal mit der richtigen Kernelversion macht, funktioniert es auch nicht:

    Erst wenn man in den neuen Kernel bootet, kann man dafür dann den richtigen Treiber übersetzen.


    SHofmann , vielleicht hast Du da noch eine Idee, wie bei einem Update die richtige Kernelversion übergeben wird.

    Bei anderen DKMS-Sachen funktioniert das ja auch.


    Grüße

    kamel5

    VDR 2.7.3: ASUS Prime X470-PRO, Ryzen 7 5700X, 64GB, 6TB HD, GT1030, Fedora 40 Kernel 6.11 X86_64, Devicebonding 2 x 1 auf 2, TT6400, DVBSky S952 V3

    Git-Repo: gitlab.com/kamel5

  • ein depmod -a hilft nicht`?

  • ein depmod -a hilft nicht`?

    Das wird schon automatisch nach dem Bauen gemacht, siehe oben im zweiten Auszug Zeile 44.

    Dadurch, das die Module für die falsche Kernel-Version gebaut wefden, können sie beim Booten nicht geladen wdrden.

    Und modinfo zeigt auch die falsche Version an.

    Nach dem Neustart und nochmaligem Bauen geht es dann.


    Grüße

    kamel5

    VDR 2.7.3: ASUS Prime X470-PRO, Ryzen 7 5700X, 64GB, 6TB HD, GT1030, Fedora 40 Kernel 6.11 X86_64, Devicebonding 2 x 1 auf 2, TT6400, DVBSky S952 V3

    Git-Repo: gitlab.com/kamel5

  • das die Module für die falsche Kernel-Version gebaut wefden

    OK, ich habe dafür jetzt eine Lösung gefunden.

    Wenn man in der Datei make.sh im Bereich "# build the driver"

    die Zeile

    "make"

    gegen

    "make KDIR="/lib/modules/$kernel/build"

    austauscht, funktioniert das Bauen für verschiedene Kernelversionen dann korrekt.


    Grüße

    kamel5

    VDR 2.7.3: ASUS Prime X470-PRO, Ryzen 7 5700X, 64GB, 6TB HD, GT1030, Fedora 40 Kernel 6.11 X86_64, Devicebonding 2 x 1 auf 2, TT6400, DVBSky S952 V3

    Git-Repo: gitlab.com/kamel5

  • Hallo zusammen,


    hatte die letzten Tage keine Zeit, die Diskussion zu verfolgen. Ich schaue mir das aber in einer ruhigen Minute nochmal an.


    Danke jedenfalls fürs Forschen und den Lösungsansatz.


    Viele Grüße

    Stefan



    PS: Ich habe trotz der Änderung die Fehlermeldung beim letzten Upgrade am Wochenende erneut im Log gefunden. Die Suche geht also weiter...

    Hardware: Antec NSK2480, Asus P8B75-M LX, Intel Core i5-3570T, 4 GB RAM, NVIDIA GT610, TT-Premium S2-6400, 128 GB SSD, 14 TB HDD, Pioneer BDR-207EBK
    Software: Ubuntu 22.04 LTS mit Kernel 6.8 und VDR 2.7.3 (mit offiziellen und eigenen Patches)
    Plugins: devstatus, dvbhddevice, dvd, dvdswitch, epgsearch, extrecmenu, recsearch, femon, live, markad, mlist, osdteletext, remote, screenshot, skinenigmang, skinnopacity, streamdev, systeminfo, undelete, xineliboutput
    Addons: VDR Convert 0.1.0 (angepasst)

    Edited once, last by SHofmann ().

  • Ich hatte ja schon mal die Anleitung für openSUSE gepostet. Falls die auch hier hilfreich sein sollte - here we go.

    Das Ganze kann man auch einfach in ein Script packen.


Participate now!

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