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

  • 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 : Du hast Recht gehabt. Damit wird es deutlich schlimmer und es kommen diese Meldungen;


    Code
    1. wintv_usb2ci:: ts_urb_complete : TS CAM-IO: +4
    2. wintv_usb2ci: * TS[0,31#2/0] not SYNC: [ff ff ff ff ff ff ff ff ...]
    3. wintv_usb2ci: * TS[0,31#2/1] not SYNC: [ce 18 f9 c3 5c 58 e1 77 ...]
    4. 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
    1. wintv_usb2ci: +++ TS-BITRATE : 8.43 Mbit/s, 21.69 CAM-subs/s, URB-load: 6.73%, TS-miss: 8 TS-sync: 0
    2. wintv_usb2ci: +++ TS-BITRATE : 8.83 Mbit/s, 22.29 CAM-subs/s, URB-load: 6.86%, TS-miss: 8 TS-sync: 0
    3. wintv_usb2ci: +++ TS-BITRATE : 8.12 Mbit/s, 21.33 CAM-subs/s, URB-load: 6.59%, TS-miss: 8 TS-sync: 0
    4. wintv_usb2ci: +++ TS-BITRATE : 7.92 Mbit/s, 21.48 CAM-subs/s, URB-load: 6.38%, TS-miss: 8 TS-sync: 0
    5. wintv_usb2ci: +++ TS-BITRATE : 8.38 Mbit/s, 21.85 CAM-subs/s, URB-load: 6.64%, TS-miss: 8 TS-sync: 0
    6. 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
    1. #define XCHG_USLEEP 2000
    2. 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

  • 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
    1. 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
    2. 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
    3. 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
    4. 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
    5. 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
    6. 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 : 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.