WinTV-CI / Cinergy-USB-CI und ddci2

  • Nach ein paar Wochen des Testens bin ich bei folgender Hardware stehen geblieben: MSI H110M Eco mit Pentium G4400.

    Läuft stabil mit 2 WinTV-CI USB. Bei nicht verwenden geht der PC in den Ruhezustand, wacht dadurch schneller wieder auf -> kein Problem für die WinTV-CI USB.

    Das Dell Notebook hat, wie prophezeit, nur 2 Wochen gehalten.


    Fr.

  • Hallo Frounts,

    Ich denke inzwischen, dass nicht unbedingt USB3 das Problem ist sondern die J3345 Platform.

    Ich bekomme inzwischen mit einer kleinen Änderung in der Firmware die Alphacrypt und die Neotion CAM auch bei mir zum laufen - allerdings nicht stabil. Irgendwann landen Daten die zum Modul gesendet werden zugleich auch im Buffer der vom Modul kommenden Daten. Es ist mir aber nicht klar wo und warum das geschieht.

    Ick kann versuchen dir diese Test-Version für MLD-unstable zu bauen, vielleicht sieht es bei die anders aus (es wird aber noch ein paar Tage dauern).

    Helmut

    HelmutB passed unfortunately away on July 21, 2022 ... RIP 🖤

  • Nö danke, hat sich erledigt.

    Das MSI H110M Eco dient als Streaming Server, die NUC6 nur mehr als Streaming Clients. Ich kann damit das Haus + Werkstatt stabil versorgen und bin nicht auf die doofe Strong-Kiste angewiesen und kann damit die Vorteile des VDR nutzen.

    Vielen Dank für deine Arbeit. Ist cool, was Du da geleistet hast :)


    Frounts

  • Die einzige Treiberoption die sichtbar etwas ändern könnte ware dummy_half_uframes=0 - allerdings auch zum schlechteren.

    Im tausche bei meinem VDR gerade das Mainboard weil ich dem Asrock J3455 bei USB3 nicht traue. Danach werde ich mich wieder um das WintvCi kümmern.

    Helmut

    HelmutB passed unfortunately away on July 21, 2022 ... RIP 🖤

  • HelmutB: Du hast Recht gehabt. Damit wird es deutlich schlimmer und es kommen diese Meldungen;


    Code
    wintv_usb2ci:: ts_urb_complete : TS CAM-IO: +4
    wintv_usb2ci: * TS[0,31#2/0] not SYNC: [ff ff ff ff ff ff ff ff ...]
    wintv_usb2ci: * TS[0,31#2/1] not SYNC: [ce 18 f9 c3 5c 58 e1 77 ...]
    wintv_usb2ci: * TS[0,31#23/0] not SYNC: [fd 5a a6 79 f4 69 2c 58 ...]


    Kurz danach gibt es kurzen Pixel-Matsch, bevor es wieder von vorne losgeht.

  • Es ist eine Himmels-Karte (Sat, V15) mit einem SMIT. Ich nutze das Hauppauge USB Ci Firmware 2.01 auf einem Lattepanda Alpha 864s (Intel Core m3 8100Y) mit USB 3-Anschluss und ein DVBSKY S960. Mit dem Patch, den Du ein paar Seiten vorher gepostet hast, ist es etwas besser. Jedesmal, wenn die oben genannte Meldung auftaucht, gibt es kurze Zeit später ein wenig Pixel-Müll. Dann beruhigt sich das wieder, bis es wieder anfängt. Wenn ich irgendetwas machen kann, um Dir beim Debuggen zu helfen, mache ich das sehr gerne. Vielen Dank für Deine Mühen!

  • beta - hier Vorab eine neue Version des WinTV-CI Treibers zum Testen.


    Es gibt eine neue Treiberoption: fx2_movx_stretch Mit dieser kann der Zugriffsgeschwindigkeit des FX2 USB Controllers auf den gemappten Speicher des Moduls gesteuert werden. Die möglichen Werte sind 0 bis 7.

    Firmwaredefault ist "3", das ist aber für einige Module zu schnell. Mit "6" laufen meine beiden SMITs, die Neotion, eine SmarDTV und - noch nicht 100% sauber - auch die ALphacrypt Classic an einem USB3.1 Port.


    Die zwite Änderung ist be der Option dummy_half_uframes. Diese kann jetzt die Werte von 0 bis 4 anehmen und steht für die Anzahl der TS-NULL Pakete im letzten URB-Microframe. Hier ist für die SMITs ein Wert von 2 der beste, bei den anderen Modulen scheint 3 besser zu funktionieen.


    Hier meine modprobe.conf

    Wenn der Treiber mit deiner SMIt läuft, werde ich ihn auf Github legen.

    LG Helmut

  • Vielen Dank, Helmut. Ich komme erst heute Abend zum Testen und werde sofort danach berichten.


    HelmutB: Mit Deinen Änderungen funktioniert es perfekt. Je nach Parameter-Werte habe ich zwar ab und an noch ein "not SYNC", sehe im Bild aber so gut wie keine Pixel-Fehler mehr. Ich experimentiere noch ein wenig mit den Werten und schreibe dann hier meine Favoriten für meine SMiT auf.

    Nochmal vielen Dank, Helmut, für das Programmieren überhaupt und für die unglaublich schnellen Reaktionen hier. Ich weiß das sehr zu schätzen!

    Aus meiner Sicht kann der Treiber so auf GitHub.

    Liebe Grüße


    Nachtrag:

    Die Einstellungen fx2_movx_stretch=6 dummy_half_uframes=2 funktionieren mit jojo61's drm-Plugin sehr gut, wenn die Auflösung 1920x1080 ist. Bei UHD gibt es damit allerdings sichtbare Pixelfehler.

  • Klingt gut.

    Diese "not SYNc" ist nicht immer ein Fehler - z.B. wenn es nur beim Umchalten auftritt und nicht mehr als 3x hintereinander vorkommt. Das sehe ich bei der SmarDTV auch. Die Pixelfehler sollten natürlich nicht sein.

    Zumindest während ein Programm läuft sollten die "TS-miss" Werte immer konstant bleiben - so wie hier:

    Code
    wintv_usb2ci:  +++ TS-BITRATE :  8.43 Mbit/s, 21.69 CAM-subs/s, URB-load:  6.73%, TS-miss: 8 TS-sync: 0
    wintv_usb2ci:  +++ TS-BITRATE :  8.83 Mbit/s, 22.29 CAM-subs/s, URB-load:  6.86%, TS-miss: 8 TS-sync: 0
    wintv_usb2ci:  +++ TS-BITRATE :  8.12 Mbit/s, 21.33 CAM-subs/s, URB-load:  6.59%, TS-miss: 8 TS-sync: 0
    wintv_usb2ci:  +++ TS-BITRATE :  7.92 Mbit/s, 21.48 CAM-subs/s, URB-load:  6.38%, TS-miss: 8 TS-sync: 0
    wintv_usb2ci:  +++ TS-BITRATE :  8.38 Mbit/s, 21.85 CAM-subs/s, URB-load:  6.64%, TS-miss: 8 TS-sync: 0
    wintv_usb2ci:  +++ TS-BITRATE :  8.63 Mbit/s, 22.28 CAM-subs/s, URB-load:  6.71%, TS-miss: 8 TS-sync: 0

    Verschlüsseltes UHD kann ich leider nicht sehen, es sind normalerweise aber auch nicht viel mehr als 20-25 Mbit/sek., also ca. 2 Sat HD-Programme.

    Ich werde es etwas später testen.

    Die SMITs sind normalerweise etwas schneller, es könnte bei dir also auch mit einem Stretch Wert von 5 oder 4 gehen. Und wenn du noch etwas anderes ausprobieren willst, dann in

    Code: wintv-ci-ci.c
    #define XCHG_USLEEP 2000
        usleep_range(XCHG_USLEEP - 250,XCHG_USLEEP + 250); // needed, but why

    XCHG_USLEEP in 1000 oder 3000 ändern oder die usleep_range Zeile ganz auskommentieren.

    Helmut

    HelmutB passed unfortunately away on July 21, 2022 ... RIP 🖤

  • Ich habe es Jetzt kurz getestet - an der UHD Bitrate wird es nicht liegen. 3 laufende HD Aufnahmen mit der SMIT und ORF Smartcard ohne Fehler:

    Code
    Jan 28 00:01:54 kernel: wintv_usb2ci:  +++ TS-BITRATE : 29.24 Mbit/s, 37.12 CAM-subs/s, URB-load: 13.64%, TS-miss: 8 TS-sync: 0
    Jan 28 00:02:04 kernel: wintv_usb2ci:  +++ TS-BITRATE : 29.18 Mbit/s, 36.77 CAM-subs/s, URB-load: 13.74%, TS-miss: 8 TS-sync: 0
    Jan 28 00:02:14 kernel: wintv_usb2ci:  +++ TS-BITRATE : 29.68 Mbit/s, 37.00 CAM-subs/s, URB-load: 13.89%, TS-miss: 8 TS-sync: 0
    Jan 28 00:02:24 kernel: wintv_usb2ci:  +++ TS-BITRATE : 29.27 Mbit/s, 36.43 CAM-subs/s, URB-load: 13.91%, TS-miss: 8 TS-sync: 0
    Jan 28 00:02:34 kernel: wintv_usb2ci:  +++ TS-BITRATE : 29.55 Mbit/s, 36.58 CAM-subs/s, URB-load: 13.98%, TS-miss: 8 TS-sync: 0
    Jan 28 00:02:45 kernel: wintv_usb2ci:  +++ TS-BITRATE : 29.31 Mbit/s, 36.76 CAM-subs/s, URB-load: 13.80%, TS-miss: 8 TS-sync: 0

    Eine Änderung beim XCHG_USLEEP wird daher nicht soviel ändern.

    Helmut

    HelmutB passed unfortunately away on July 21, 2022 ... RIP 🖤

  • HelmutB: Ich habe mich schlecht ausgedrückt. Das schauen eines UHD-Senders (jojo61-Plugin vaapi) mit UHR-Auflösung funktioniert sehr gut. Wenn ich in der UHD-Auflösung auf einen 1080i-Sender schalte (der TV skaliert dann hoch und das Plugin reagiert etwas träger als im 1080-Modus), dann kommt der USB CI-Treiber irgendwie aus dem Tritt. Ich muss mal schauen, ob andere Parameter dann helfen.

  • Hallo Zusammen ich habe da ein kleines Problem siehe Spoiler.

    Wisst ihr was da los ist?


  • Auch wenn es vielleicht anders aussieht, es ist alles in Ordnung.

    Zu Beginn versucht modprobe einen bereits geladenen wintv-usb2ci Treiber zu entladen,. Die FATAL Meldung kommt, weil er gar nicht geladen war.

    Die 4 "implicit-fallthrough" Warnungen sind unpassend, weil der "fallthrough" hier so gewollt ist.


    Mit jeder neuen ggc-Version werden mit -Wall immer striktere Warnungen ausgegeben -bei gcc-8.2 gibt es diese Meldungen nicht, mit gcc-9.2 aber schon. Mit "-Wimplicit-fallthrough=1" und einer zusätzlichen Kommentarzeile könnte man diese unpassenden Warnungen aber unterdrücken.

    LG Helmut

    HelmutB passed unfortunately away on July 21, 2022 ... RIP 🖤

  • Ich habe mir einen Mascom CI-Programmer besorgt, der wird auch als WinTV-CI erkannt. Jetzt habe ich ihn mit einer Freenet-Karte bestückt, die wird auch erkannt, doch leider gibt es beim Entschlüsseln nur Fehlermeldungen.


    Code
    Feb 20 13:30:25 gentoo vdr[16160]: [16160] switching to channel 35 T-8468-16437-16929 (ProSieben HD (T))
    Feb 20 13:30:25 gentoo vdr[16160]: [16160] CAM 2: assigned to device 1
    Feb 20 13:30:26 gentoo kernel: wintv_usb2ci:  +++ TS-BITRATE :  0.00 Mbit/s,  0.01 CAM-subs/s, URB-load:  2.50%, TS-miss: 0 TS-sync: 0
    Feb 20 13:30:26 gentoo kernel: wintv_usb2ci:  * TS[4,23#11/0] not SYNC[98]: [46 9a eb a1 f7 b8 f0 7a ...]
    Feb 20 13:30:26 gentoo kernel: wintv_usb2ci:  * TS[4,23#11/1] not SYNC[98]: [e9 b0 ce b7 4b 98 17 9f ...]
    Feb 20 13:30:26 gentoo kernel: wintv_usb2ci:  * TS[4,23#11/2] not SYNC[98]: [45 0d 1c d8 81 29 64 b2 ...]
    Feb 20 13:30:26 gentoo kernel: wintv_usb2ci:  * TS[4,23#11/3] not SYNC[136]: [e0 80 d9 97 8c 68 9d e4 ...]


    vdr-User-# 755 to_h264 chk_r vdr-transcode github

  • Ich habe den Treiber damals auf und für ein Notebook mit USB2 und dem SimlpiTV Modul geschrieben. Das hat eigentlich recht stabil funktioniert, die Datenrate des/der Programme sollte aber mind. 2Mbit/s sein (warum weiss ich noch nicht) - aber, je höher desto besser.

    Mit USB3 sind dann Fehler wie du sie bemerkt hast, aufgetaucht.

    Zusätzlich verhält es sich mit jedem Modul etwas anders (auch bei USB2). Es gibt daher ein paar Treiberoptionen mit denen man sein Glück versuchen kann

    Die zwei wichtigsten - und wie ich sie mit den SimplTV Modul (SMIT) verwende:

    options wintv_usb2ci dummy_half_uframes=2 # 1,2 oder 3

    options wintv_usb2ci fx2_movx_stretch=6 # 3..7


    SMIT und SmarDTV sind leichter zum laufen zu bekommen, Neotion und Alphacrypt war bei mir eher schwierig.

    Und dann kann es noch am Mainboard/USB3 liegen. Am ASUS J5005-ITX geht es gefüht besser als z.B. mit einem Asrock J3455-ITX.

    Ich habe am Treiber noch ein paar Dinge ausprobiert, die ich aber nicht auf github geladen habe.

    Falls es bei dir gar nicht läuft kann ich mir die Änderungen genauer ansehen und ggf hier posten.

    LG Helmut

    HelmutB passed unfortunately away on July 21, 2022 ... RIP 🖤

  • Mainboard ist ein B450 AORUS M, angeschlossen an USB2, ich kann mal USB3 probieren.


    vdr-User-# 755 to_h264 chk_r vdr-transcode github

  • Mit USB3 meinte ich mehr den xHCI Host Controller Treiber, dein USB2 Anschluß hängt sehr warscheinlich intern an einem USB3-Hub, verwendet also auch den xHCI Treiber. Bei "echtem" USB2 wird der EHCI Treiber verwendet - und damit läuft das WinTV-CI besser.

    LG Helmut

    HelmutB passed unfortunately away on July 21, 2022 ... RIP 🖤

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!