DVB-Treiber und Kernel 2.6

  • /etc/modules.d/ existiert bei mir leider nicht


    /etc/init.d/boot.loadmodules hab ich, und /etc/modules.conf (modules.conf.local) und etc/modprobe.conf (modprobe.conf.local)


    in der modprobe.conf.local hab ich schon meine netzwerkkarte eingetragen, da die nicht automatisch gestartet btw erkannt wurde beim hochfahren
    alias eth0 e100


    ich hab dort dann auch versucht die textzeilen aus deinem post einzufügen, er meckert aber alles an als WARNING: blabla ignoring bad line starting with 'probeall' bzw. 'add'
    bis auf die alias zeile, die hat er geschluckt aber das alleine bringt leider nicht den gewünschten erfolgt. ich hoffe ich bin überhaupt richtig in der modprobe.conf.local

  • aahhhhhh ich könnt dich knutschen ^^


    daran lags: modprobe ves1x93


    sobald ich das mache registriert er auch das frontend und vdr findet endlich beim start nen gerät :)


    danke danke vielmals danke


    hätt ich ohne dich sicher nicht hinbekommen *freu*


    weiter kann ich nun leider nicht testen da ich ja noch keine schüssel habe, wird aber jetzt da vdr geht gleich diese woche noch erledigt


    vielen dank nochmals für deine geduld


    mfg. Psy

  • Hi,


    ich hatte auch ziemliche Schwierigkeiten, die DVB- Treiber unter 2,6 zum Laufen zu bringen.


    Bei mir lags hauptsächlich an den Scripten, dabei ist mir folgendes aufgefallen:



    betrifft Suse 8.1 (8.0/8.2?) und eventuell andere Distries:


    - Bei einigen Distries werden bei den Bootscripten unter (/etc/init.d/; /etc/rc.d/init.d oder wo auch immer) "Befehle" benutzt, die bei den neuen Kernelmodulen nicht mehr funzen:


    z.B. diese Verzeichnisangabe:

    Code
    moddir=/lib/modules/`uname -r`/dvb


    muß zu:

    Code
    moddir=/lib/modules/`uname -r`/kernel/drivers/media/dvb


    werden (Änderung der Verzeichnisstruktur).


    Ferner:


    Wenn versucht wird, alle Module per Skript aus diesem Verzeichnis zu laden und dabei die Namenserweiterung zur Verwendung für Modprobe abzuschneiden, haut das nicht mehr hin, da die Endung von *.o zu *.ko verändert wurde.


    Beispiel:

    Code
    for vendor in ves alps_ st grundig_ tda mt; do
    	for m in $moddir/$vendor*; do
    	    test -e $m && basename $m .o
    	done
        done


    scheitert hier an dem ".o" (Änderung der Erweiterung).


    Genauso wenig läuft entsprechend dieses Script aus SuSe 8.1 mit den Alsa-(Kernel)-Treibern:

    Code
    drivers=`/sbin/modprobe -c | \
        grep -E "^[[:space:]]*alias[[:space:]]+snd-card-[[:digit:]]" | sort |\
        awk '{print $3}'`



    Hier wäre "-card" falsch.



    Zur "runvdr":

    Code
    [CODE]LSMOD="`/sbin/lsmod | grep -w '^dvb' | wc -l`"
    #KILL="/usr/bin/killall -q -TERM"

    [/CODE]



    sucht nach einem Modul "dvb", das es aber nicht mehr gibt und deshalb die Treiber immer wieder
    neu geladen werden.


    Die Änderung in:

    Code
    LSMOD="`/sbin/lsmod | grep -w '^dvb_core' | wc -l`"
    #KILL="/usr/bin/killall -q -TERM"



    behebt das Problem (zumindest bei mir).


    Wir sollten ein HOWTO schreiben :)


    ralf

  • hallo,
    mittlerweile laeufts bei mir eigentlich ganz gut,zumindest funktioniert alles.
    Nach einem vdr restart per osd funktionierte lirc nicht mehr,
    habe da jetzt noch ein rmod modprobe lirc_serial eingebaut ,
    dann funktioniert das auch.
    Habe noch einige Meldungen Fatal error modul always ... (alsa,ng-sd),
    mal sehen wie ich die noch wegbekomme ,
    habe gelesen teilweise mit 'modprobe -q ' .
    Psy
    Fein,das es funktioniert :]
    mfg

  • Nochmal danke Psy!
    Das mit dem Hotplugging war schonmal gut.
    VDR funzt jetzt bei mir nach modprobe ves1x93.
    Also bei mir sieht runvdr jetzt so aus:


    DVBDIR="../DVB/driver"
    VDRPRG="./vdr"
    VDRCMD="$VDRPRG -w 60 $*"


    LSMOD="`/sbin/lsmod | grep -w '^dvb' | wc -l`"
    KILL="/usr/bin/killall -q -TERM"


    # Load driver if it hasn't been loaded already:
    #if [ $LSMOD -eq 0 ] ; then
    # (cd $DVBDIR; make insmod)
    # fi
    rmmod dvb-ttpci
    rmmod ves1x93
    rmmod saa7146
    modprobe saa7146
    modprobe ves1x93
    modprobe dvb-ttpci


    while (true) do
    su -c "$VDRCMD" $VDRUSR
    if test $? -eq 0 -o $? -eq 2; then exit; fi
    date
    echo "restarting VDR"
    $KILL $VDRPRG
    sleep 10
    # (cd $DVBDIR; make rmmod; make insmod)
    date
    done



    Das Treiberverzeichnis DVB parallel zu VDR hatte ich nur zum maken von VDR.
    Jetzt werd ich mal ein paar Plugins reinheppen.

  • Hallo,


    hat es jemand schon geschafft, VDR ohne parallel installiertes DVB zu kompilieren,
    also mit dem Kernelsourcen ?.


    Was muß dazu im VDR-1.2.6 geändert werden. ?

    Gruß Marco


    HW: TT6400-S2
    SW: Fedora 37, kernel-6.1.6-200.fc37.x86_64, vdr-2.6.1-2.fc37.x86_64


    Fedora37 x86_64 Gnome Desktop 42.2 Ausgabe über das vdr-softhddevice plugin

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

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


  • Hallo,


    du mußt einfach im Makefile von vdr den DVB- Pfad neu setzen, also von
    "./DVB" z.b zu "/usr/src/linux/include/linux/dvb", wenn du die mit dem Kernel mitgelieferten Header benutzt.


    grüße


    ralf


  • Hallo,


    ich habe mal folgendes im Makefile eingetragen:


    Code
    DVBDIR   = ../linux-2.6/include/linux/dvb


    und dann ein make ..

    Code
    make clean; make plugins-clean; make all plugins


    und dass ist die Fehlermeldung:

    Code
    dvbdevice.h:23:2: #error VDR requires Linux DVB driver API version 3!
    In file included from eitscan.c:13:
    dvbdevice.h:23:2: #error VDR requires Linux DVB driver API version 3!
    make: *** Datei ».dependencies« wird gelöscht.
    make: *** [.dependencies] Unterbrechung
     
    make: *** Datei ».dependencies« wird gelöscht.
    make: *** [.dependencies] Unterbrechung

    Gruß Marco


    HW: TT6400-S2
    SW: Fedora 37, kernel-6.1.6-200.fc37.x86_64, vdr-2.6.1-2.fc37.x86_64


    Fedora37 x86_64 Gnome Desktop 42.2 Ausgabe über das vdr-softhddevice plugin

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

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


  • Muß es nicht


    "../src/linuxblablabla" heißen?


    Hast du mal den vollen Pfad probiert?


    ralf


    EDIT: Natürlich vorausgesetzt, vdr liegt unter "/usr/local/src" und dein kernel unter
    "/usr/src" :)

  • Hi,


    habs nochmals korrigiert auf den kompletten Pfad:


    Code
    DVBDIR   = /usr/src/linux-2.6/include/linux/dvb


    Code
    # ll /usr/src/linux-2.6/include/linux/dvb
    insgesamt 52
    -rw-r--r--    1 root     root         4605  9. Jan 07:59 audio.h
    -rw-r--r--    1 root     root         3150  9. Jan 08:00 ca.h
    -rw-r--r--    1 root     root         4231  9. Jan 08:00 dmx.h
    -rw-r--r--    1 root     root         7693  9. Jan 07:59 frontend.h
    -rw-r--r--    1 root     root         1265  9. Jan 07:59 net.h
    -rw-r--r--    1 root     root         4247  9. Jan 07:59 osd.h
    -rw-r--r--    1 root     root          985  9. Jan 07:59 version.h
    -rw-r--r--    1 root     root         6663  9. Jan 07:59 video.h

    Gruß Marco


    HW: TT6400-S2
    SW: Fedora 37, kernel-6.1.6-200.fc37.x86_64, vdr-2.6.1-2.fc37.x86_64


    Fedora37 x86_64 Gnome Desktop 42.2 Ausgabe über das vdr-softhddevice plugin

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

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


  • Sorry, geht immer noch nicht :(

    Gruß Marco


    HW: TT6400-S2
    SW: Fedora 37, kernel-6.1.6-200.fc37.x86_64, vdr-2.6.1-2.fc37.x86_64


    Fedora37 x86_64 Gnome Desktop 42.2 Ausgabe über das vdr-softhddevice plugin

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

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


  • Mal ne blöde Frage:


    Was passiert, wenn du nur "make clean" + "make" aufrufst?


    Kommen die Fehlermeldungen vom VDR oder den Plugins??


    Eventuell müßten bei den Plugins auch noch Pfade geändert werden?


    Habs bei mir unter 1.2.6 und 1.3.2 probiert, sogar noch (sicherheitshalber) den Ordner DVB unter /usr/local/src gelöscht, klappt prima !?


    ralf


    EDIT: Oder machst mal probeweise einen Link namens "DVB" in die gleiche Ebene deines VDR- Verzeichnis mit Verweis auf die Kernel- Header oder kopiertst die einfach mal in einen neuen Ordner "DVB", vielleicht liegt das Problem ja ganz woanders???

  • Also folgende Fehlermeldung kommt immer:



    bei make auch die gleiche


    dann habe ich einen Link im VDR-Verzeichnis auf die Kernel-Sourcen angelegt.
    ln -s /usr/src/linux-2.6/include DVB
    aber immer wieder die gleiche Fehlermeldung.


    was eigentlich im Makefile nicht stimmen kann ist, daß


    DVBDIR = /usr/src/linux/include/linux/dvb gesetzt ist und
    INCLUDES = -I$(DVBDIR)/include


    unter DVBDIR gibt es kein weiteres include Verzeichnis

    Gruß Marco


    HW: TT6400-S2
    SW: Fedora 37, kernel-6.1.6-200.fc37.x86_64, vdr-2.6.1-2.fc37.x86_64


    Fedora37 x86_64 Gnome Desktop 42.2 Ausgabe über das vdr-softhddevice plugin

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

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


  • hallo,
    hast du den cvs dvb-kernel verlinkt mit der makelinks ?
    Bei mir haben die include files alle ein anderes Datum ??
    mfg
    /hatte die *.h Files glaube ich selbst dorthin kopiert ,daher das unterschiedliche Datum . :rolleyes:

  • Zitat

    Original von holymoly
    hallo,
    hast du den cvs dvb-kernel verlinkt mit der makelinks ?
    Bei mir haben die include files alle ein anderes Datum ??
    mfg


    hi,
    jetzt mußt du mir aber auf die Sprünge helfen.
    makelinks sagt mir garnichts. ( im dvb-kernel-Verzeichnis existiert kein makelinks)
    ich habe hier den Kernel 2.6.1-1.43 als binary installiert + Sourcen
    vdr-1.2.6 läuft ja bereits, halt nicht mit dem Kernel-DVB.

    Gruß Marco


    HW: TT6400-S2
    SW: Fedora 37, kernel-6.1.6-200.fc37.x86_64, vdr-2.6.1-2.fc37.x86_64


    Fedora37 x86_64 Gnome Desktop 42.2 Ausgabe über das vdr-softhddevice plugin

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

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


  • hallo,
    habe bei mir die makelinks im dvb-kernel ausgefuehrt.
    hatte das nur so in der readme gelesen .

    Code
    1) Call "./makelinks <your-kernel-directory>. This will copy and link the
    driver files to your kernel, remove some old files, move some files around.


    mfg

  • Seltsam?


    Also, irgendwo gibts nen Unterschied zwischen unseren Installationen, die benötigten Header, die man bei einer herkömmlichen Treiberinstallation unter DVB/include findet, liegen auch im Kernel-Zweig.


    Es wird über die falsche API- Version gejammert, bei sieht es in "version.h" so aus:



    Also da steht eindeutig "Version 3"!


    Oh, Sorry, hab eventuell den Fehler entdeckt:


    In den dvbdevice.h gibts nen Verweis auf "linux/dvb/frontend.h", d.h. den Header-Ordner "dvb" noch einmal in das "usr/include/linux"- Verzeichnis kopieren,
    wo er doch eigentlich nicht hingehören sollte.
    Ist bei vorhanden, ich glaub, das ist der Fehler :)


    Sorry!


    ralf

Jetzt mitmachen!

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