neues v4l-dvb CVs: wie Integration in Kernel? Probleme!

  • nun sind ja video4linux und dvb-kernel vereinigt worden, und ich habe mir mal das kombinierte CVS runtergeladen. Laut README braucht man nur noch make /make install machen, und die neuen Module landen dann in /lib/modules/...


    Was mir zunächst auffiel: Nicht alle alten Module werden dabei ersetzt.


    - dvb-usb-dibusb-common.ko blieb zum Beispiel als ältere Datei liegen
    - In kernel/drivers/media/dvb/ttusb-budget landete immer nur die dvb-ttusb-budget.o statt das *.ko-Modul.
    In beiden Fällen habe ich das *.ko-Modul dann in /usr/local/src/v4l-dvb/v4l gefunden und manuell in /lib/modules... kopiert.
    - stv0297_cs2.ko blieb als altes Modul im b2c2-Ordner liegen, das neue Modul liegt nun in frontends. Also habe ich das gleichnamige ältere gelöscht.


    Kann es sein, dass da noch Fehler in den Makefiles sind?


    Was ich auch vermisse, ist die Möglichkeit, durch Symlinks (früher mittels ./makelinks) die Auswahl der Module über das .config-File des Kernels steuern zu können. Jetzt wird offenbar jedes Modul automatisch compiliert und installiert, obwohl die meisten v4l-Module nur für analoge Karten benötigt werden.


    Im Unterordner v4l/scripts liegen zwar allerhand scripte, aber ohne Beschreibung. Offenbar ist die Prozedur für dvb- und v4l-Module danach mit unterschiedlichen Scripten separat anzustoßen (?)

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    Einmal editiert, zuletzt von Dr. Seltsam ()

  • Hallo,


    Probleme mit dem neuen CVS kann ich bestätigen. Bei mir fehlte vor ein paar Tagen nach dem Installieren das Modul videodev. Das hat bttv ein wenig aufgeregt. :motz2


    Aber wie heisst es so schön: Gut Ding will Weile haben. Ich denke, es ist nicht gerade einfach, drei Projekte zusammenzulegen, ivtv kommt ja schließlich auch noch dazu. Aber wenn es dann mal geht, wird es die ganze Geschichte schon ziemlich vereinfachen, gerade weil auch immer mehr Hybridkarten auf den Markt kommen. Bisher ging da oft nur eine Hälfte, das wird hoffentlich besser.


    Grüsse,
    EddieT

    PIII-866, 512 MB Ram, Avermedia 761 DVB-T, PVR150MCE, Debian unstable, vdr 1.3.38, Xine über Xorg auf GF2MX

  • Und auch ivtv würde hoffentlich endlich etwas weniger änderungswütig und kompatibler.

  • im Moment habe ich den Effekt, dass ivtv beim Laden nur noch unknown symbols bringt. Einige Module, die ivtv mitbringt (saa7115, saa7127 ...) sind jetzt Teil von v4l, und egal welche ich lösche (v4l oder ivtv) und wieviele depmods ich mache, es hagelt unresolved symbols :§$%

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Ich hab heute mal die ivtv-0.4.1 ausprobiert und da gehen wieder andre Dinge nicht. :-/

  • Danke für die Warnung mit ivtv, ich hatte es zum Glück mit meinem Nicht-VDR-Rechner ausprobiert. Nicht auszudenken, ich hätte den VDR zerschossen.


    Obwohl, war nicht der 0.5er Zweig von ivtv für das neue V4LDVB gedacht? Der 0.4er ist ja noch der alte, stabile Fork.


    EddieT

    PIII-866, 512 MB Ram, Avermedia 761 DVB-T, PVR150MCE, Debian unstable, vdr 1.3.38, Xine über Xorg auf GF2MX

    Einmal editiert, zuletzt von EddieT ()

  • nee, auf dem Wege zur 0.4.1 haben die da auch schon einiges elemtar geändert (unter anderem die Firmwarenamen und -pfade). Man muss aber fairerweise sagen, dass es recht koordiniert zugeht, seitdem Hans die Regie führt. Chris Kennedy war da viel chaotischer :D

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Hallo!


    Die Integration von v4l-dvb in den Kernel-Tree funktionierte bei mir problemlos. Einfach "makelinks.sh" aus v4l-dvb/v4l/scripts nach v4l-dvb kopieren und mit "./makelinks /usr/src/linux" ausführen.


    Mit ivtv-0.5 hatte ich allerdings auch Probleme mit "unresolved symbols". Die verschwanden, als ich ivtv auch in den Kernel-Tree integrierte. Das habe ich wie folgt gemacht:


    1. C-/H-Dateien aus ivtv/driver nach /usr/src/linux/drivers/media/video/ivtv kopiert


    2. /usr/src/linux/drivers/media/video/ivtv/Makefile angelegt:

    3. /usr/src/linux/drivers/media/video/ivtv/Kconfig angelegt:

    4. in /usr/src/linux/drivers/media/video/Makefile hinzugefügt:

    Code
    obj-$(CONFIG_VIDEO_IVTV)     += msp3400.o ivtv/
    obj-$(CONFIG_VIDEO_IVTV_FB)  += ivtv/

    5. in /usr/src/linux/drivers/media/video/Kconfig hinzugefügt:

    Code
    source "drivers/media/video/ivtv/Kconfig"


    Das sollte hinhauen.


    Gruß,


    Marcus

  • Zitat

    Original von Dr. Seltsam
    nun sind ja video4linux und dvb-kernel vereinigt worden, und ich habe mir mal das kombinierte CVS runtergeladen. Laut README braucht man nur noch make /make install machen, und die neuen Module landen dann in /lib/modules/...


    Was mir zunächst auffiel: Nicht alle alten Module werden dabei ersetzt.
    ...
    Kann es sein, dass da noch Fehler in den Makefiles sind?


    Klar kann das ein. Bitte Fehler in der ML melden.


    Ich selbst verwende "make install" nicht, da ich verschiedene Treiberversionen gleichzeitig verwenden und die Kernelmodule daher _nicht_ überschreiben möchte. Ich verwende nur:


    - cd v4l-dvb/v4l
    - make


    Die fertigen Module liegen alle in diesem Verzeichnis. Die alten insmod.sh-Skripte können so weiter verwendet werden.


    Zitat


    Was ich auch vermisse, ist die Möglichkeit, durch Symlinks (früher mittels ./makelinks) die Auswahl der Module über das .config-File des Kernels steuern zu können. Jetzt wird offenbar jedes Modul automatisch compiliert und installiert, obwohl die meisten v4l-Module nur für analoge Karten benötigt werden.


    Im v4l-Verzeichnis gibt es eine Datei Make.config, welche man anpassen kann.


    CU
    Oliver

  • Zitat

    Original von EddieT
    Probleme mit dem neuen CVS kann ich bestätigen. Bei mir fehlte vor ein paar Tagen nach dem Installieren das Modul videodev. Das hat bttv ein wenig aufgeregt. :motz2


    videodev kommt vom kernel:

    Code
    in the Linux source directory and set things like this:
    
    
       Device Driver --->
           Multimedia Devices --->
               <M> Video for Linux


    Ansonsten: Fehler auf jeden Fall auch auf der ML melden. Es wird dann schnell korrigiert.

  • seitdem ich "./makelinks.sh" ausgeführt habe, bleibt der Compiler hängen:


    CC [M] drivers/ieee1394/video1394.o
    drivers/ieee1394/video1394.c:1375:69: Makro »class_device_create« erfordert 8 Argumente, aber nur 6 wurden angegeben
    drivers/ieee1394/video1394.c: In Funktion »video1394_add_host«:
    drivers/ieee1394/video1394.c:1373: Warnung: statement with no effect
    make[2]: *** [drivers/ieee1394/video1394.o] Fehler 1
    make[1]: *** [drivers/ieee1394] Fehler 2
    make: *** [drivers] Fehler 2

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Ups, da hatte ich doch vergessen etwas zu erwähnen. ?(


    Die Datei /usr/src/linux/include/linux/compat.h wird mit einer gleichnamigen Datei aus den v4l-dvb Sourcen überschrieben.


    Ich habe die originale compat.h (aus den Kernel-Sourcen) in compat_kernel.h umbenannt und wieder in /usr/src/linux/include/linux/ kopiert. Dann muß man halt dort, wo compat.h in den Include-Anweisungen steht, in compat_kernel.h umbenennen.
    Also in Deinem Fall:


    drivers/ieee1394/video1394.c

    C
    #include <linux/ioctl32.h>
    #include <linux/compat.h>
    #include <linux/cdev.h>

    in

    C
    #include <linux/ioctl32.h>
    #include <linux/compat_kernel.h>
    #include <linux/cdev.h>


    Etwas besseres ist mir nicht eingefallen. Eigentlich sollte natürlich die compat.h von v4l anders benannt werden.


    Gruß,


    Marcus

  • juhu, das funzt ! Danke DarkAngel !!


    bei dv1394 musste ich das gleiche nochmal amchen ... mal sehen, wie viele Module noch betroffen sind.


    aha, jetzt meckert gerade drivers/input/evdev.c


    Bei wie vielen Modulen musstest Du denn Hand anlegen?

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Code
    CC [M]  drivers/media/video/ivtv/ivtv-osd.o
    In Datei, eingefügt von drivers/media/video/ivtv/ivtv-driver.h:41,
                        von drivers/media/video/ivtv/ivtv-osd.c:176:
    drivers/media/video/ivtv/ivtv-compat.h:87:32: ../utils/videodev2.h: Datei oder Verzeichnis nicht gefunden
    drivers/media/video/ivtv/ivtv-compat.h:88:31: ../utils/videodev.h: Datei oder Verzeichnis nicht gefunden


    Mir fallen zwei Lösungen ein.


    a) videodev.h und videodev2.h aus dem utils-Ordner von ivtv in /usr/src/linux/drivers/media/video/ivtv/ kopieren und die includes wie folgt ändern


    von


    #include "../utils/videodev2.h"
    #include "../utils/videodev.h"


    nach


    #include "videodev2.h"
    #include "videodev.h"


    Oder soll ich besser die Dateien vom Kernel (verlinkt auf v4l ) nehmen?


    also


    #include "linux/videodev2.h"
    #include "linux/videodev.h"


    Ich muss dazu sagen, dass ich die ivtv-0.4-Treiber nach Deiner Beschreibung in den Kernel integriert habe.

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • @ DarkAngel


    es bleibt ein Problem mit ivtv.


    Code
    Building modules, stage 2.
      MODPOST
    *** Warning: "ivtv_compat_translate_ioctl" [drivers/media/video/ivtv/ivtv.ko] undefined!
      CC      drivers/media/video/ivtv/ivtv-fb.mod.o
      LD [M]  drivers/media/video/ivtv/ivtv-fb.ko
      CC      drivers/media/video/ivtv/ivtv.mod.o
      LD [M]  drivers/media/video/ivtv/ivtv.ko


    und dementsprechend


    Code
    root@GA-7IXE4:/usr/src/linux-2.6.14.2 # modprobe ivtv
    FATAL: Error inserting ivtv (/lib/modules/2.6.14.2/kernel/drivers/media/video/ivtv/ivtv.ko): Unknown symbol in module, or unknown parameter (see dmesg)


    dmesg sagt:

    Code
    ivtv: Unknown symbol ivtv_compat_translate_ioctl


    Vielleicht hast Du da ja noch eine Idee...

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Hallo!


    Zitat

    Original von Dr. Seltsam
    Bei wie vielen Modulen musstest Du denn Hand anlegen?


    Nur bei evdev, da ich die anderen Module nicht nutze.


    Ich glaube aber nicht, daß es mit den ivtv-0.4 hinhaut, da doch einiges an der CVS-Version von v4l verändert wurde und, meiner Meinung nach, nur die SVN-Version von ivtv-0.5 dazu passt. Versuch es doch bitte mal damit. Dann sollte es auch keine Probleme mit den Includes geben.


    Gruß,


    Marcus

  • ich traue dem 0.5er-Treiber noch nicht so recht :D


    Ich habe ivtv jetzt wieder aus dem kernel rausgenommen und die 0.4er (aktuelle subversion) auf dem herkömmlichen Wege gebaut und in /lib/modules/.../ivtv installiert. Aus dem .../media/video-Ordner habe ich alle Module gelöscht, die ivtv auch mitbringt. Bis auf tveeprom, das wird für bttv-baierte dvb-Karten benötigt, da die Version von ivtv nicht kompatibel ist. Also habe ich im ivtv-Ordner tveeprom deaktiviert. Nach einem depmod funzt alles wunderbar und ivtv lädt ohne Probleme.

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • Zitat

    Original von DarkAngel
    Hallo!



    Nur bei evdev, da ich die anderen Module nicht nutze.


    ...


    Was hast du denn am evdev verändert?


    Ich benutze v4l CVS vom 08.01. auf Kernel 2.6.11.4 und beim Kaltstart lädt er zwar das evdev, VDR startet aber nicht da er die event devices nicht findet. Nach einem Reboot ist alles in Ordnung.


    Auch ein Wechsel zurück auf den CVS dvb-kernel Treiber von Ende November behebt das Problem.


    Hat da jemand ne Idee zu?


    Christian

    CKone: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G540, 2x 2GB Kingston DDR3, Zotac GT630 1GB, S2-1600, Ocz Agility 3 60GB, LG GH24NS DVD, 15.6" Selbstbau TFT, Harmony 665, CIR Selbstbau - das Ganze im Silverstone SST-SG03B
    CKtwo: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G1610, 2x 2GB Corsair DDR3, Zotac GT630 1GB, TT S2-1600, Ocz Vertex 2 50 GB, 92 Kanal Seduatmo, Harmony 665, atric USB
    CKthree: yavdr-ansible/22.04 LTS/2.6.1/kodi19.3 auf Intel NUC, Celeron J4005, UHD Graphics 600, 4GB Crucial DDR4, Ocz Vertex2 50 GB, Harmony 350

    PowerEdge: Ubuntu Server 16.04 LTS / VDR 2.4.1 auf Dell PowerEdge T20, Xeon E3-1225 v3, 16GB ECC DDR3, 2x Cine S2 V6 mit Duoflex, Samsung 840 EVO 120GB, 3x WD White WD80EZAZ 8TB in SW Raid5



    2 Mal editiert, zuletzt von CKone ()

  • Hallo !
    Das selbe Prob .. Suse 10 (Kernel 2.6.13.15) erst die CVS versucht.


    Dann zum Test von der Distri paket DVB installiert, beim Stop des Treibers kommen schon Fehler. Beim Start nicht.


    Den VDR 1.3.38 kann ich bauen, beim Start hängt er in der Schleife.
    Aus der Logdatei geht auch nix brauchbares hervor.

    VDR 1 (SD) : ASRock A330 GC, 1 GB RAM, TT- FF Karte rev. 2.3, 7'' TFT, Lirc X10 - Selbstbau Gehäuse - Suse 11.3 (64) vdr-1.7.10 diverse Plugins
    VDR 2 (HD) : MSI G41M-P25, 2 GB RAM, E6700 2x3.20GHz, Gainward GT220, 2TB HD, Lirc X10, TT S2-3600 USB, TT S2-1600, - Suse 11.3 (64) NvidiaTreiber 260.19 vdr-1.7.18 - xineliboutplugin 1.0.90 cvs, xine-lib 1.1.90 , s2-liplianin DVB Treiber

Jetzt mitmachen!

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