Beiträge von FireFly

    Zum Aufräumen ;) Aber es kann auch drin bleiben, es stört ja nicht wenn es nicht benutzt wird. Beim Testen ist es halt ganz praktisch wenn es nach einem Versuch wieder entladen wird bevor man eine neue Version testet.

    Durch das Skript kann man in der Configdatei die Anzahl der V-Tuner angeben und der Parameter wird sowohl dem Kernelmodule mitgegeben also auch die ensprechende Anzahl satip-Prozesse gestartet so dass man nicht an zwei Stellen editieren muss.

    Was mich eher stört ist der kontinuierliche Netzwerktraffic solange die satip-Prozesse mindestens einmal getuned haben und laufen, selbst wenn der VDR gestoppt wurde oder die Kanäle nicht mehr braucht.

    Unter openSuse habe ich eine Systemd Unit angelegt, die ein Skript aufruft und eine Config-Datei hat. Die ganz korrekte Variante mit einer systemd-Unit pro satip-Prozess war mir irgendwie von der Konfiguration her unsympathisch, auch weil man in der übergeordneten Unit dann das Kernel-Modul laden/entladen müsste.


    Code
    /etc/vtuner.conf:
    # config for VTuner
    #
    DEVICES=2
    SATIP_SERVER=1.2.3.4
    DELSYS="DVBS,DVBS2"
    LOGLEVEL=1

    Es wäre hilfreich, wenn mir jemand die Kriterien nennen könnte, warum eine Karte nicht verwendet wird.

    Das 'skipped' wird in dvbdevice.c generiert wenn UseDvbDevices = false oder für eine Karte UseDevice() nicht gesetzt ist. Beides wird nur durch den -D Parameter gesetzt. Default ist alle DVB-Devices zu nutzen.

    Evtl. irgendwo ein -D in einer 00-vdr.conf in /etc/vdr/conf.d oder ähnlichem Verzeichnis?

    Super! Mit  unsigned char *kernel_buf;  laufen jetzt auch bei mir alle Sender!


    Damit die github-Version vom 3.1. kompiliert musste ich zwei Deklarationen an den Anfang der Rotuine verschieben:


    Edit: Und sollte pusi_seen nicht besser mit 0 als mit false initialisiert werden?

    Code
    for (i=0; i<MAX_PIDTAB_LEN; i++)
        if (ctx->feedtab[i]!=NULL) ctx->feedtab[i]->pusi_seen=false;

    Das höre ich gern ;)

    Würde mir auch so gehen (war nicht persönlich gemeint!). Wenigstens weiß ich jetzt, wen ich fragen kann, wenn ich eine Routine nicht verstehe :)

    Ich denke, dass sich die Fehler, die bei mir aufgetreten sind, irgendwo in den vielen String-Allocs befinden - bei mir habe ich die inzwischen alle durch cString ersetzt. DIFF kann ich Dir aber keins schicken - das wäre größer als der gesamte Sourcecode.

    Das Plugin ist IMHO so buggy, dass sich jegliche Pflege nicht lohnt. Z.B. den sqlite-Befehl "VACCUM" gibt's gar nicht, der müsste "VACUUM" (mit 2x U anstatt 2x C) heißen, so dass die DB immer weiter wächst. Und die DB mittendrin zu löschen wenn festgestellt wird, dass sie eine andere (alte) Struktur hat ist - nunja - nicht gerade elegant.

    Ich hatte es mal installiert und dann diverse Abstürze in diversen anderen Plugins so dass ich schon dachte mein RAM wäre defekt, was ein Test widerlegte. Seit der Deinstallation läuft wieder alles fehlerfrei.

    Ich bin seit längerer Zeit an einem Nachfolger auf Basis von xmltv2vdr, aber der ist noch nicht ganz reif für eine Veröffentlichung...

    Mit der Git-Version vom 27.12. bekomme ich Das Erste HD, ZDF HD, etc. wie am Anfang nicht mehr, egal ob mit sendfiller oder ohne (auskommentiert).

    Dann habe ich mal 20MB gespeichert mit cat /dev/vtunerc0 > /tmp/stream.ts

    dvbsnoop gibt sehr viele Pakete mit dem Beginn

    0000: 47 1f ff 20 b7 00 ff ff ff ff ff ff ff ff ff ff aus, ich weiß aber nicht nach was ich suchen soll. Teilweise steht (EPG?)-Text drin, aber ohne PID im Header. Insgesamt scheint dvbsnoop keine PID in den Headern zu finden:

    Code
    # grep "TS-Packet: .* PID:" /tmp/stream.txt |grep -v "Unkown PID"
    #  (keine Ausgabe)

    Und ja, dvbsnoop gibt wirklich "Unkown" mit fehlendem 'n' aus :)

    Hier mal ein gekürztes Paket:

    Wenn man nicht im Header sondern auf das "^PID: " der interpretierten Daten grepped kommen folgende Häufigkeiten vor:

    Also werden gar keine Video-/Audio-Daten geschickt?


    Edit: Um nicht falsch verstanden zu werden: Am Rechner kommen lt. Netzwerkmonitor alle Audio- und Video-Daten an, das zeigt auch

    aber offenbar werden sie vom vtunerc-Modul nicht durchgereicht. Weiter testen kann ich erst in rund einer Woche

    Bei len wird auf < 188 geprüft und ansonsten nur Vielfache von 188 weiterverarbeitet.

    Ich wollte verhindern, dass er z.B. beim sendfiller über das Ende des Buffers von n*TS_SIZE hinaus schreibt. War aber eh nur ein quick & dirty Versuch um den Crash zu vermeiden.

    Nach dem Crash lässt sich das vtunerc-Modul nicht entladen da es noch 2 Referenzen hat. Muss deshalb warten bis ich den Rechner booten kann.

    Wenn ich in vtuner_ctrl_dev.c das senden des fillers rausnehme dann klappt auch ARD und ZDF und RTL HD crasht nicht mehr.

    Danke, damit gehen bei mir auch die bisher nicht funktionierenden Sender.

    Allerdings crasht das Kernelmodul trotzdem nach dem Durchzappen von ca. 15 Sendern beim Testen.


    Zu den PIDs: Es werden doch nur die vom SATIP-Server geliefert, die er VDR anfordert .... ?!?

    Das Erste HD:

    Ich glaube Dir ja, dass es bei Dir (und anderen) geht. Sonst hätte es auch schon entsprechende Meldungen gegeben.

    Aber woran kann das liegen?

    Ich bekomme übrigens den gleichen Kernel-Fehler wie uwe67, aber nicht im Zusammenhang mit dem Umschalten auf die nicht funktionierenden Sender.


    Edit: Das Erste HD:

    Sieht so aus, als würde er keine Nutzdaten erkennen ....

    Wenn es funktioniert sind die Umschaltzeiten gefühlt halb so lang wie mit dem satip-Plugin.

    Aber dafür funktionieren nur ca. die Hälfte der Sender. Es gehen z.B. SWR RP HD, 3sat HD, BR Süd HD,

    aber z.B. nicht Das Erste HD, ZDF HD, hr-fernsehen HD.

    Ich habe mal Hi/Lo-Band und H/V Polarisierung gerpürft aber kein Muster gefunden. firewalld hatte ich auch schon testweise ausgeschaltet.

    Im satip Log werden mit -m 7 auch jede Menge "RTP: rd 1328 wr 1316" angezeigt, also wird etwas übertragen.


    Mit dem satip-Plugin gehen alle Sender problemlos.