[Workaround] Crossepg / epg.dat backup

Wir haben aktuell ein Problem mit dem Board und arbeiten an der Lösung...
  • Deutsch/German:
    So,das ganze ist jetzt recht stabil geworden und ich hab noch weitere fixes für den crossepg gebastelt.
    Deshalb hab ich den thread titel mal geändert.
    Das ganze ist zwar immer noch nicht wirklich schön,aber es funktioniert stabil und bei crossepg konnte ich nun auch den MHW2 EPG fixen.


    Packe jetzt alle nötigen files hier ins post und entferne sie im restlichen thread,so ist das etwas sauberer.


    Also hier mal die nötigen files:


    (1) = enigma2_pre_start.sh
    Pfad = /usr/bin/ (chmod 755)
    Erklärung = Diese datei macht ein backup der epg.dat datei und schreibt sie nach /hdd/epg (ordner vorher anlegen).
    Außerdem ist sie für das laden und anschließende löschen der crossepg epg.dat verantwortlich.


    Script:



    (2) = epg-recovery.sh
    Pfad = Wo immer ihr eure scripts startet(chmod 755). :winking_face:
    Erklärung = Das script beendet e2 kopiert die epg.dat.bak und läd sie als normale epg.dat.


    Script:

    Bash
    #!/bin/sh
    
    
    echo "EPG Recovery Initiated...Please wait for enigma2 to Restart..."
    sleep 6
    init 4
    cp /media/hdd/epg/epg.dat.bak /media/hdd/epg.dat
    init 3


    So nun zu den crossepg fixes.
    Den ersten,der für opentv verantwortlich ist, hatte ich ja schon gepostet.
    Dort musste einfach das demux device von 0 auf 3 geändert werden.


    (3) = crossepglib.py
    Pfad = /usr/lib/enigma2/python/Plugins/SystemPlugins/CrossEPG (chmod 755)
    Erklärung = Das demux device wird durch folgende anpassung von 0 auf 3 geändert.


    Code:

    Code
    x = "%s/crossepg_downloader -r -d %s" % (self.home_directory, dbdir)


    durch das ersetzen


    Code
    x = "%s/crossepg_downloader -x /dev/dvb/adapter0/demux3 -r -d %s" % (self.home_directory, dbdir)


    (File im anhang)



    So nun noch der fix für MHW2 EPG.
    Hier musste ebenfalls nur das demux device angepasst werden.
    Hat aber ne weile gebraucht bis ich gefunden hab,das man das überhaupt anpassen kann und wo und wie.


    (4) = mhw2_dplus.conf
    (Das file ist davon abhängig,welchen provider man nutzen will.
    Im meinem fall ist das Digital+ 19.2°E.)
    Pfad = /usr/crossepg/scripts/mhw2epgdownloader
    Ertklärung = Das demux device wird durch folgende anpassung von 0 auf 3 geändert.


    Konfig:

    Code
    # dispositivo
    device = /dev/dvb/adapter0/demux3


    In der konfig musste ich noch weitere anpassungen machen,damit der EPG für alle sender funktioniert.(Copy/Replace part)
    (File im anhang)


    So,das wars eigentlich.
    Den rest kann man sich dann über den EPGRefresh holen.
    Die vorgehensweise um den normalen EPG mit dem crossepg EPG zu mergen(ohne load epg patch,mit dem man ja crashes kriegt) ist...
    Crossepg ausführen und nen auto restart machen nun normalen EPG sammeln(manuell,oder eben mit EPGRefresh) und wieder eien restart machen.
    Diese vorgehensweise funktioniert aber nur,wenn das oben gepostete script genutzt wird,ansonsten wird immer nur der crossepg geladen.
    ---------------------------------------------------------------------------------------------------------


    English/Englisch:


    Well,since the whole thing has become pretty stable now and I also found some more fixes for crossepg so I allowed myself to change the thread title a little.
    The whole fix ain't relly pretty,but it works and I was able to fix the MHW2 EPG aswell.


    I attached all necessary files here and deleted them from the rest of the thread so that everything is a little more tidy.


    Those are the necessary files:


    (1) = enigma2_pre_start.sh
    Path = /usr/bin/ (chmod 755)
    Explaination = This file creates a backup of the complete epg.dat and copies it to /hdd/epg (folder has to be created).
    It also is responsible for loading and deletion(when necessary) of the crossepg ext.epg.dat.


    Script:



    (2) = epg-recovery.sh
    Path = Wherever you start your scripts from(chmod 755). :winking_face:
    Explaination = The script stops e2,copies the epg.dat.bak and loads it as regular epg.dat


    Script:

    Bash
    #!/bin/sh
    
    
    echo "EPG Recovery Initiated...Please wait for enigma2 to Restart..."
    sleep 6
    init 4
    cp /media/hdd/epg/epg.dat.bak /media/hdd/epg.dat
    init 3


    Alright,now let's get to the crossepg fixes.
    The first one,that is responsible for the opentv,I already posted.
    The only thing that had to be done there was changing the demux device from 0 to 3.


    (3) = crossepglib.py
    Path = /usr/lib/enigma2/python/Plugins/SystemPlugins/CrossEPG (chmod 755)
    Explaination = Changed the demux device from 0 to 3.


    Code:

    Code
    x = "%s/crossepg_downloader -r -d %s" % (self.home_directory, dbdir)


    durch das ersetzen


    Code
    x = "%s/crossepg_downloader -x /dev/dvb/adapter0/demux3 -r -d %s" % (self.home_directory, dbdir)


    (File attached)



    Now for the MHW2 fix.
    The demux device had to be adjusted here aswell.
    It was a little tough to find out if it could be done at all and if,where it had to be changed.


    (4) = mhw2_dplus.conf
    (The file depends on what provider you want to use.
    In my case it's Digital+ 19.2°E.)
    Path = /usr/crossepg/scripts/mhw2epgdownloader
    Explaination = Changed the demux device from 0 to 3.


    Config:

    Code
    # dispositivo
    device = /dev/dvb/adapter0/demux3



    There were a few more fixes I had to make,so that all channels load properly.(Copy/Replace part)
    (File attached)



    Well,that was about it.
    The other regular epg data can be loaded manualy or with EPGRefresh plugin
    There procedure to merge the regular epg with the crossepg one(without the load patch which causes crashes,most of the time) is...
    Start crossepg and let it perform an e2 restart,now start to collect your regular epg data(manualy or with EPGRefresh) and perform another e2 restart.
    (At the second restart an epg.dat.bak ,for use with the epg-recoevery.sh, is created aswell.)
    This procedure only works if you use the enigma2_pre_start.sh,else only the crossepg data is loaded at every boot.

  • Danke von mir! Ich werds später mal ausprobieren und hier berichten.

  • Hab alles installiert und habe nun mehrere Fragen:


    1. Ich nehme an, es kommt nun nicht mehr zum crash, weil die epg.dat nach einiger Zeit kaputt geht?


    2. Hab crossepg ausgeführt, gui neugestartet und alle EPG Daten waren vorhanden. Allerdings finde ich nirgendwo die epg.dat ! Daher konnte ich auch nicht das pre Skript ausführen!


    Was mache ich falsch?


    Grüße

  • Nein zu crashes sollte es jetzt nicht mehr kommen.


    Die auf der /hdd vorhandene epg.dat wirst du,unter normalen umständen, nie sehen.
    Das ganze läuft so ab...
    Erst lädst du den crossepg und machst einen restart,damit nur die crossepg daten geladen werden(soweit warst du ja).
    Das pre start script ist hier schon einmal aktiv gewesen indem es aus der ext.epg.dat ,die von crossepg erstellt wird,eine normale epg.dat gemacht hat,die beim e2 start geladen wird.
    Nun sammelst du die restlichen daten,die du so brauchst(optional) und machst wieder einen e2 restart.
    Bei diesem restart werden nun eventuell vorhandene normale epg daten,mit den crossepg daten ge-merged und nun wird von den zusammengefügten daten eine epg.dat.bak in /hdd/epg angelegt(ordner selbst erstellen).
    Diese epg.dat.bak kann nun,wenn nötig,von dort recovered werden und wieder als normale epg.dat geladen werden(epg-recovery.sh).
    Das ganze muss wiederholt werden sobald du wieder mit crossepg daten geladen hast.

  • Die epg.dat.bak in hdd/epg wird also erst erstellt, wenn es Unterschiede zwischen der erstellten crossepg Datei und der normalen epg.dat gibt?


    Reicht jeweils ein GUI Neustart?

  • Nicht ganz.
    So viele variablen gibts da garnicht.
    Wenn man mit crossepg daten geladen hat,werden die grundsätlich beim darauf folgenden reboot geladen.
    Dann wird das von crossepg angelegte ext.epg.dat gelöscht,damit beim nächsten reboot nur die normale epg.dat geladen wird(die bei jedem shutdown/reboot erstellt wird).
    Würde man die ex.epg.dat nicht löschen,würden immer nur die crossepg daten geladen und die normalen ignoriert.


    Ps.Ja ein GUI(e2) neustart reicht immer.

    2 Mal editiert, zuletzt von sin ()

  • Hmm, ich habe jetzt mehrmals neugestartet und auch Kanäle aufgerufen, die keine EPG Daten von crossepg bekommen (z.B. Spiegel TV Wissen, Unitymedia).


    Alle Daten werden zwar offensichtlich gespeichert und sind nach dem Neustart auch wieder da (im Gegensatz zum XMLTV Plugin, bei dem ich die nicht berücksichtigten Sender jedesmal neu mittels zappen einlesen mußte). Nur, für was brauche ich dann das pre Skript, wenn es eh nichts (bei mir?) bewirkt...


    Grüße

  • Das was du aufzählst ist genau das wofür das pre start script verantwortlich ist.
    Crossepg daten laden,file löschen und nach dem sammeln crossepg und normale daten laden und backup anlegen.
    Das wird nie manuell ausgeführt, sondern es wird automatische bei jedem e2 neustart ausgeführt.
    Guck dir den part doch einfach mal an da steht doch genau was es tut,ist ja wirklich sehr simpel und kurz gemacht.


    2 Mal editiert, zuletzt von sin ()

  • Zitat

    Original von sin


    Das wird nie manuell ausgeführt, sondern es wird automatische bei jedem e2 neustart ausgeführt.



    Ups, dann ist mir jetzt alles klar! :muede:


    Na, dann vielen Dank! Das funktioniert PERFEKT!!! :danke: :cool2:



    Funktioniert das getimte Abrufen der crossepg Dateien? Hast du das seit deinen Veränderungen ausprobiert? Seit der 3.2 oder schon lange davor ging das bei mir nicht mehr!

  • Ich hab jede nacht folgenden ablauf.


    2:00am läuft crossepg per timer an und macht nach dem laden nen auto restart.
    Dann hab ich nen e2 timer der die box ins standby schickt.
    Dann,ein paar minuten später startet EPGrefresh per timer(main picture option) und läd alle normalen epg daten die ich so brauche.
    Anschließend lasse ich von EMC nen restart timer laufen,der mir nun durch den e2 restart die daten zusammenfügt und nach dem restart wieder direkt ins standby geht.
    Ich wache also morgens immer mit einem kopletten EPG und einer frischen epg backup datei auf.:)
    Man muss halt nur das timing aller beteiligten plugins genau berechnen.

    Einmal editiert, zuletzt von sin ()

  • Da muß ich mal schauen, wie ich das mache.



    Noch was: Was passiert jetzt bei einem Greenscreen (aus welchem Grund auch immer)? Werden die Daten nach einem GUI Neustart einfach wieder eingelesen? Oder sind sie dann für immer verloren?



    MIST: Hatte gerade einen typischen crossepg Greenscreen! Wenn man vom Teufel spricht... Also ist der Fehler nicht behoben...



    Daten sind auch nach einem GUI Neustart weg. Wobei es ja eh egal ist, da sie kaputt sind.

  • Wenn du jetzt einen greenscreen hast,was ja wie ein reboot command ist,bei dem also keine epg.dat angelegt wird.
    Bleibt deine letzte,beim sauberen e2/box neustart erstellt backup datei erhalten.
    Das heißt wenn man nun einen crash hatte,kann man nun manuell das epg-receovery.sh ausführen,die backup datei wird geladen und der EPG ist wieder gefüllt.


    Btw den EPGRefresh/crossepg/EMC timer kram hab ich bisher nur jede nacht ausgeführt,weil die xepgdb daten für D+ nicht grade lange vorhanden waren.
    Jetzt,da der MHW2 wieder funktioniert,reicht auch alle 6-7 tage das ganze einmal nachts laufen zu lassen.

  • Keine ahnung wie du das hingekriegt hast.
    Ich hab seit über 10 tagen,seit dem ich das so am laufen habe,keine einzigen crash mehr gehabt.
    Geh am besten nochmal alles schritt für schritt durch.

  • Jetzt hängt die recovery.sh, oder ist es normal dass sie mehrere Minuten braucht?


    Edit: Musste ein Hardreset machen.



    Ich hab alles so gemacht, wie du es beschrieben hast.


    Vielleicht liegts daran, dass ich vorher das xmltv Plugin drauf hatte. Keine Ahnung.

  • Nein ist nicht normal.
    Wie gesagt,fang am besten nochmal an und mach alles sauber und schritt für schritt.
    epg.dat löschen und alles nochmal ausführen.
    Ich kann ja nur probleme nachvollziehen,die ich reproduzieren kann ... und wie gesagt hier läuft das alles problemlos.


    Ps.Das ist auch alles keiner hexerei.Das sind alles simpelste befehle und und abläufe.
    Man kann ja genau nachvollziehen,was wann gemacht wird.

    Einmal editiert, zuletzt von sin ()

  • Welche crossepg Version benutzt du denn?

  • Das ist schonmal ne andere, als die sich auf dem feed befindet.


    Ich hab jetzt keine Zeit mehr zum Testen. Ich probiers morgen nochmal.


    Wenns bei dir klappt, dann müßte es ja auch bei mir gehen.


    Danke und grüße

  • In deinem crash sind mir übrigens nen paar sachen aufgefallen.


    Erstens warum lädst du den german epg über crossepg?
    Der hat doch ohnehin 7 tage epg.
    [CrossEPG_Wrapper] -> DOWNLOAD rytec_germany_austria_swiss_xmltv
    Dadurch,werden die daten dann doppelt angezeigt,wenn man den normalen epg dann ein gelesen hat.
    Sage nicht das dass die lösung sein könnte,aber es könnte ein grund für dein epg problem sein.


    ...und OT on:
    Dann hast du nen dflash backup gemacht,bei dem auf der /hdd ein swap angelegt wurde.
    Gehe also davon aus das du ansonsten kein swap file nutzt.
    Das würde ich auch mal ändern.


    Dann hast du scheinbar nach dem dflash backup auch keinen restart ausgeführt.Das heißt das der backup prozess deinen ganzen ram aufgefressen hat und du danach die box normal weiter nutzen willst.
    Das kann auch leicht zu problemen führen,oder zumindest die box sehr langsam machen.


    Davon ab hast du da auch ne menge plugins installiert,die du unmöglich alle brauchen kannst.
    Z.b. sherlock und merlin info(die beide das gleiche tun).
    Und noch nen paar andere sachen die du auf der 7020hd z.b. garnicht gebrauchen kannst.
    Ich würde da echt mal nen bischen aufräumen.
    Dein settings file will ich lieber garnicht erst sehen.:D


    OT off.

    3 Mal editiert, zuletzt von sin ()

  • Alles richtig! :winking_face:


    Eigentlich lösche ich doppeltes meistens, aber ich hatte keine Lust merlin info runterzuschmeissen. Ich hab auch den Dreamexplorer drauf obwohl ich den Gemini Dateimanager auch hab :winking_face: Soviel Speicherplatz verführt halt :)


    Ich bin halt "pluginsüchtig"! Gibts da ne Therapie??? :tongue:


    Alle anderen Tipps werde ich beim nächsten Flashen gerne berücksichtigen! :winking_face: