So:
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.
So:
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.
Geil, coole Sache!
Lars
Schick, ich drück die Daumen
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
Super, der Erste Schritt!
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.
# 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:
[ 2.668145] media: loading out-of-tree module taints kernel.
[ 2.668210] media: module verification failed: signature and/or required key missing - tainting kernel
[ 2.668507] media: Linux media interface: v0.10
[ 2.669988] WARNING: You are using an experimental version of the media stack.
As the driver is backported to an older kernel, it doesn't offer
enough quality for its usage in production.
Use it with care.
Latest git patches (needed if you report a bug to linux-media@vger.kernel.org):
3e9e55f563e2845e3de5c61a84e42b6fc78ab889 ddbridge: support more devices
1d3cef5fd9d90c54eec48b170760a9297b0770a9 ddbridge: board control, ts quirk flags
903165d2e2441d180ad416b50f086c74901820aa [media] ddbridge: support for Sony CXD28xx C/C2/T/T2 tuner modules
[ 2.672285] ddbridge: unknown parameter 'msi' ignored
[ 2.672319] Digital Devices PCIE bridge driver, Copyright (C) 2010-11 Digital Devices GmbH
[ 2.672982] DDBridge driver detected: Digital Devices Cine CT V7 DVB adapter
[ 2.672993] HW 00010002 FW 00010004
[ 2.792256] dvbdev: DVB: registering new adapter (DDBridge)
[ 2.819803] DDBridge 0000:01:00.0: firmware: direct-loading firmware drxk_a3.mc
[ 2.824581] drxk: status = 0x639130d9
[ 2.824582] drxk: detected a drx-3913k, spin A3, xtal 27.000 MHz
[ 3.258389] drxk: DRXK driver version 0.9.4300
[ 3.268310] drxk: frontend initialized.
[ 5.451633] DDBridge 0000:01:00.0: DVB: registering adapter 0 frontend 0 (DRXK DVB-C DVB-T)...
[ 5.451813] dvbdev: DVB: registering new adapter (DDBridge)
[ 5.458956] drxk: status = 0x639130d9
[ 5.458961] drxk: detected a drx-3913k, spin A3, xtal 27.000 MHz
[ 5.934070] drxk: DRXK driver version 0.9.4300
[ 5.942974] drxk: frontend initialized.
[ 7.891983] DDBridge 0000:01:00.0: DVB: registering adapter 1 frontend 0 (DRXK DVB-C DVB-T)...
[ 93.998911] drxk: Error -22 on get_lock_status
[ 94.013732] drxk: Error -22 on get_lock_status
[ 95.009922] drxk: Error -22 on get_lock_status
[ 95.024738] drxk: Error -22 on get_lock_status
[ 95.072032] drxk: Error -22 on get_lock_status
[ 96.024846] dvb_demux: dvb_dmx_swfilter_section_packet: dvb_demux.c discontinuity detected 184 bytes lost
[ 96.024850] dvb_demux: dvb_dmx_swfilter_section_new: dvb_demux.c section ts padding loss: 381/381
[ 96.024851] dvb_demux: dvb_dmx_swfilter_section_new: dvb_demux.c pad data: 65 6e 20 75 6e 64 20 57 65 72 74 65 3f 20 44 65 72 20 64 69 72 65 6b 74 65 20 56 65 72 67 6c 65 69 63 68 20 7a 65 69 67 74 20 65 73 2e 8a 2a 20 44 65 72 20 5a 77 65 69 74 65 69 6c 65 72 20 22 44 61 73 20 4a 61 68 72 68 75 6e 64 65 72 74 68 61 75 73 22 20 6d 69 74 20 4d 69 63 68 61 65 6c 20 4b 65 73 73 6c 65 72 20 6c 65 62 74 20 76 6f 6e 20 64 65 72 20 47 65 67 65 6e fc 62 65 72 73 74 65 6c 6c 75 6e 67 20 76 65 72 73 63 68 69 65 64 65 6e 65 4e 99 11 64 65 75 00 93 05 72 20 45 70 6f 63 68 65 6e 2e 20 5a 65 6e 74 72 61 6c 65 72 20 42 65 7a 75 67 73 70 75 6e 6b 74 20 64 65 72 20 46 69 6c 6d 65 20 69 73 74 20 65 69 6e 20 64 72 65 69 73 74 f6 63 6b 69 67 65 73 20 48 61 75 73 2c 20 64 65 73 73 65 6e 20 45 74 61 67 65 6e 20 6a 65
[ 96.024895] 77 65 69 6c 73 20 66 fc 72 20 65 69 6e 20 62 65 73 74 69 6d 6d 74 65 73 20 4a 61 68 72 7a 65 68 6e 74 20 73 74 65 68 65 6e 2e 8a 50 72 6f 64 75 7a 69 65 72 74 20 69 6e 20 48 44 50 08 f1 03 01 64 65 75 53 44 50 0c f2 03 02 64 65 75 73 74 65 72 65 6f 50 12 f2 03 07 6d 75 6c 05 4f 72 69 67 69 6e 61 6c 74 6f 6e 5f 04 00 00 00 05 54 02 bf 26 69 03 f6 1c 9d 82 0d 31 38 3a 32 39 31 32 2e 30 33 23 30 30 f4 91 7b b6
[ 96.035841] drxk: Error -22 on get_lock_status
[ 96.044720] dvb_demux: dvb_dmx_swfilter_section_packet: dvb_demux.c discontinuity detected 184 bytes lost
[ 96.104320] dvb_demux: dvb_dmx_swfilter_section_packet: dvb_demux.c discontinuity detected 184 bytes lost
[ 96.163929] dvb_demux: dvb_dmx_swfilter_section_packet: dvb_demux.c discontinuity detected 184 bytes lost
[ 96.243490] dvb_demux: dvb_dmx_swfilter_section_packet: dvb_demux.c discontinuity detected 184 bytes lost
[ 96.263482] dvb_demux: dvb_dmx_swfilter_section_packet: dvb_demux.c discontinuity detected 184 bytes lost
[ 96.382655] dvb_demux: dvb_dmx_swfilter_section_packet: dvb_demux.c discontinuity detected 184 bytes lost
[ 96.422464] dvb_demux: dvb_dmx_swfilter_section_packet: dvb_demux.c discontinuity detected 184 bytes lost
[ 96.620978] dvb_demux: dvb_dmx_swfilter_section_packet: dvb_demux.c discontinuity detected 184 bytes lost
[ 96.819648] dvb_demux: dvb_dmx_swfilter_section_packet: dvb_demux.c discontinuity detected 184 bytes lost
[ 97.018482] dvb_demux: dvb_dmx_swfilter_section_packet: dvb_demux.c discontinuity detected 184 bytes lost
[ 97.047143] drxk: Error -22 on get_lock_status
Alles anzeigen
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.):
ls -lR /dev/dvb
/dev/dvb:
insgesamt 0
drwxr-xr-x 2 root root 120 Mär 11 15:06 adapter0
drwxr-xr-x 2 root root 120 Mär 11 15:06 adapter1
/dev/dvb/adapter0:
insgesamt 0
crw-rw---- 1 root video 212, 0 Mär 11 15:06 demux0
crw-rw---- 1 root video 212, 1 Mär 11 15:06 dvr0
crw-rw---- 1 root video 212, 3 Mär 11 15:06 frontend0
crw-rw---- 1 root video 212, 2 Mär 11 15:06 net0
/dev/dvb/adapter1:
insgesamt 0
crw-rw---- 1 root video 212, 4 Mär 11 15:06 demux0
crw-rw---- 1 root video 212, 5 Mär 11 15:06 dvr0
crw-rw---- 1 root video 212, 7 Mär 11 15:06 frontend0
crw-rw---- 1 root video 212, 6 Mär 11 15:06 net0
Alles anzeigen
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.:
[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.
nst,
ZitatOffen 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. Aber es in der Tat so, dass der erste Tab als leer gemeldet wird.
[ 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:
[ 2.559229] ddbridge: Digital Devices PCIE bridge driver 0.9.28+v7a-integrated, Copyright (C) 2010-16 Digital Devices GmbH
[ 2.560945] ddbridge: detected Digital Devices Cine CT V7 DVB adapter
[ 2.560959] ddbridge: HW 00010002 REGMAP 00010004
[ 2.561003] ddbridge: using 2 MSI interrupt(s)
[ 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
[ 2.678299] dvbdev: DVB: registering new adapter (DDBridge)
[ 2.678300] dvbdev: DVB: registering new adapter (DDBridge)
[ 2.678300] dvbdev: DVB: registering new adapter (DDBridge)
[ 2.678301] dvbdev: DVB: registering new adapter (DDBridge)
[ 2.682324] cxd2843: CXD2843 DVB-C/C2 DVB-T/T2 with ChipID A4 found at adr 6C on i2c-4
[ 2.704136] tda18212 4-0060: NXP TDA18212HN/M successfully identified
[ 2.704142] ddbridge 0000:01:00.0: DVB: registering adapter 0 frontend 0 (CXD2843 DVB-C/C2 DVB-T/T2)...
[ 2.704525] cxd2843: CXD2843 DVB-C/C2 DVB-T/T2 with ChipID A4 found at adr 6D on i2c-4
[ 2.725801] tda18212 4-0063: NXP TDA18212HN/S successfully identified
[ 2.725806] ddbridge 0000:01:00.0: DVB: registering adapter 1 frontend 0 (CXD2843 DVB-C/C2 DVB-T/T2)...
[ 2.733031] drxk: status = 0x639130d9
[ 2.733033] drxk: detected a drx-3913k, spin A3, xtal 27.000 MHz
[ 3.177823] drxk: DRXK driver version 0.9.4300
[ 3.185904] drxk: frontend initialized.
[ 4.829472] [drm] RC6 on
[ 5.530402] ddbridge 0000:01:00.0: DVB: registering adapter 2 frontend 0 (DRXK DVB-C DVB-T)...
[ 5.537641] drxk: status = 0x639130d9
[ 5.537645] drxk: detected a drx-3913k, spin A3, xtal 27.000 MHz
[ 5.993654] drxk: DRXK driver version 0.9.4300
[ 6.001840] drxk: frontend initialized.
[ 8.337811] ddbridge 0000:01:00.0: DVB: registering adapter 3 frontend 0 (DRXK DVB-C DVB-T)...
[ 94.033866] drxk: Error -22 on get_lock_status
Alles anzeigen
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
Ich hab hier auch noch einen Test-vdr mit drxk-Tuner. Verdammt, wo nehme ich jetzt die Zeit her...?
Lars.
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.
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.
[ 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
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 !
Zitat
Ping Pontus - bitte mal die aktuellen zwei Commits vom Remote abholen und alles neu bauen und nochmal probierenDie 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.
djpearman: Die beiden Tuner sind aktuell hochinteressant, bitte probier' doch mal mit https://github.com/herrnst/ddd…ee/master-stv0367-cxd28xx !
Krieg ich die Patches auch via dem Overlay https://github.com/herrnst/gentoo-ddbridge-sources-overlay?
Nein. Benutzt Du aktuell gentoo-sources? Wenn ja, welche Version? Wenn kleiner 4.10 - kannst Du auf 4.10(.2) updaten?
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.
Ja, ich verwende gentoo-sources, aktuell 4.9.6-r1, da ich auf stable bin. Kann auf 4.10.2 updaten.
Okay:
# 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.
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!