Beiträge von Joe_D

    Hm, das bedeutet man muß jeden folgende Unterversion von Kernel 6.10 neu patchen -> Hm also ca. jede Woche ?

    Verstehe ich nicht.


    Im vtuner hab ich das mal mit if LINUX_VERSION_CODE >= KERNEL_VERSION(6,10,0) eingetragen, d.h. gilt für größer gleich 6.10.0


    Wenn jetzt irgendwer bei 6.10.x wieder auf die Idee kommt vmalloc als #define zu setzen muss eben ein >= und <= mit rein...


    P.S.: Ob's jetzt kompiliert weiß ich von Dir aber immer noch nicht ;)

    Da nach meinem EPG-Pause-Scan-Patch in der 2.6.7 der Patch von MarkusE zum Frontend schließen ab 2.6.8 aktiv ist habe ich den timeout Parameter im vtuner ab sofort auf 0 (=disabled) festgelegt. Dadurch dürften VPS-Aufnahmen und EPG-Pause mit vtuner wie erwartet funktionieren...


    Das Abschalten ohne timeout funktioniert jedenfalls, dazu gibt es jetzt (auch) eine Meldung im vtuner:

    Code
    Jul 17 18:34:06 vdr2 vdr: [3400] closing frontend 0/0
    Jul 17 18:34:06 vdr2 vdr: [3400] closing frontend 1/0
    Jul 17 18:34:06 vdr2 kernel: [ 3568.225885] vtunerc0: sending MSG_CLOSE_FRONTEND
    Jul 17 18:34:06 vdr2 kernel: [ 3568.226149] vtunerc1: sending MSG_CLOSE_FRONTEND

    für epgsearch ohne Anpassung müsste es etwas im Description-Feld sein, das man in der epgsearchcats.conf unterbringen kann.

    Tja, entweder AUX-Feld aufblasen und nix damit bei epgsearch anfangen (bzw. das auch noch erweitern, plus Standard-Skin damit was angezeigt wird) oder das epg.data Description-Feld aufblasen (deren Daten praktischerweise im Standard-Skin mit angezeigt werden) und sich überlegen wie diese ein DVB-Update überleben und wie man mitbekommt das die angereicherten Daten gerade flöten gegangen sind ;)

    Oder man kopiert zyklisch Werte vom Aux-Feld ins Description-Feld :wow


    Bei der epg.data wäre es ja mal nicht verkehrt diese auf was mit XML umzustellen...

    Wenn ich das richtig verstehe, dann gibt es die Probleme aber nur, wenn man mischen anstelle erstellen wählt.

    Nö, das ist bei einer Quelle egal. Aber bei zwei oder drei Quellen wird das halt problematisch, da es im xmltv2vdr plugin nur eine Zuordnung xmltv2vdr quellkanal (z.B. ard.de) auf ein oder mehrere VDR-Kanäle gibt. Wenn alle Quellen mit der gleichen ID "arbeiten", bzw. die Skripte das eben so hinbiegen dann benötigt man bei zwei oder drei Quellen eben nur eine einzige Zuweisung für alle Quellen im VDR..


    Mehrere Quellen und erstellen hab' ich selber noch gar nicht wirklich ausprobiert. Ist halt die Frage was da passieren soll. Vor allem wenn Quelle A IDs zu den Events mitliefert, Quelle B aber nicht. Wenn nun Quelle A ausfällt würden die selbstgenerierten IDs der Quelle B verwendet, wenn dann Quelle A wieder da ist könnte es sein das doppelte Einträge auftauchen... Hachja, das EPG-Thema... :S

    Was genau macht xmltv2vdr?

    Eigentlich das was hier http://www.vdr-wiki.de/wiki/index.php/Xmltv2vdr-plugin steht...


    Ändern der summary im epg.data?

    Oder füllt xmltv2vdr spezielle Felder im EPG?

    Ja, wenn xmltv2vdr mit epg sources verwendet wird (tvm.., easy.., ryte..)

    Oder nur Änderungen an timern?

    Zusätzlich gibt es eine Option Staffel/Episode an alle Timer anzuhängen und optional Kurztext und Title anzupassen:


    Dabei werden mit vorhandenem Titel und Kurztext aus dem Timer->Event() in der eplist die Daten ausgelesen und an den Timer->Event() gehängt (ob das nun direkt in der epg.data landet müsste ich mal prüfen). Zusätzlich speichere ich das in der xmltv2vdr sqlite Datenbank. Wenn nun das Event per DVB wieder platt gemacht wird hole ich die Daten einfach von der sqlite Datenbank und schreibe sie nochmals drüber. Wird bislang mit einem 10 Minuten Intervall gemacht und haut in den meisten Fällen auch hin :)

    Ich lass mir von xmltv2vdr Episode, Folge und Staffel in sämtliche aktiven Timer eintragen (sofern in den eplisten vorhanden).


    Meine epgsearchuservars.conf sieht so aus:

    Code: epgsearchuservars.conf
    %Pfad%=Serien~%Title%
    %SeasonEpisode%=%Pfad%~S%Staffel%E%Episode%_-_%Folge%._%Subtitle%
    %Shorttext%=%Pfad%~%Subtitle%
    %DateTime%=%Pfad%~%time_w%_%date%_%time%
    %STorDT%=%Subtitle% ? %Shorttext% : %DateTime%
    %Serien%=%Staffel% ? %SeasonEpisode% : %STorDT%


    Wenn Serien im EPGSearch-Timer dann im Verzeichnis %Serien% abgelegt werden und die jeweiligen Tags in der Beschreibung existieren (Staffel, Episode, Folge, ...) dann werden diese "schön" abgelegt:

    Code
    Serien/Dr._Quinn_-_Ärztin_aus_Leidenschaft/S06E11_-_134._Transfer
    Serien/Dr._Quinn_-_Ärztin_aus_Leidenschaft/S06E12_-_135._Brians_Weihnachtsgeschichte


    Zusätzlich kann man noch in epgsearchcats.conf erweiterte EPG Info definieren:

    Code: epgsearchcats.conf
    1|Staffel,%02i|Staffel||4
    2|Episode,%02i|Episode||4
    3|Folge,%03i|Folge||4
    #4|Staffel,%02i|Staffel >=||13
    #5|Staffel,%02i|Staffel =||14
    #6|Staffel,%02i|Staffel <=||11

    (ob die letzten drei Auskommentierten funktionieren weiß ich gar nicht mehr)


    Auf jeden Fall kann ich die dann in Live anwählen:


    Als ich das Plugin vor einiger Zeit mit dem Script easyepg getestet habe ist mir das auch aufgefallen

    Ich hatte dazu einen Fehler eingestellt: https://github.com/vdr-project…plugin-xmltv2vdr/issues/7

    Ja, tut mir leid - ich hatte bislang kein easyepg-Input. Das phyton-Zeug mit Weboberfläche ist für mich einfach overkill - auch aus dem einfachen Grund da ich seit zwanzig Jahren keine Sender ohne DVB-EPG anschaue bzw. aufnehme...

    Zitat von Joe_D

    [...] bei file sollte gar nix aufgerufen werden

    Ich muss mich korrigieren. Nach Durchsicht der Quellen ist es folgendermaßen:


    xmltv2vdr ruft immer ein script auf das xmltv-Dateien lieferen soll.


    Entweder liefert es das direkt an stdout (pipe) oder es schreibt die Ausgabe in eine Datei (file)


    Eigentlich wichtig wäre folgender Punkt, d.h. das Skript wäre dafür zuständig das so anzupassen:

    Zitat von xmltv2vdr wiki

    Die Kanalnamen in der xmltv-Datei sind fest und unabänderlich um eine Mehrfachzuweisung verschiedener Quellen zu verhindern (siehe Kanalliste). Dabei wird folgendes Schema verwendet: Sendername gefolgt von einem Punkt und der Länderkennung, z.B. rtl.de oder orf.at


    Das easyepg-zattoo Skript sollte also eine Datei names easyepg-zattoo.xmltv erzeugen. Wenn die Datei easyepg.xmltv irgendwie extern erzeugt wird kann das easyepg-Skript auch so aussehen:

    Bash
    #!/bin/sh
    exit 0


    Nach Durchsicht der xmltv-Datei ist mir eben aufgefallen das statt ard.de dort ARD.de drinsteht oder auch so lustige Sachen wie IDs mal so df1_de, mal so SWR.de oder so moviedome_de ... xmltv übliches Kraut und Rüben was die Verwendbarkeit mehrerer Quellen im eigentlich schön standardisierten Dateiformat leider komplett ad absudum führt... denn woher soll ein Programm wissen das die IDs ard.de, ARD.de, Ard_de oder DasErste sämtlich für den gleichen Sender gelten?


    Wenn man nur eine Quelle hat kann man natürlich die IDs 1:1 aus der xmltv-Datei übernehmen.


    Da ich bei mir mit den Standardnamen arbeite hab ich die mal in der Datei ausgetauscht:

    Code
    sed 's/ARD\.de/ard\.de/g; s/ZDF.\de/zdf\.de/g' easyepg-zattoo-orig.xmltv > easyepg-zattoo.xmltv


    Die Einstellungen sehen dann bei mir so aus (mit 0 auf einer Quelle lässt diese sich übrigens ein- oder ausschalten, war leider keine Farbe mehr für die Funktion übrig):


    Die ersten beiden Menüpunkte machen nur dann etwas, wenn unter ~vdr/.eplists/lists Listen von https://www.eplists.de abliegen.
    Dann werden Staffel und Episode (wenn vorhanden) auch bei allen Timern (unabhängig ob von xmltv2vdr bereitgestellt) hinzugefügt.


    Bei den zugewiesenen Quellkanälen hab ich einfach mal (fast) alles eingeschaltet:


    Nach svdrpsend plug xmltv2vdr updt force bekomme ich folgendes Log:

    Zwei Sachen die mir hier auffallen:


    Er meckert ein unbekanntes Element live an, warum auch immer es das gibt... - muss ich noch hinzufügen


    Ansonsten werden keine EventIDs bereitgestellt weshalb diese aus der Anfangszeit generiert werden, das führt dann zu folgender Info: event without id, using starttime as id (weak)!. Das ist nur dann "schlimm" wenn sich bei einem xmltv-Update eine Sendung erheblich verschiebt, dann kann es sein das zwei überlappende EPG-Einträge entstehen. So recht hab' ich das aber nicht durchgetestet da ich immer mischen verwende...

    Und so sieht dann (bei mir) das Ergebnis z.B. für die importierte ard.de aus:


    Wenn ich das nochmals update funktioniert das eigentlich. Einen Segfault habe ich nicht hinbekommen.

    Details sehen z.B. so aus:


    Lustigerweise wird da ein "Actor(s)" und das Jahr in die Description gepappt, was bei xmltv völlig sinnlos ist. Da xmltv2vdr schön mit dem Format umgehen kann wurden die Darsteller und das Jahr einzeln hinzugefügt (wie eben in den Einstellungen angegeben)


    Diese EPG-Daten-Datei ist mehr als 15MB groß, so dass diese hier nicht einstellen kann.

    Wäre nicht schlecht wenn Du mir die irgendwie zukommen lassen könntest (siehe unten)

    Zitat von Paulaner

    yavdr vdr: [4544] xmltv2vdr: 'easyepg' ERROR (script) sh: Zeile 1: easyepg: Befehl nicht gefunden

    Uh, ein Bug... ich habe bislang immer nur pipe verwendet.. bei file sollte gar nix aufgerufen werden


    Was "mischen" und "erstellen" ist habe ich nie richtig verstanden

    Mischen = vorhandenes DVB-EPG mit externem EPG mischen (impliziert das auch nicht mehr EPG angelegt wird als schon vorhanden, impliziert das es unbedingt ein DVB-EPG geben muss, weil deren Event-IDs verwendet werden)
    Erstellen = das EPG wird nur aus dem externen EPG erstellt (impliziert das es kein DVB-EPG geben darf [glaube ich, lang ists her, eventuell wirds auch geblockt])


    Da sind mir eben keine besseren Begriffe eingefallen, kann die aber jederzeit in etwas Griffigeres ändern - wenn ich da Input bekomme :)

    Ich glaube das vdr-plugin-xmltv2vdr ist nix für den produktiven Gebrauch!

    Ich glaube schon. Ich verwende das xmltv2vdr Plugin nun seitdem ich es geschrieben habe mit externem EPG (für ein paar Kanäle) in der Betriebsart "Mischen" ...

    kam sofort ein "SEGFAULT" und der VDR hat neu gestartet.

    Dann ist das ein Bug =O Die Eingabedatei würde mich interessieren die den Segfault erzeugt... dann kann ich das fixen...

    Ein eigener MenüPunkt wäre eventuell doch sinnvoll.

    Wie soll das aussehen?


    Pause nach EPG Scan: ja/nein
    -> Frontends während Pause freigeben: ja/nein

    Lustigerweise habe ich die Pause nach EPG Scan ja extra dazu gemacht damit Frontends während der Pause freigegeben werden können. Das funktioniert nun bei vtuner-ng zum Beispiel aber nur mit Tricks (Timeout und PIDs beobachten) und bei VPS-Timern leider eher schlecht - da muss der Timeout nun größer sein als die eingestellte VPS-Timer Vorlaufzeit. Wenn die spasseshalber größer als die Pause ist, dann gibt es keine Pause mehr... wenn die kleiner als die VPS-Timer Vorlaufzeit ist gibt es keine VPS-Aufnahme...

    Mit der Änderung das nun die Frontends richtig geschlossen werden kann ich bei vtuner-ng den Timeout-Trick standardmäßig abschalten.

    Ohne Pause bei EPG Scan wird sowieso ständig auf den Frontends rumgenudelt, eine Pause bei EPG Scan ohne Frontends freizugeben wäre total sinnlos.

    Oder man benennt das um in:


    Pause nach EPG Scan und Frontends währenddessen freigeben: ja/nein


    Gibt es eine Möglichkeit, festzustellen, ob ein Frontend abgeschaltet ist?

    Andersrum ist es einfacher: Die offenen Filehandles müssten doch in /proc/[PID_VOM_VDR]/fd stehen? Genauso sollte man aber auch nach frontends in /proc/*/fd suchen können, wenn ich mich nicht täusche...

    Das Ziel ist es, Treibern mitzuteilen, was gerade nicht benutzt wird, um Strom, Bandbreite, ... zu sparen.

    Bei vtuner-ng hatte ich am Anfang auch nur ein Freigeben nach Close drin - wurde aber nur beim Beenden vom vdr geschlossen. Danach ein Idle-Timeout nach 30 Sekunden wenn keine PID mehr angefordert wird. Leider hat der vdr nach einem Scan die PIDs nicht abgemeldet. Dann hab' ich zusätzlich eingebaut das nach 60 Sekunden auch freigeben wird wenn nur Section-PIDs angefordert wurden. Das hat sich leider mit VPS-Aufnahmen gebissen, seitdem ist der Timeout konfigurierbar auf die VPS-Vorlaufzeit. Puhhh...


    Mit dem Close-Patch könnte ich nun den Idle-Timeout wieder rausnehmen, bzw. standardmäßig bei 0 "totlegen".

    Wenn es wichtig ist, das das Frontend seites VDR nicht geschlossen wird - damit kein anderes Programm das DVB-Device "klauen" kann, würde es für vtuner-ng ausreichen nach einem Scan sämtliche PIDs abzumelden. Das könnte ich dann auswerten...

    Do You have the newer device version with one USB port?

    I have only one USB port

    Best option to troubleshoot is connect to UART port and attach console to it to see all messages or interact with U-Boot.

    I use the box in my production environment. I'll have to see when I can find time to open it...

    To know if You booted from it, check available applications (double TAB), there should be minisatip and some others.

    I formatted the stick and put your file on it and rebootet... But that didn't work..


    fdisk shows this about the stick:

    Code
    Disk /dev/sda: 64 MB, 64487424 bytes
    255 heads, 63 sectors/track, 7 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    
       Device Boot      Start         End      Blocks  Id System
    /dev/sda1   *           1           8       62896   e Win95 FAT16 (LBA)
    Partition 1 has different physical/logical endings:
         phys=(6, 254, 63) logical=(7, 212, 13)
    
    Command (m for help):

    Rename the firmware to "Elgato_UAB_Boot_Image" and place it on a FAT32 formatted USB stick. Plug it in to USB port and reboot. The device should boot firmware from USB stick.

    Tried today and it didn't worked:

    Code
    scsi 2:0:0:0: Direct-Access     LEXAR    DIGITAL FILM     /W1. PQ: 0 ANSI: 2
    sd 2:0:0:0: Attached scsi generic sg0 type 0
    usb-storage: device scan complete
    sd 2:0:0:0: [sda] 125952 512-byte hardware sectors: (64.4 MB/61.5 MiB)
    sd 2:0:0:0: [sda] Write Protect is off
    sd 2:0:0:0: [sda] Mode Sense: 0d 00 00 00
    sd 2:0:0:0: [sda] Assuming drive cache: write through
    sd 2:0:0:0: [sda] Assuming drive cache: write through
    sda: sda1
    sd 2:0:0:0: [sda] Attached SCSI removable disk


    I'm able to mount it:

    Code
    /dev/sda1 on /usb type vfat (rw,relatime,fmask=0022,dmask=0000,allow_utime=0022,codepage=cp437,iocharset=iso8859-1)


    It's not the only file on the usb-stick:

    Code
    [ARCLinux]$ d /usb
    total 32418
    drwxrwxrwx    3 root         16384 Jan  1  1970 .
    drwxr-xr-x   19 root             0 Jan  1  1970 ..
    -rwxr-xr-x    1 root      15769239 May 22  2024 Elgato_UAB_Boot_Image
    drwxrwxrwx    2 root          2048 Mar 27  2022 System Volume Information
    -rwxr-xr-x    1 root        220049 Jun 21  2009 grldr
    -rwxr-xr-x    1 root           155 Jun 22  2010 menu.lst
    -rwxr-xr-x    1 root      17170432 Nov 30  2012 microcore-current.iso