Treiber der Cine-CTv6/DDBridge/CI in den Kernel integrieren

  • So:

    Code
    http://www.mail-archive.com/linux-media@vger.kernel.org/msg109377.html


    Bzw.: http://www.spinics.net/lists/linux-media/msg112330.html


    EDIT: Link in Code umgewandelt; das Forum steht offenbar auf automatische email Tags. Thx ege.
    EDIT2; Alternativlink zum Klicken nach List-Update.

    Server: Gigabyte P35-DS4, Intel Core2Duo E6850, 4GB DDR2-RAM (Headless), Gentoo Linux x86_64 / Kernel 4.16.7 / DD CineCTv6+DuoFlex C/T/T2+DuoFlex C/C2/T/T2 w/Kernel Stock Drivers / TVHeadend-GIT-3356759d8

    HTPC: ASRock J5005-ITX (Intel Pentium Silver J5005, 1.5GHz), 8GB SO-DDR4, Intel UHD Graphics 605 in Antec Fusion Remote Black+SoundGraph iMON LCD ( 0038 ), Kodi v18 Leia
    SW: Kodi Krypton+Leia auf allerlei Gerätchen (HTPC: VAAPI+HD-Audio+LCDproc addon / Ubuntu Bionic 18.04 (x86_64), RPi2, NVIDIA Shield Android TV, Wetek Play 1@LibreELEC/NAND, Tablets, Smartphones, Win/Mac/Linux Desktops)

    8 Mal editiert, zuletzt von nst ()

  • Wow, sehr schick!
    Patches per E-Mail habe ich auch noch nicht gesehen...


    Dann drück ich mal ganz fest die Daumen!


    Vielen Dank!


    BTW: Der link hat noch ein paar "email" tags abbekommen...


    Hier der Link zum Kopieren...

    Code
    http://www.mail-archive.com/linux-media@vger.kernel.org/msg109377.html
  • Nabend zusammen,


    während die Patches auf der Liste und in Patchwork jetzt vor sich hin gammeln, bräuchte ich - bitte - nochmal einen oder mehrere Freiwillige, die den nächsten Satz Patches testen:


    mediatree/master-stv0367-cxd28xx


    Beinhaltet: STV0367 Demod-Treiber (CTv6, FlexCT) aus Kernel von I. Liplianin mit DD-Patches (siehe oben bzw. Mailinglist-Patches). Dazu den CXD2841ER Demod-Treiber (CineCTv7, Flex CT2/C2T2/C2T2I) aus Kernel von NetUp mit DD-Patches (hier rum geht es), sowie die "alte" ddbridge mit passendem Karten/Flexmodul-Support und einigen neuen Hardware-IDs (CTv7 sollte laufen).


    Im Wesentlichen interessant ist die Funktion des CXD2841ER Demod Treibers! Es soll ermittelt werden, ob diese sauber in möglichst vielen Betriebsmodi/Konstellationen laufen. Selber erfolgreich getestet habe ich bereits DVB-C, -T und -T2 sowohl auf einem C2T2-Modul (CXD2843) als auch einem CT2-Modul (CXD2837).


    Auch hier ist das Ziel, die CXD-Tuner Unterstützung auf DIESER Basis im Kernel unterzubringen! Freiwillige vor!


    Grüße,
    nst

    Server: Gigabyte P35-DS4, Intel Core2Duo E6850, 4GB DDR2-RAM (Headless), Gentoo Linux x86_64 / Kernel 4.16.7 / DD CineCTv6+DuoFlex C/T/T2+DuoFlex C/C2/T/T2 w/Kernel Stock Drivers / TVHeadend-GIT-3356759d8

    HTPC: ASRock J5005-ITX (Intel Pentium Silver J5005, 1.5GHz), 8GB SO-DDR4, Intel UHD Graphics 605 in Antec Fusion Remote Black+SoundGraph iMON LCD ( 0038 ), Kodi v18 Leia
    SW: Kodi Krypton+Leia auf allerlei Gerätchen (HTPC: VAAPI+HD-Audio+LCDproc addon / Ubuntu Bionic 18.04 (x86_64), RPi2, NVIDIA Shield Android TV, Wetek Play 1@LibreELEC/NAND, Tablets, Smartphones, Win/Mac/Linux Desktops)

  • Code
    http://www.mail-archive.com/linux-media@vger.kernel.org/msg109377.html

    Super, der Erste Schritt! :tup 8)
    Bis heute ist ja noch keine Antwort gekommen.
    Du musst Geduld haben. Beim GCC haben die mich 7x Pingen lassen, bevor mal eine Antwort kam.


    Noch ein Hinweis. Du könntest neben der "Signed-off-by:" Zeile, auch "Acked-by:" und "Tested-by:" dazu geben.
    Außerdem gehört eine Zeile "Signed-off-by:" auch von dem, der den Code ursprünglich geschrieben hat.
    Das ist in dem Fall ned so leicht, weil du ja nur Teile übernommen hast. Wenn es Ralph M. so passt wie du es machst, also ihn in der Patch Beschreibung zu erwähnen, dann ist das auch gut.


    Wenn ich den cxd2099 Code contribute, oder die Änderungen in dvb_ca_en50221.*, dann bleiben die aber nahezu ungeändert, also wird es wohl ein "Signed-off-by:" sein müssen.


    Ich hoffe es wird jetzt endlich was!

  • nst,


    ich habe deinen neuen Branch mal kurz ausprobiert, allerdings ohne Erfolg. Allerdings bin ich jetzt auch nicht der große Tester, gut möglich, dass das Problem vorm Bildschirm sitzt ?(


    Ich habe hier eine Cine CT v7 an der ein Flex CT V1 hängt. Das cxd2841-Modul wird allerdings nicht geladen.


    Code
    # lsmod | grep ddbridge
    ddbridge               32768  14
    cxd2099                20480  1 ddbridge
    dvb_core              131072  2 ddbridge,drxk
    # lsmod | grep cxd
    cxd2099                20480  1 ddbridge



    Im Log werden einige Fehler ausgegeben:



    Das Flexmodul wird erkannt und funktioniert (es wird allerdings das Log mit dem "Error -22" zugespammt, das ist allerdings auch in den ddbridge-Branches so.):



    Wenn ich weiter helfen kann, liefere ich gerne weitere Infos.


    Gruß
    Chris

  • Ich habe hier eine Cine CT v7 an der ein Flex CT V1 hängt. Das cxd2841-Modul wird allerdings nicht geladen.


    Vorab: Danke für die Mühe!


    Im Log werden einige Fehler ausgegeben:


    Offen gesagt ist das das erste mal, dass ich überhaupt eine Kombination sehe, wo (noch) ein DRXK-Tuner mit involviert ist :) (versprochene Testergebnisse sind leider nie ans Tageslicht geraten)


    Mir fehlt in Deinem Log 'ne Info zu den Ports und was dort angeschlossen ist. Auf meinem Server meldet ddbridge zu meiner CTv6+FlexCT2 z.B.:

    Code
    [1393739.570673] DDBridge driver detected: Digital Devices DVBCT V6.1 DVB adapter
    [1393739.570687] HW 0001000d FW 00010004
    [1393739.572561] Port 0 (TAB 1): DUAL DVB-C/T
    [1393739.573391] Port 1 (TAB 2): XO2 type: 1, id: 4
    [1393739.682524] Port 1 (TAB 2): DUAL DVB-C/T/T2
    [1393739.683255] Port 2 (TAB 3): NO MODULE


    Sowas sollte bei Dir auch stehen (und wenn der auf der CTv7 aufgelötete Tuner gar nur mit "NO MODULE" an Port 0 TAB 1 gemeldet wird). Zumindest der DRXK-Tuner sollte so zu sehen sein (mit "DUAL DVB-C/T" als Bezeichner).


    EDIT/Nachtrag: Interessant wäre auch zu sehen, was die anderen Treibervarianten (andere ddbridge-Branches oder dddvb) in dem Port-Block zu dem Tuner melden, der auf der Bridge aufgelötet ist.

    Server: Gigabyte P35-DS4, Intel Core2Duo E6850, 4GB DDR2-RAM (Headless), Gentoo Linux x86_64 / Kernel 4.16.7 / DD CineCTv6+DuoFlex C/T/T2+DuoFlex C/C2/T/T2 w/Kernel Stock Drivers / TVHeadend-GIT-3356759d8

    HTPC: ASRock J5005-ITX (Intel Pentium Silver J5005, 1.5GHz), 8GB SO-DDR4, Intel UHD Graphics 605 in Antec Fusion Remote Black+SoundGraph iMON LCD ( 0038 ), Kodi v18 Leia
    SW: Kodi Krypton+Leia auf allerlei Gerätchen (HTPC: VAAPI+HD-Audio+LCDproc addon / Ubuntu Bionic 18.04 (x86_64), RPi2, NVIDIA Shield Android TV, Wetek Play 1@LibreELEC/NAND, Tablets, Smartphones, Win/Mac/Linux Desktops)

    Einmal editiert, zuletzt von nst ()

  • nst,


    Zitat

    Offen gesagt ist das das erste mal, dass ich überhaupt eine Kombination sehe, wo (noch) ein DRXK-Tuner mit involviert ist :)


    Besonders viel Spaß hatte ich mit dem (vor kurzem besorgtem) Tuner bislang nicht… Das "normale" ddbridge-Modul will mit dem Ding nämlich nicht zusammenarbeiten.


    Aber zurück zum eigentlichen Thema. Hier die Tab-Belegung. Gute Frage, weshalb ich die nicht gleich mitgeliefert hatte. ;D Aber es in der Tat so, dass der erste Tab als leer gemeldet wird.


    Code
    [    2.811425] Port 0 (TAB 1): NO MODULE
    [    2.812410] Port 1 (TAB 2): DUAL DVB-C/T
    [    2.813255] Port 2 (TAB 3): NO MODULE
    [    2.814051] Port 3 (TAB 4): NO MODULE



    Sowohl der ddbridge-features als auch der ddbridge Master-Branch von dir geben das hier aus und funktionieren bislang. Hier der Vergleich:



    Was mir bezüglich des DRXK-Tuners auffällt: Es wird keine Firmware geladen. Ist das Absicht? Ich meine, im angepinnten Treiber-Thread von ufo gelesen zu haben, dass die Firmware nicht per se notwendig ist, daher bin ich nur neugierig.


    Grüße
    Chris

  • Besonders viel Spaß hatte ich mit dem (vor kurzem besorgtem) Tuner bislang nicht… Das "normale" ddbridge-Modul will mit dem Ding nämlich nicht zusammenarbeiten.


    Nur zum Verständnis: Was bzw. welches Package genau bezeichnet hier jetzt das "normale" Modul?


    Hier die Tab-Belegung. [...]

    Code
    [    2.811425] Port 0 (TAB 1): NO MODULE
    [    2.812410] Port 1 (TAB 2): DUAL DVB-C/T
    [    2.813255] Port 2 (TAB 3): NO MODULE
    [    2.814051] Port 3 (TAB 4): NO MODULE


    Sowohl der ddbridge-features als auch der ddbridge Master-Branch von dir geben das hier aus [...]

    Code
    ...
    [    2.675189] ddbridge: Port 0: Link 0, Link Port 0 (TAB 1): DUAL DVB-C2T2 CXD2843
    [    2.676218] ddbridge: Port 1: Link 0, Link Port 1 (TAB 2): DUAL DVB-C/T
    [    2.677173] ddbridge: Port 2: Link 0, Link Port 2 (TAB 3): NO MODULE
    [    2.678129] ddbridge: Port 3: Link 0, Link Port 3 (TAB 4): NO MODULE
    ...


    Ha. Das hab' ich vermutet - der aufgelötete Tuner läuft nicht über die XO2-Pfade, sondern "direkt" und mit "parallel TS". Das ist jetzt gerade noch nicht implementiert (ich bin fälschlicherweise davon ausgegangen, dass "dieses" nur für die MaxA8-Karten relevant ist). Ich füg' die Unterstützung nachher (nach Feierabend) hinzu und ping' Dich dann nochmal :) Wir werden dann auch schnell sehen, ob der "andere" Betriebsmodus des cxd2841er-Moduls läuft.


    Was mir bezüglich des DRXK-Tuners auffällt: Es wird keine Firmware geladen. Ist das Absicht?

    Puh, wie gesagt - das Thema DRXK fehlte bislang noch komplett. Zumindest aber wird beim Init der Filename zum Microcode mit übergeben...


    Grüße,
    nst

    Server: Gigabyte P35-DS4, Intel Core2Duo E6850, 4GB DDR2-RAM (Headless), Gentoo Linux x86_64 / Kernel 4.16.7 / DD CineCTv6+DuoFlex C/T/T2+DuoFlex C/C2/T/T2 w/Kernel Stock Drivers / TVHeadend-GIT-3356759d8

    HTPC: ASRock J5005-ITX (Intel Pentium Silver J5005, 1.5GHz), 8GB SO-DDR4, Intel UHD Graphics 605 in Antec Fusion Remote Black+SoundGraph iMON LCD ( 0038 ), Kodi v18 Leia
    SW: Kodi Krypton+Leia auf allerlei Gerätchen (HTPC: VAAPI+HD-Audio+LCDproc addon / Ubuntu Bionic 18.04 (x86_64), RPi2, NVIDIA Shield Android TV, Wetek Play 1@LibreELEC/NAND, Tablets, Smartphones, Win/Mac/Linux Desktops)

  • Das Flexmodul wird erkannt und funktioniert (es wird allerdings das Log mit dem "Error -22" zugespammt, das ist allerdings auch in den ddbridge-Branches so.):


    Nebenbei: So wie das in drxk_hard.c aussieht, kann man die Meldung wohl "wegoptimieren", ohne dass das wem weh tut. Patch' ich nachher mal mit.

    Server: Gigabyte P35-DS4, Intel Core2Duo E6850, 4GB DDR2-RAM (Headless), Gentoo Linux x86_64 / Kernel 4.16.7 / DD CineCTv6+DuoFlex C/T/T2+DuoFlex C/C2/T/T2 w/Kernel Stock Drivers / TVHeadend-GIT-3356759d8

    HTPC: ASRock J5005-ITX (Intel Pentium Silver J5005, 1.5GHz), 8GB SO-DDR4, Intel UHD Graphics 605 in Antec Fusion Remote Black+SoundGraph iMON LCD ( 0038 ), Kodi v18 Leia
    SW: Kodi Krypton+Leia auf allerlei Gerätchen (HTPC: VAAPI+HD-Audio+LCDproc addon / Ubuntu Bionic 18.04 (x86_64), RPi2, NVIDIA Shield Android TV, Wetek Play 1@LibreELEC/NAND, Tablets, Smartphones, Win/Mac/Linux Desktops)

  • Feine Sache mit der Integration in den Mainline Kernel! Hoffe es klappt!


    Besitze selber zwei DD Dual DVB-C2/T2 Tuner, für die ich aktuell die dddvb Treiber separat kompilieren muss.


    Code
    [  156.216037] DDBridge: device name: Digital Devices Cine CT V7 DVB adapter
    [  156.329327] DDBridge: Port 0: Link 0, Link Port 0 (TAB 1): DUAL DVB-C2T2 CXD2843
    [  156.337281] DDBridge: Port 1: Link 0, Link Port 1 (TAB 2): DUAL DVB-C/C2/T/T2


    Falls ihr mal zu diesen Karten kommt, stehe ich gerne als Tester zur Verfügung. Bin auch gerne bereit, selber was beizutragen, bin aber was das Programmieren angeht (noch) nicht so fit :(

    Backend: Supermicro A1SRM-2558F, Intel C2558, 2x Dual Digital Devices Cine CT V7 C/C2/T/T2 Tuner, Mythtv auf Gentoo
    Frontend: RasPi 2, LibreELEC mit Kodi

  • Soooo :)


    Ping Pontus - bitte mal die aktuellen zwei Commits vom Remote abholen und alles neu bauen und nochmal probieren :) Die DRXK-"Fehler" sollten jetzt auch weg sein.


    djpearman: Die beiden Tuner sind aktuell hochinteressant, bitte probier' doch mal mit https://github.com/herrnst/ddd…ee/master-stv0367-cxd28xx !

    Server: Gigabyte P35-DS4, Intel Core2Duo E6850, 4GB DDR2-RAM (Headless), Gentoo Linux x86_64 / Kernel 4.16.7 / DD CineCTv6+DuoFlex C/T/T2+DuoFlex C/C2/T/T2 w/Kernel Stock Drivers / TVHeadend-GIT-3356759d8

    HTPC: ASRock J5005-ITX (Intel Pentium Silver J5005, 1.5GHz), 8GB SO-DDR4, Intel UHD Graphics 605 in Antec Fusion Remote Black+SoundGraph iMON LCD ( 0038 ), Kodi v18 Leia
    SW: Kodi Krypton+Leia auf allerlei Gerätchen (HTPC: VAAPI+HD-Audio+LCDproc addon / Ubuntu Bionic 18.04 (x86_64), RPi2, NVIDIA Shield Android TV, Wetek Play 1@LibreELEC/NAND, Tablets, Smartphones, Win/Mac/Linux Desktops)

  • Zitat


    Ping Pontus - bitte mal die aktuellen zwei Commits vom Remote abholen und alles neu bauen und nochmal probieren :) Die DRXK-"Fehler" sollten jetzt auch weg sein.


    Ah, sehr gut. Habe die Änderungen bereits gepullt. Werde aber wahrscheinlich heute nicht mehr dazu kommen, sie zu testen, da der VDR gerade in Benutzung ist.


    Zitat


    Nur zum Verständnis: Was bzw. welches Package genau bezeichnet hier jetzt das "normale" Modul?


    Damit meinte ich die unmodifizierten Treiber von Digital Devices eigenem git. Bei denen hatte ich für den DRXK-Tuner im Log immer den Fehler "dvb_frontend_ioctl_legacy: doesn't know how to handle a DVBv3 call to delivery system 0" bekommen. Da weder Programmierer bin, noch Ahnung von der Implementierung des DVB-Systems im Kernel habe, war das immer eine eher wenig hilfreiche Fehlermeldung. Mit den media_build_experimental-Versionen ging's, nur nützt mir das wenig, da ich mindestens Kernel 4.4 (4.5?) für den vollen Skylake-Support brauche. Aber das ist hier eher off-topic.


    Ich melde mich, wenn ich die Änderungen habe testen können.


    Gruß
    Chris

  • Ah, sehr gut. Habe die Änderungen bereits gepullt. Werde aber wahrscheinlich heute nicht mehr dazu kommen, sie zu testen, da der VDR gerade in Benutzung ist.


    Dringend notwendiges, kurzfristiges Wartungsfenster für Notfallarbeiten ankündigen -> Problem solved :)



    Damit meinte ich die unmodifizierten Treiber von Digital Devices eigenem git.[...]


    Klingt ja fast so, als würden die Third-Party-Driver für den DRXK-Tuner 'n ganzes Stück besser laufen... Wenn der DRXK-Commit dauerhaft für Ruhe sorgt, würd' ich den mal separat/beiläufig in die linux-media Liste einkippen.

    Server: Gigabyte P35-DS4, Intel Core2Duo E6850, 4GB DDR2-RAM (Headless), Gentoo Linux x86_64 / Kernel 4.16.7 / DD CineCTv6+DuoFlex C/T/T2+DuoFlex C/C2/T/T2 w/Kernel Stock Drivers / TVHeadend-GIT-3356759d8

    HTPC: ASRock J5005-ITX (Intel Pentium Silver J5005, 1.5GHz), 8GB SO-DDR4, Intel UHD Graphics 605 in Antec Fusion Remote Black+SoundGraph iMON LCD ( 0038 ), Kodi v18 Leia
    SW: Kodi Krypton+Leia auf allerlei Gerätchen (HTPC: VAAPI+HD-Audio+LCDproc addon / Ubuntu Bionic 18.04 (x86_64), RPi2, NVIDIA Shield Android TV, Wetek Play 1@LibreELEC/NAND, Tablets, Smartphones, Win/Mac/Linux Desktops)

  • Nein. Benutzt Du aktuell gentoo-sources? Wenn ja, welche Version? Wenn kleiner 4.10 - kannst Du auf 4.10(.2) updaten? :)

    Server: Gigabyte P35-DS4, Intel Core2Duo E6850, 4GB DDR2-RAM (Headless), Gentoo Linux x86_64 / Kernel 4.16.7 / DD CineCTv6+DuoFlex C/T/T2+DuoFlex C/C2/T/T2 w/Kernel Stock Drivers / TVHeadend-GIT-3356759d8

    HTPC: ASRock J5005-ITX (Intel Pentium Silver J5005, 1.5GHz), 8GB SO-DDR4, Intel UHD Graphics 605 in Antec Fusion Remote Black+SoundGraph iMON LCD ( 0038 ), Kodi v18 Leia
    SW: Kodi Krypton+Leia auf allerlei Gerätchen (HTPC: VAAPI+HD-Audio+LCDproc addon / Ubuntu Bionic 18.04 (x86_64), RPi2, NVIDIA Shield Android TV, Wetek Play 1@LibreELEC/NAND, Tablets, Smartphones, Win/Mac/Linux Desktops)

  • Nein. Benutzt Du aktuell gentoo-sources? Wenn ja, welche Version? Wenn kleiner 4.10 - kannst Du auf 4.10(.2) updaten? :)


    Ja, ich verwende gentoo-sources, aktuell 4.9.6-r1, da ich auf stable bin. Kann auf 4.10.2 updaten.

    Backend: Supermicro A1SRM-2558F, Intel C2558, 2x Dual Digital Devices Cine CT V7 C/C2/T/T2 Tuner, Mythtv auf Gentoo
    Frontend: RasPi 2, LibreELEC mit Kodi

  • Ja, ich verwende gentoo-sources, aktuell 4.9.6-r1, da ich auf stable bin. Kann auf 4.10.2 updaten.


    Okay:

    Code
    # mkdir -p /etc/portage/patches/sys-kernel/gentoo-sources/ ; cd /etc/portage/patches/sys-kernel/gentoo-sources/
    # wget -O ddb.patch https://github.com/herrnst/dddvb-linux-kernel/compare/mediatree/master...mediatree/master-stv0367-cxd28xx.diff
    # emerge >=gentoo-sources-4.10.0


    Während Installation der Sources bei "src_unpack" oder "src_prepare" (nicht sicher) auf "Applying user patches" achten, da sollte dann "ddb.patch" mit auftauchen. Danach wie bei Gentoo üblich den Kernel konfigurieren und installieren (CONFIG_DVB_DDBRIDGE aktivieren!), danach Reboot.


    Danach wirds interessant, ob alle Tuner/Module korrekt erkannt wurden (dmesg), und dann vor allem, ob aus allen vier Tunern ein Transport Stream ins System bzw. in die Software geschaufelt wird :) Bei dem DuoFlex bin ich mir relativ sicher, dass das klappt, die Konstellation mit dem Sony Demod auf der CTv7 ist bisher noch komplett ungetestet - bitte Probleme einkalkulieren.

    Server: Gigabyte P35-DS4, Intel Core2Duo E6850, 4GB DDR2-RAM (Headless), Gentoo Linux x86_64 / Kernel 4.16.7 / DD CineCTv6+DuoFlex C/T/T2+DuoFlex C/C2/T/T2 w/Kernel Stock Drivers / TVHeadend-GIT-3356759d8

    HTPC: ASRock J5005-ITX (Intel Pentium Silver J5005, 1.5GHz), 8GB SO-DDR4, Intel UHD Graphics 605 in Antec Fusion Remote Black+SoundGraph iMON LCD ( 0038 ), Kodi v18 Leia
    SW: Kodi Krypton+Leia auf allerlei Gerätchen (HTPC: VAAPI+HD-Audio+LCDproc addon / Ubuntu Bionic 18.04 (x86_64), RPi2, NVIDIA Shield Android TV, Wetek Play 1@LibreELEC/NAND, Tablets, Smartphones, Win/Mac/Linux Desktops)

Jetzt mitmachen!

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