[gelöst] Nach Update von Jessie auf Stretch - TT 6400: Treiber lässt sich nicht mehr übersetzen

  • Hallo,

    ich habe ein Update von Jessie auf Stretch durchgeführt. Das lief wie immer problemlos.

    Nun will ich den Treiber für meine TT 6400 so wie unter Jessie bzw. wie auch unter http://www.vdr-wiki.de/wiki/in…tallation_der_DVB-Treiber beschrieben übersetzen und es kommt folgender Fehler:


    make[2]: Leaving directory '/usr/local/src/media_build_experimental/v4l/firmware'


    Kernel build directory is /lib/modules/4.9.0-6-amd64/build


    make -C ../linux apply_patches


    make[2]: Entering directory '/usr/local/src/media_build_experimental/linux'


    Patches for 4.9.0-6-amd64 already applied.


    make[2]: Leaving directory '/usr/local/src/media_build_experimental/linux'


    make -C /lib/modules/4.9.0-6-amd64/build SUBDIRS=/usr/local/src/media_build_experimental/v4l modules


    make[2]: Entering directory '/usr/src/linux-headers-4.9.0-6-amd64'


    CC [M] /usr/local/src/media_build_experimental/v4l/msp3400-driver.o


    In file included from <command-line>:0:0:


    /usr/local/src/media_build_experimental/v4l/compat.h:1463:1: error: redefinition of 'pci_zalloc_consistent'


    pci_zalloc_consistent(struct pci_dev *hwdev, size_t size,


    ^~~~~~~~~~~~~~~~~~~~~


    In file included from /usr/src/linux-headers-4.9.0-6-common/include/linux/pci.h:2150:0,


    from /usr/local/src/media_build_experimental/v4l/compat.h:1459,


    from <command-line>:0:


    /usr/src/linux-headers-4.9.0-6-common/include/linux/pci-dma-compat.h:23:1: note: previous definition of 'pci_zalloc_consistent' was here


    pci_zalloc_consistent(struct pci_dev *hwdev, size_t size,


    ^~~~~~~~~~~~~~~~~~~~~


    In file included from <command-line>:0:0:


    /usr/local/src/media_build_experimental/v4l/compat.h:1552:0: warning: "DMA_ATTR_SKIP_CPU_SYNC" redefined


    #define DMA_ATTR_SKIP_CPU_SYNC 0

    In file included from /usr/src/linux-headers-4.9.0-6-common/include/linux/pci-dma-compat.h:7:0,


    from /usr/src/linux-headers-4.9.0-6-common/include/linux/pci.h:2150,


    from /usr/local/src/media_build_experimental/v4l/compat.h:1459,


    from <command-line>:0:


    /usr/src/linux-headers-4.9.0-6-common/include/linux/dma-mapping.h:47:0: note: this is the location of the previous definition


    #define DMA_ATTR_SKIP_CPU_SYNC (1UL << 5)
    /usr/src/linux-headers-4.9.0-6-common/scripts/Makefile.build:298: die Regel für Ziel »/usr/local/src/media_build_experimental/v4l/msp3400-driver.o« scheiterte


    make[5]: *** [/usr/local/src/media_build_experimental/v4l/msp3400-driver.o] Fehler 1


    /usr/src/linux-headers-4.9.0-6-common/Makefile:1517: die Regel für Ziel »_module_/usr/local/src/media_build_experimental/v4l« scheiterte


    make[4]: *** [_module_/usr/local/src/media_build_experimental/v4l] Fehler 2


    Makefile:152: recipe for target 'sub-make' failed


    make[3]: *** [sub-make] Error 2


    Makefile:8: recipe for target 'all' failed


    make[2]: *** [all] Error 2


    make[2]: Leaving directory '/usr/src/linux-headers-4.9.0-6-amd64'


    Makefile:51: die Regel für Ziel »default« scheiterte


    make[1]: *** [default] Fehler 2


    make[1]: Verzeichnis »/usr/local/src/media_build_experimental/v4l« wird verlassen


    Makefile:28: die Regel für Ziel »all« scheiterte


    make: *** [all] Fehler 2



    …..


    /usr/local/src/media_build_experimental/v4l/compat.h:1463:1: error: redefinition of 'pci_zalloc_consistent'


    pci_zalloc_consistent(struct pci_dev *hwdev, size_t size
    ,


    Wie kann ich das Problem beheben?


    Vielen Dank

    Mario.

    HD-VDR: Activy 570 Gehäuse, MSI 880GMA-E55, AMD Athlon II X2 245, DIMM 4GB DDR3-1066, 2TB Samsung, TT S2-6400

  • Hi,


    Nun will ich den Treiber für meine TT 6400 so wie unter Jessie bzw. wie auch unter http://www.vdr-wiki.de/wiki/in…tallation_der_DVB-Treiber beschrieben übersetzen und es kommt folgender Fehler:

    "media_build_experimental" wird seit 2015 nicht mehr gepflegt. Es gibt aber ein neues Paket von

    jasminj für aktuelle Kernel.Ob dies jedoch die Treiber für TT-6400 enthält, weiss ich nicht.

    S:oren pflegt die Treiber noch, sind auf github zu finden.


    Gruss

    Wolfgang

  • Hi, ging mir auch so.


    Kurzfassung wie's bei mir wieder fliegt:

    Die Sourcen aus dem Thread funktionieren:

    TT S2-6400 premium unter Debian 9 Stretch - Lösung & ein verbleibendes Problem

    -> clonen mit git clone https://bitbucket.org/CrazyCat/media_build.git

    -> source irgendwohin kopieren

    -> aus linux Verzeichnis saa716x Vz. rauskopieren

    -> im kopierten saa716x Vz.:

    --> Makefile anpassen damit compiliert

    --> includes anpassen bis fehler- und warning frei compiliert und .ko files gebaut werden

    (saa716x_pci.c, saa716x_priv.h, saa716x_ff.h,...)

    -> Module dann ins modules Verzeichnis koperieren ...

  • Hallo ballerhu,


    Danke für die schnelle Antwort. Brauche aber noch etwas Hilfe:


    Wenn ich wie im Link folgende Zeilen ausführe


    git clone https://bitbucket.org/CrazyCat/media_build.git

    cd media_build

    ./build

    make install


    kommt bei ./build dieser Fehler:


    ******************

    * Start building *

    ******************

    make -C /usr/local/src/media_build/v4l allyesconfig

    make[1]: Verzeichnis »/usr/local/src/media_build/v4l« wird betreten

    make[2]: Entering directory '/usr/local/src/media_build/linux'

    Applying patches for kernel 4.9.0-6-amd64

    patch -s -f -N -p1 -i ../backports/api_version.patch

    patch -s -f -N -p1 -i ../backports/pr_fmt.patch

    patch -s -f -N -p1 -i ../backports/debug.patch

    patch -s -f -N -p1 -i ../backports/drx39xxj.patch

    patch -s -f -N -p1 -i ../backports/noretpoline.patch

    patch -s -f -N -p1 -i ../backports/v4.14_compiler_h.patch

    patch -s -f -N -p1 -i ../backports/v4.14_saa7146_timer_cast.patch

    patch -s -f -N -p1 -i ../backports/v4.14_module_param_call.patch

    patch -s -f -N -p1 -i ../backports/v4.13_remove_nospec_h.patch

    patch -s -f -N -p1 -i ../backports/v4.12_revert_solo6x10_copykerneluser.patch

    patch -s -f -N -p1 -i ../backports/v4.10_sched_signal.patch

    The text leading up to this was:

    --------------------------

    |diff --git a/drivers/staging/media/zoran/zoran_device.c b/drivers/staging/media/zoran/zoran_device.c

    |index 40adcee..671907a 100644

    |--- a/drivers/staging/media/zoran/zoran_device.c

    |+++ b/drivers/staging/media/zoran/zoran_device.c

    --------------------------

    No file to patch. Skipping patch.

    1 out of 1 hunk ignored

    Makefile:131: recipe for target 'apply_patches' failed

    make[2]: *** [apply_patches] Error 1

    make[2]: Leaving directory '/usr/local/src/media_build/linux'

    Makefile:387: die Regel für Ziel »allyesconfig« scheiterte

    make[1]: *** [allyesconfig] Fehler 2

    make[1]: Verzeichnis »/usr/local/src/media_build/v4l« wird verlassen

    Makefile:26: die Regel für Ziel »allyesconfig« scheiterte

    make: *** [allyesconfig] Fehler 2

    can't select all drivers at ./build line 545


    Was mache ich noch falsch?


    Und was meinst du mit

    -> aus linux Verzeichnis saa716x Vz. rauskopieren

    -> im kopierten saa716x Vz.:

    --> Makefile anpassen damit compiliert

    --> includes anpassen bis fehler- und warning frei compiliert und .ko files gebaut werden

    (saa716x_pci.c, saa716x_priv.h, saa716x_ff.h,...)


    Gruß Mario.

    HD-VDR: Activy 570 Gehäuse, MSI 880GMA-E55, AMD Athlon II X2 245, DIMM 4GB DDR3-1066, 2TB Samsung, TT S2-6400

  • Hi,

    und SORRY: da is in meinen Notizen was durcheinander geraten und alter Kram reingerutscht.


    Mit den Quellen aus diesen Sourcen klappt das:
    Treiber für die TechnoTrend Premium S2-6400 lässt sich unter Fedora 24 mit Kernel 4.6.x nicht kompilieren

    -> Treiber Sourcen ziehen aus dem enthaltenen Link: https://www.vdr-portal.de/inde…ent/41090-saa716x-tar-bz2

    und an passendem Ort auspacken

    -> Linux Sourcen installieren (apt-get install linux-source)
    -> Kernel Source tar File irgendwo auspacken

    --> und die Dateien

    demux.h dvb_demux.h dvb_filter.h dvb_net.h isl6423.h stv090x.h tda1004x.h

    tda827x.h zl10353.h dmxdev.h dvbdev.h dvb_frontend.h dvb_ringbuffer.h mb86a16.h stv6110x.h tda18271.h tda8290.h
    aus den Sourcen in ein Verzeichnis parallel zum saa716x Verzeichnis kopieren (z.B. saa716x-includes)

    -> cd saaz16x

    -> make

    ----> die includes in den c- und h-Files der Treiber Sourcen anpassen bis das durchcompiliert

    -> dann die entstandenen Kernel Module ins Modules Verzeichnis kopieren und das initramfs neu beuen


    Heut Abend oder morgen hab ich mehr Zeit wenn's weiterhin nicht funktionieren sollte.


    Gruesse

  • Oh, wie es mir gruselt...

  • Oh, wie es mir gruselt...

    Das übersetzen schein funktioniert zu haben, zumindest kamen 4 Module raus. Diese habe ich nach /lib/modules/4.9.0-6-amd64/kernel/drivers/media/pci/saa716x kopiert, kann sie aber mit modprobe nicht starten (siehe unten):


    root@hdvdr:/lib/modules/4.9.0-6-amd64/kernel/drivers/media/pci/saa716x# ls -l

    insgesamt 8608

    -rw-r--r-- 1 root root 562080 Jun 29 17:26 saa716x_budget.ko

    -rw-r--r-- 1 root root 5844832 Jun 29 17:26 saa716x_core.ko

    -rw-r--r-- 1 root root 1814376 Jun 29 17:26 saa716x_ff.ko

    -rw-r--r-- 1 root root 563672 Jun 29 17:26 saa716x_hybrid.ko

    root@hdvdr:/lib/modules/4.9.0-6-amd64/kernel/drivers/media/pci/saa716x# modprobe -r saa716x_ff

    modprobe: FATAL: Module saa716x_ff not found.

    root@hdvdr:/lib/modules/4.9.0-6-amd64/kernel/drivers/media/pci/saa716x#


    Muss ich noch zusätzlich was machen, bzw. was mache ich noch falsch?

    Danke!

    HD-VDR: Activy 570 Gehäuse, MSI 880GMA-E55, AMD Athlon II X2 245, DIMM 4GB DDR3-1066, 2TB Samsung, TT S2-6400

  • Du musst modrobe machen, ohne -r (remove)

    Bringt leider auch nichts.


    root@hdvdr:/lib/modules/4.9.0-6-amd64/kernel/drivers/media/pci/saa716x# modprobe saa716x_ff

    modprobe: FATAL: Module saa716x_ff not found in directory /lib/modules/4.9.0-6-amd64


    Da scheint irgendwie was mit den Verzeichnissen nicht zu stimmen.

    HD-VDR: Activy 570 Gehäuse, MSI 880GMA-E55, AMD Athlon II X2 245, DIMM 4GB DDR3-1066, 2TB Samsung, TT S2-6400

  • Hast Du schon

    depmod -a

    gemacht vor modprobe?

    Das war erst mal die Lösung, dass das laden des Treibers funktioniert.


    root@hdvdr:/lib/modules/4.9.0-6-amd64/kernel/drivers/media/pci/saa7164# depmod -a

    root@hdvdr:/lib/modules/4.9.0-6-amd64/kernel/drivers/media/pci/saa7164# modprobe saa716x_ff


    dmesg

    [ 33.115804] input: lircd-uinput as /devices/virtual/input/input16

    [ 588.252032] media: Linux media interface: v0.10

    [ 588.287488] Linux video capture interface: v2.00

    [ 588.360042] saa7164 driver loaded

    [ 691.263475] saa716x_core: loading out-of-tree module taints kernel.

    [ 691.633944] SAA716x FF 0000:02:00.0: firmware: direct-loading firmware dvb-ttpremium-fpga-01.fw

    [ 692.667570] SAA716x FF FPGA version 1.10

    [ 692.740517] SAA716x FF 0000:02:00.0: firmware: direct-loading firmware dvb-ttpremium-loader-01.fw

    [ 692.740531] SAA716x FF loader version 1.03

    [ 693.120509] SAA716x FF 0000:02:00.0: firmware: direct-loading firmware dvb-ttpremium-st7109-01.fw

    [ 693.517121] DVB: registering new adapter (SAA716x dvb adapter)

    [ 693.665596] stv6110x_attach: Attaching STV6110x

    [ 693.675788] SAA716x FF 0000:02:00.0: DVB: registering adapter 0 frontend 0 (STV090x Multistandard)...

    [ 693.676077] DVB: registering new adapter (SAA716x dvb adapter)

    [ 693.676634] stv6110x_attach: Attaching STV6110x

    [ 693.725399] SAA716x FF 0000:02:00.0: DVB: registering adapter 1 frontend 0 (STV090x Multistandard)...

    [ 694.379367] SAA716x FF firmware version 0.5.1

    [ 694.379525] input: TT6400 DVB IR receiver as /devices/pci0000:00/0000:00:04.0/0000:02:00.0/input/input17


    Jetzt fehlt nur noch das Bild am Fernseher ;-))


    Hast noch eine Idee für mich?

    HD-VDR: Activy 570 Gehäuse, MSI 880GMA-E55, AMD Athlon II X2 245, DIMM 4GB DDR3-1066, 2TB Samsung, TT S2-6400

  • Nach einem Reboot läuft die Kiste wieder.


    Tausend Dank an Dich, alleine hätte ich das nie geschafft.

    HD-VDR: Activy 570 Gehäuse, MSI 880GMA-E55, AMD Athlon II X2 245, DIMM 4GB DDR3-1066, 2TB Samsung, TT S2-6400