Aktuelle Treiber für Octopus(ddbridge), CineS2(ngene/ddbridge), DuoFlex-S2, DuoFlex-CT, CineCT sowie TT S2-6400 (Teil 2)

  • Getestet mit 2.6.32, 2.6.39 uns 3.2.

    Baut und funktioniert hier mit System 1 und 2 unter Kernel 2.6.32-5-686. Zu den "Kernel-Oops" habe ich die Erfahrung gemacht, dass nach dem "make install" ein Reboot von Vorteil ist, bevor man die Treiber neu lädt.


    Ob es Probleme beim VDR/Plugin kompilieren gibt, kann ich noch nicht sagen. M.E hat sich ja im INCLUDE Verzeichnis etwas geändert ("include\uapi") - gibts da schon Erfahrungen?


    EDIT: Wie vermutet, schlägt das Kompilieren von Plugins nun fehlt:

    Code
    ../../../include/vdr/dvbdevice.h:18:2: error: #error VDR requires Linux DVB driver API version 5.3 or higher!


    Eingebunden war/ist: DVBDIR = /usr/src/dvb-treiber/dvb/linux

    Code
    $ ll /usr/src/dvb-treiber/
    insgesamt 85064
    lrwxrwxrwx 1 root src    	29 27. Dez 17:46 dvb -> media_build_experimental.r158


    EDIT2:
    Habe mir erstmal folgenden "Wurg"around geschaffen:

    Code
    $ ll
    insgesamt 20
    lrwxrwxrwx 1 root src   12 27. Dez 22:54 linux -> ./uapi/linux
    drwxr-sr-x 3 root src 4096 27. Dez 17:01 linux.new
    drwxr-sr-x 4 root src 4096 27. Dez 17:33 media
    drwxr-sr-x 2 root src 4096 27. Dez 17:01 misc
    drwxr-sr-x 2 root src 4096 27. Dez 17:01 sound
    drwxr-sr-x 3 root src 4096 27. Dez 17:01 uapi


    Für elegantere Lösungen wäre ich dankbar!

    My VDRs:

    3 Mal editiert, zuletzt von dad401 ()


  • Die korrekte Einstellung für DVBDIR in Make.config ist (Stand vdr 1.7.34):

    Code
    DVBDIR=<Pfad zu mediabuild_experimental>/linux/include/uapi


    und weiter unten

    Code
    ifdef DVBDIR
    INCLUDES += -I$(DVBDIR)
    endif


    Edit:
    Und damit auch dvbhddevice die richtigen Header nimmt, noch

    Code
    CXXFLAGS += -I$(DVBDIR)


    hinzufügen.


    CU
    Oliver

  • Danke - so funktionierts besser :)

    My VDRs:

  • Wobei auch ich vorhin erst gemerkt habe, daß ich immer gegen die Header des Kernels gebaut habe. Denn in VDR/dvbdevice.c muß man - zumindest bei einigen VDR-Versionen - noch DTV_DVBT2_PLP_ID durch DTV_DVBT2_PLP_ID_LEGACY ersetzen. :(


    Ich habe nun bei mir in /usr/include/linux/dvb/frontend.h am Anfang

    Code
    # error Wrong DVBDIR


    eingefügt. Nun kracht es sofort, wenn DVBDIR falsch gesetzt ist.


    CU
    Oliver

  • Wobei auch ich vorhin erst gemerkt habe, daß ich immer gegen die Header des Kernels gebaut habe.

    Unter Debian squeeze mit dem Standardkernel merkt man es (leider) noch, da VDR über die die DVB API 5.1 meckert. Ich meine gelesen zu haben, dass Du auch Debian nutzt - d.h. also Eigenbaukernel oder Backports? - sonst würdest Du es ja auch gleich merken...

    My VDRs:

  • Wobei auch ich vorhin erst gemerkt habe, daß ich immer gegen die Header des Kernels gebaut habe. Denn in VDR/dvbdevice.c muß man - zumindest bei einigen VDR-Versionen - noch DTV_DVBT2_PLP_ID durch DTV_DVBT2_PLP_ID_LEGACY ersetzen. :( ...


    Ich baue schon immer mit den Headern vom media_build:


    Code
    ....
    make untar
    cp -av linux/include/linux/* /usr/include/linux/
    make menuconfig
    ....


    Leider gibt es, wie weiter oben von mir schon beschrieben, Anwendungen, die mit "DTV_DVBT2_PLP_ID " Probleme haben.
    Aufgefallen ist mir das z.B. mit w_scan und vlc.
    Die Frage ist nun, wie man das am Besten fixen kann?


    Kann man einfach, in den sourcen, der entsprechenden Anwendungen, "DTV_DVBT2_PLP_ID " durch "DTV_DVBT2_PLP_ID_LEGACY" ersetzen?

  • Unter Debian squeeze mit dem Standardkernel merkt man es (leider) noch, da VDR über die die DVB API 5.1 meckert. Ich meine gelesen zu haben, dass Du auch Debian nutzt - d.h. also Eigenbaukernel oder Backports? - sonst würdest Du es ja auch gleich merken...


    Ich verwende Kernel 3.2.0-3, DVB-API 5.4.


    CU
    Oliver


  • Ich baue schon immer mit den Headern vom media_build:


    Code
    ....
    make untar
    cp -av linux/include/linux/* /usr/include/linux/
    make menuconfig
    ....


    Das ist nicht gerade die sauberste Variante, und Du verwendest die falschen Header: Unter linux/include/uapi wären die richtigen...


    Zitat


    Leider gibt es, wie weiter oben von mir schon beschrieben, Anwendungen, die mit "DTV_DVBT2_PLP_ID " Probleme haben.
    Aufgefallen ist mir das z.B. mit w_scan und vlc.
    Die Frage ist nun, wie man das am Besten fixen kann?


    Kann man einfach, in den sourcen, der entsprechenden Anwendungen, "DTV_DVBT2_PLP_ID " durch "DTV_DVBT2_PLP_ID_LEGACY" ersetzen?


    Ja.


    CU
    Oliver

  • [...] Das ist nicht gerade die sauberste Variante, und Du verwendest die falschen Header: Unter linux/include/uapi wären die richtigen...


    Ok, habe es mal geändert in:

    Code
    cp -va linux/include/uapi/linux/* /usr/include/linux/


    Aber sollte das nicht eigentlich von "make install" erledigt werden?

  • Zitat von »UFO« [...] Sollte nun bis Kernel 3.8 kompilieren. ...
    Mit kernel-3.7.1 baut er jedenfalls anstandslos.

    Mit kernel-3.7.1 baut er jedenfalls anstandslos



    Hmm, hier leider nicht.




    Habe ich was übersehen? Mein Vorgehen war so wie im ersten Post beschrieben.


    Grüße,
    Christian

    VDR1: Debian 6.0.10, VDR 2.0.6, Kernel 3.2.36+mb_experimental, Zotac E350-ITX + TT6400 + DD DuoFlex-CTv2 Octopus mini PCIe + Noxon DAB Stick
    VDR2: Debian 6.0.10, VDR 2.0.6, Kernel 3.7.1+mb_experimental,, Zotac IONITX-S-E + TT6400 + DD DuoFlex-CTv2 mini PCIe


  • Ok, habe es mal geändert in:

    Code
    cp -va linux/include/uapi/linux/* /usr/include/linux/


    Aber sollte das nicht eigentlich von "make install" erledigt werden?


    Imho sollte man die Header besser nicht in die Standardverzeichnisse installieren. Da sind ein paar Sachen drin, die im Userspace nichts zu suchen haben.


    Und eigentlich sollte man die Module auch nicht installieren. Es ist schade, daß man modprobe nicht einfach konfigurieren kann, daß es Module zuerst in einem externen (Nicht-Kernel-)Verzeichnis und anschließend im Kernelverzeichnis sucht. Manche Distributionen haben da wohl etwas gepatcht, aber das hilft eben nicht generell.


    CU
    Oliver

  • Imho sollte man die Header besser nicht in die Standardverzeichnisse installieren. Da sind ein paar Sachen drin, die im Userspace nichts zu suchen haben.


    Und eigentlich sollte man die Module auch nicht installieren. Es ist schade, daß man modprobe nicht einfach konfigurieren kann, daß es Module zuerst in einem externen (Nicht-Kernel-)Verzeichnis und anschließend im Kernelverzeichnis sucht. Manche Distributionen haben da wohl etwas gepatcht, aber das hilft eben nicht generell.


    CU
    Oliver


    Nun, dann stellt sich die Frage, welche "Sachen" kopiert werden sollten und welche nicht?


    Oder anders gefragt, was wäre denn die sauberste Methode?

  • Nun, dann stellt sich die Frage, welche "Sachen" kopiert werden sollten und welche nicht?


    Oder anders gefragt, was wäre denn die sauberste Methode?


    Ich führe keine Glaubenskriege, kann jeder so machen, wie er möchte. "make install" wird unterstützt, weil media_build es unterstützt.


    Ich selbst "installiere" den Treiber nicht. VDR bekommt per Make.config DVBDIR mitgeteilt, die Module werden per Script aus dem v4l-Unterverzeichnis geladen, und gut ist.


    CU
    Oliver

  • Folgendes ist mir gerade aufgefallen - aus irgendeinem Grund wird das Modul uvcvideo (linux/drivers/media/usb/uvc) nicht installiert, welches ich für die Webcam benötige.
    Gibt es eine Möglichkeit, dieses beim Bauen der Treiber mitbauen zu lassen?


    Im Verzeichnis v4l, wo nach dem Bauen mE die Module liegt, ist nur folgendes zu uvcvideo enthalten:



    Marcus

    My VDRs:

  • Folgendes ist mir gerade aufgefallen - aus irgendeinem Grund wird das Modul uvcvideo (linux/drivers/media/usb/uvc) nicht installiert, welches ich für die Webcam benötige.
    Gibt es eine Möglichkeit, dieses beim Bauen der Treiber mitbauen zu lassen?


    Offenbar wird der Treiber nicht automatisch angewählt.
    Entweder per "make menuconfig" aktivieren (erfordert installierte Kernel-Sourcen) oder
    v4l/.config editieren und dort "# CONFIG_USB_VIDEO_CLASS is not set" auf "CONFIG_USB_VIDEO_CLASS=m" ändern.


    So, jetzt aber Schluß für dieses Jahr.


    Guten Rutsch!


    Oliver

  • Danke - ich habe die .config zwar gesucht, aber übersehen.


    Zusätzlich sind noch folgende Module anzuwählen:
    CONFIG_VIDEOBUF2_CORE=m
    CONFIG_VIDEOBUF2_VMALLOC=m


    Nun funktioniert die Webcam wieder :)


    Ein gesundes neues Jahr!


    Marcus

    My VDRs:

  • Hi,
    bin nach der Anleitung vorgegangen (DISTRI ist EASYVDR 1.0). Hat bisher immer funktioniert.
    Seit gestern bekomme ich kein Bild mehr.
    Ich glaube der falsche Treiber wird geladen. Ich habe V6 und es wird V6.5 geladen.
    Hier einige Ausgaben von DMESG.

    Code
    dmesg | grep DVB
    [	4.017333] DDBridge driver detected: Digital Devices DVBCT V6.1 DVB adapter


    Code
    dmesg | grep ddbridge
    [	2.957587]  ngene-octopus-test: a8742d5952072f2237cdf28ae4cbb78fa6039f80 ddbridge: Add Digital Devices Cine S2 V6.5
    [	3.100212]  ngene-octopus-test: a8742d5952072f2237cdf28ae4cbb78fa6039f80 ddbridge: Add Digital Devices Cine S2 V6.5


    lspci -vvvnn


    Das Kompilieren usw. hat alles astrein geklappt.
    Hat jemand ne Idee?
    Grüsse Ricci

Jetzt mitmachen!

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