EPG Speicherverzeichnis
-
- Interessierter
- Beiträge: 42
- Registriert: Montag 13. November 2006, 08:48
EPG Speicherverzeichnis
Hi,
Ich bräuchte mal Eure Hilfe.
Ich möchte die EPG Daten auf CF-Card welche am ide-Inteface hängt speichern. Das geht auch soweit. Nur geht die Box dann nicht mehr oder nur nach Ewigkeiten aus. Das ist wohl so weil die EPG-Daten erst geschrieben werden.
Nur was mich wundert: Wenn ich den sectionsd vorher kille (killall sectionsd und mit ps kontrolliert - weg)
dauert es auch solange! Was verstehe ich denn hier nicht.
gruss w.
Ich bräuchte mal Eure Hilfe.
Ich möchte die EPG Daten auf CF-Card welche am ide-Inteface hängt speichern. Das geht auch soweit. Nur geht die Box dann nicht mehr oder nur nach Ewigkeiten aus. Das ist wohl so weil die EPG-Daten erst geschrieben werden.
Nur was mich wundert: Wenn ich den sectionsd vorher kille (killall sectionsd und mit ps kontrolliert - weg)
dauert es auch solange! Was verstehe ich denn hier nicht.
gruss w.
-
- Neugieriger
- Beiträge: 16
- Registriert: Donnerstag 5. Mai 2005, 00:21
-
- Interessierter
- Beiträge: 42
- Registriert: Montag 13. November 2006, 08:48
-
- Neugieriger
- Beiträge: 16
- Registriert: Donnerstag 5. Mai 2005, 00:21
Hallo,
es kann natuerlich an unterschiedlichen /etc/init.d-Dateien liegen
Ich baue mir (immer noch) jffs2-only Image und muss
ich die (neue) CVS-Vorgegebene init.d-Dateien anpassen
Mit originalen CVS und ergaenzten neutrino.conf hatte ich mal
epg-Dateien in flash-root - seitdem habe ich die Prueffung in
neutrino verschaerft auf mind. drei Zeichen (im Orginal steht
Path ungleich Null - damit ist auch "/" zulaessig).
Gruesse
dlubacz
es kann natuerlich an unterschiedlichen /etc/init.d-Dateien liegen
Ich baue mir (immer noch) jffs2-only Image und muss
ich die (neue) CVS-Vorgegebene init.d-Dateien anpassen
Mit originalen CVS und ergaenzten neutrino.conf hatte ich mal
epg-Dateien in flash-root - seitdem habe ich die Prueffung in
neutrino verschaerft auf mind. drei Zeichen (im Orginal steht
Path ungleich Null - damit ist auch "/" zulaessig).
Gruesse
dlubacz
-
- Interessierter
- Beiträge: 42
- Registriert: Montag 13. November 2006, 08:48
Hi,
ja mit der Prüfung, dass ist sicher sehr sinnvoll, hat aber wohl nichts mit dem Hänger zu tun.
Die start_neutrino erschließt sich mir nur zum Teil, ich weis da immer nicht was beim starten und was beim stoppen ausgeführt wir. Werde aber heute mal alle Einträge die was mit sectionsd zu tun haben auskommentieren.
Mal sehen was dabei passiert.
Ich habe mal im log geguckt, das steht dann folgendes:
[basicsocket] receive timed out.
[CBasicClient] receive failed: /tmp/sectionsd.sock
[neutrino] initialized everything
[basicsocket] receive timed out.
[CBasicClient] receive failed: /tmp/sectionsd.sock
[basicsocket] receive timed out.
[CBasicClient] receive failed: /tmp/sectionsd.sock
[basicsocket] receive timed out.
[CBasicClient] receive failed: /tmp/sectionsd.sock
[basicsocket] receive timed out.
[CBasicClient] receive failed: /tmp/sectionsd.sock
Was will mir das sagen?
Gruss w.
ja mit der Prüfung, dass ist sicher sehr sinnvoll, hat aber wohl nichts mit dem Hänger zu tun.
Die start_neutrino erschließt sich mir nur zum Teil, ich weis da immer nicht was beim starten und was beim stoppen ausgeführt wir. Werde aber heute mal alle Einträge die was mit sectionsd zu tun haben auskommentieren.
Mal sehen was dabei passiert.
Ich habe mal im log geguckt, das steht dann folgendes:
[basicsocket] receive timed out.
[CBasicClient] receive failed: /tmp/sectionsd.sock
[neutrino] initialized everything
[basicsocket] receive timed out.
[CBasicClient] receive failed: /tmp/sectionsd.sock
[basicsocket] receive timed out.
[CBasicClient] receive failed: /tmp/sectionsd.sock
[basicsocket] receive timed out.
[CBasicClient] receive failed: /tmp/sectionsd.sock
[basicsocket] receive timed out.
[CBasicClient] receive failed: /tmp/sectionsd.sock
Was will mir das sagen?
Gruss w.
-
- Interessierter
- Beiträge: 42
- Registriert: Montag 13. November 2006, 08:48
-
- Erleuchteter
- Beiträge: 760
- Registriert: Freitag 14. Januar 2005, 12:42
Ist mir auch schon aufgefallen.
Ich kille den sectionsd für die Aufnahme. Wenn er dann nach der Aufnahme nicht mehr gestartet werden kann hängt die Box beim runterfahren.
Ich denke mal Neutrino will der Sectionsd beim beenden noch was sagen. Der Sectionsd antwortet nicht und so wartet Neutrino ewig.
cu
usul
Ich kille den sectionsd für die Aufnahme. Wenn er dann nach der Aufnahme nicht mehr gestartet werden kann hängt die Box beim runterfahren.
Ich denke mal Neutrino will der Sectionsd beim beenden noch was sagen. Der Sectionsd antwortet nicht und so wartet Neutrino ewig.
cu
usul
-
- Neugieriger
- Beiträge: 16
- Registriert: Donnerstag 5. Mai 2005, 00:21
-
- Erleuchteter
- Beiträge: 760
- Registriert: Freitag 14. Januar 2005, 12:42
Das Problem ist, wenn die Sectionsd nicht rennt, dann wartet Neutrino sich tot.dlubacz hat geschrieben:@usul1: ueberpruefe, ob Dein EPG-Verzeichnis gesetzt ist
(Bem.: bei auch "/" ist es schon gesetzt ). In neutrino.cpp
steht: wenn EPG-Verzeichnis gesetzt, dann sichere EPG-Daten von
sectionsd...
Läuft der Sectionsd dann fährt die Box ja sauber runter.
Und des EPG Speicherverzeichnis ist ja gesetzt. Denn es geht mir ja auch gerade um diese Funktion.
Wobei ich auf das speichern eh verzichten könnte, mir gehts nur ums lesen der EPG Daten.
cu
usul
-
- Neugieriger
- Beiträge: 16
- Registriert: Donnerstag 5. Mai 2005, 00:21
Hallo,
@usul1: beides mit bisherigen CVS wirst Du leider nicht haben
entweder zusammen neutrino mit sectionsd und EPG-Verzeichnis
oder
muss man auf etwas verzichten/aendern (sectionsd vor dem neutrino-
Stopp noch neustarten oder kleine Modifikation in neutrino.cpp: kein
sectionsd Prozess vorhanden - fuehre die if-Sicherungsbed. nicht aus).
Gruss
dlubacz
@usul1: beides mit bisherigen CVS wirst Du leider nicht haben
entweder zusammen neutrino mit sectionsd und EPG-Verzeichnis
oder
muss man auf etwas verzichten/aendern (sectionsd vor dem neutrino-
Stopp noch neustarten oder kleine Modifikation in neutrino.cpp: kein
sectionsd Prozess vorhanden - fuehre die if-Sicherungsbed. nicht aus).
Gruss
dlubacz
Alway a beginer..
-
- Erleuchteter
- Beiträge: 760
- Registriert: Freitag 14. Januar 2005, 12:42
Jup, ist mir schon klar...dlubacz hat geschrieben: @usul1: beides mit bisherigen CVS wirst Du leider nicht haben
...trotzdem kann man den Bug hier mal erwähnen (bestätigen).dlubacz hat geschrieben:oder kleine Modifikation in neutrino.cpp: kein
sectionsd Prozess vorhanden - fuehre die if-Sicherungsbed. nicht aus).
Und ich denke mal "sich totzuwarten" wenn der Sectionsd nicht reagiert ist ein Bug.
Die Box sollte runterfahren, auch wenn ein Programm abgestürzt ist. Denn sind wir mal ehrlich, abstürzende Programme sind auf der Box der Normalfall ;-)
cu
usul
-
- Interessierter
- Beiträge: 42
- Registriert: Montag 13. November 2006, 08:48
Hi,
ja das sehe ich auch so : BUG
Ist aber wohl in allen mir bekannten Images so.
Was dann aber noch unklar ist: Wenn der sectionsd seine Daten schreibt und das geht nicht schnell genug, fährt Neutrino auch nicht mehr runter sondern versucht neu zu starten.
Wenn man einmal an der Stelle was ändert, könnte man dann nicht die Daten vom sectionsd ganz anders behandeln?
Dh. immer mal schreiben und beim Runterfahren nur noch aktualisieren?
Oder beim herunterfahren garnicht mehr schreiben (abschaltbar)?
Gruss w.
ja das sehe ich auch so : BUG
Ist aber wohl in allen mir bekannten Images so.
Was dann aber noch unklar ist: Wenn der sectionsd seine Daten schreibt und das geht nicht schnell genug, fährt Neutrino auch nicht mehr runter sondern versucht neu zu starten.
Wenn man einmal an der Stelle was ändert, könnte man dann nicht die Daten vom sectionsd ganz anders behandeln?
Dh. immer mal schreiben und beim Runterfahren nur noch aktualisieren?
Oder beim herunterfahren garnicht mehr schreiben (abschaltbar)?
Gruss w.
-
- Erleuchteter
- Beiträge: 760
- Registriert: Freitag 14. Januar 2005, 12:42
Diese ganze "runterfahkonzept" von Neutrino scheint auch insgesamt sehr merkwürdig zu sein.west hat geschrieben:Was dann aber noch unklar ist: Wenn der sectionsd seine Daten schreibt und das geht nicht schnell genug, fährt Neutrino auch nicht mehr runter sondern versucht neu zu starten.
Der Normalfall wäre doch: Irgendein Programm schchickt an den Kernel das "fahre runter" Signal.
Der Kernel schickt allen Programmen das "beende dich" Signal.
Und wenn alle Programme sich dann beendet haben (oder nach xx Minuten nicht reagiert haben) dann fährt der Kernel das System runter.
So geht jedenfalls unter Windows. Und das funktioniert klasse.
Und ich verstehe überhaupt nicht warum das runterfahren des Linux auf der Box immer solche Probleme bereitet (Mein Linux auf dem PC fährt auch ohne solche Probleme runter).
Man kann das speichern der EPG Daten im Sectionsd generell deaktivieren indem man das Binary Patcht (Wenn man, so wie ich, selber nicht kompelieren kann).west hat geschrieben:Oder beim herunterfahren garnicht mehr schreiben (abschaltbar)?
http://forum.tuxbox-cvs.sourceforge.net ... &start=180
Das bringt aber nur was wenn du durch die "EPG Laden" Funktion das EPG durch eigene Daten erweitern willst.
cu
usul
-
- Neugieriger
- Beiträge: 16
- Registriert: Donnerstag 5. Mai 2005, 00:21
.. oder fuer die, die selbst kompilieren:
neutrino.cpp (Zeile 5048):
einfach die if-Bed. als false niemals zu ausfuehren ;-)
.. oder loeschen und nur else-Teil lassen ...
Gruss
dlubacz
neutrino.cpp (Zeile 5048):
Code: Alles auswählen
if (g_settings.epg_dir.length() != 0) {
waitforshutdown = true;
AudioMute(true);
g_Sectionsd->writeSI2XML(g_settings.epg_dir.c_str());
}
.. oder loeschen und nur else-Teil lassen ...
Gruss
dlubacz
Alway a beginer..
-
- Interessierter
- Beiträge: 42
- Registriert: Montag 13. November 2006, 08:48
Hi,
so die Lösung ist das alles noch nicht oder?
Kann man im laufenden Betrieb den sectionsd dazu veranlassen seine Daten zu schreiben, in das angegebene Verzeichnis? Oder macht der das ohnehin in gewissen Abständen?
Ich habe folgenden Gedanken:
Wärend Neutrino startet schreibt man per Script das Speicherverzeichnis in die neutrino.conf. Vor dem beenden von Neutrino wird per Script der Eintrag wieder auf "" gesetzt. Dann geht das runterfahren wieder schnell und die Daten sind trotz dem noch da.
Geht das ?
Wegen des dauernden schreibens in den Flash könnte man die neutrino.conf ja mit ins gemountete share schieben und dann verlinken (bei mir eben CF-Card)
Grübel - Gruss w.
so die Lösung ist das alles noch nicht oder?
Kann man im laufenden Betrieb den sectionsd dazu veranlassen seine Daten zu schreiben, in das angegebene Verzeichnis? Oder macht der das ohnehin in gewissen Abständen?
Ich habe folgenden Gedanken:
Wärend Neutrino startet schreibt man per Script das Speicherverzeichnis in die neutrino.conf. Vor dem beenden von Neutrino wird per Script der Eintrag wieder auf "" gesetzt. Dann geht das runterfahren wieder schnell und die Daten sind trotz dem noch da.
Geht das ?
Wegen des dauernden schreibens in den Flash könnte man die neutrino.conf ja mit ins gemountete share schieben und dann verlinken (bei mir eben CF-Card)
Grübel - Gruss w.
-
- Erleuchteter
- Beiträge: 760
- Registriert: Freitag 14. Januar 2005, 12:42
Ja, allerdings brauchts dazu ein kleines Programm was die Funktion "Schreibe EPG Daten" des sectiosd aufruft.west hat geschrieben:Kann man im laufenden Betrieb den sectionsd dazu veranlassen seine Daten zu schreiben, in das angegebene Verzeichnis?
Und das gibts AFAIK leider nicht.
Der sectionsd macht da garnichts.west hat geschrieben:Oder macht der das ohnehin in gewissen Abständen?
Neutrino ruft beim Start die Funktion "Lade EPG Daten" des sectionsd auf.
Und beim beenden ruft Neutrino die Funktion "Speichere EPG Daten" des sectiosd auf.
Der sectiosd speicherd oder läd da von alleine nichts. Er bietet nur Funktionen dafür an die von anden Programmen genutzt werden können um den sectiosd dazu zu veranlassen das zu tun.
Nein (Neutrino bekommt die Änderungen in der Config nicht mit), aber wenn du das willst (nur laden und nicht speichern), dann patche den sectiosd wie von mir vorgeschlagen.west hat geschrieben:Ich habe folgenden Gedanken:
Wärend Neutrino startet schreibt man per Script das Speicherverzeichnis in die neutrino.conf. Vor dem beenden von Neutrino wird per Script der Eintrag wieder auf "" gesetzt. Dann geht das runterfahren wieder schnell und die Daten sind trotz dem noch da.
Geht das ?
Das geht einfach und funktioniert.
cu
usul
-
- Developer
- Beiträge: 2183
- Registriert: Mittwoch 10. Dezember 2003, 07:59
-
- Interessierter
- Beiträge: 42
- Registriert: Montag 13. November 2006, 08:48
-
- Erleuchteter
- Beiträge: 760
- Registriert: Freitag 14. Januar 2005, 12:42
Nein, du must dem sectiosd das über ein Socked (?) mitteilen.west hat geschrieben:Geht das evtl. als Parameter?
Und dazu brauchst du ein Programm das das tut.
Nun, du fragtest wie man das speichern abschalten kann. Dann bleibt nur lesen über ;-)west hat geschrieben:Nur lesen nützt mir auch nicht,
Wenn du aber auch speichern willst dann ist der Patch nix für dich.
Dann sehe ich auch keine Möglichkeit wie du das tun könntest ohne mit dem Programmieren anzufangen.
cu
usul
-
- Developer
- Beiträge: 2183
- Registriert: Mittwoch 10. Dezember 2003, 07:59
-
- Erleuchteter
- Beiträge: 760
- Registriert: Freitag 14. Januar 2005, 12:42
Was bedeutet das denn (So für mich als Anwender)?Houdini hat geschrieben:ist jetzt im sectionsdcontrol verfügbar
Ich dachte spontan (als du es erwähnt hast) das sectionsdcontrol ein Teil von Neutrino ist (wo die sectionsd Komunikation gekapselt ist).
Oder ist es ein eigenständiges Programm was es bloß nie in die Images geschaft hat?
Edit: OK, gefunden. http://cvs.tuxbox-cvs.sourceforge.net/c ... iew=markup
Könntest du mal bitte das kompelierte irgendwo hochladen?
Und wäre es möglich sowas noch einzubauen?
Code: Alles auswählen
printf(" sectionsdcontrol --freemem free Memory\n");
Code: Alles auswählen
else if (!strcmp(argv[i], "--freemem"))
{
printf("freeMemory\n");
client.freeMemory();
}
Das wäre toll. Dann bräuchte man den sectionsd nicht mehr für die Aufnahmem zu killen (Aufnahmen mit aktiven sectionsd laufen bei mir nicht wegen "speicher zu voll").
cu
usul
-
- Tuxboxer
- Beiträge: 2331
- Registriert: Donnerstag 24. März 2005, 21:52
-
- Neugieriger
- Beiträge: 16
- Registriert: Donnerstag 5. Mai 2005, 00:21
Hallo,
ich versuche die vorherige Idee/Vorschlag zu umranden:
- in neutrino.cpp die Zeile
um Daemontest zu erweitern (sectiond manuell "gekillt" => Neutrino bei heruterfahren haengt).
Eine neue Frage: koennte das Schreiben von EPG nicht bescheunigt
werden? Es dauert z.Z. eine Weile ..
Gruss
dlubacz
ich versuche die vorherige Idee/Vorschlag zu umranden:
- in neutrino.cpp die Zeile
Code: Alles auswählen
if (g_settings.epg_dir.length() != 0) {
Eine neue Frage: koennte das Schreiben von EPG nicht bescheunigt
werden? Es dauert z.Z. eine Weile ..
Gruss
dlubacz
Alway a beginer..
-
- Erleuchteter
- Beiträge: 760
- Registriert: Freitag 14. Januar 2005, 12:42
Stimmt natürlich. Aber wenn dann evtl. mal irgendjemand irgendwann das freemen so erweitert das now&next drinbleibt (Das war hier ja auchschonmal im Gespräch) hätte man dann sogar wieder den Filmtitel im Dateinamenmb405 hat geschrieben:freemem ist aber fast das selbe wie wenn du den killst.
Fast? eigentlich sollte es dann doch komplett weg sein.mb405 hat geschrieben:bei mir ist danach fast aller epg weg.
Man müsste dazu erstmal rausfinden WAS da solange dauert.dlubacz hat geschrieben:Eine neue Frage: koennte das Schreiben von EPG nicht bescheunigt
werden? Es dauert z.Z. eine Weile ..
Die Idee, auf das XML Format beim speichern zu verzichten, wurde hier schonmal diskutiert.
Allerding ist noch nicht klar ob das "ins XML Format konvertieren" für die Geschwindigkeit verantwortlich ist.
cu
usul
-
- Developer
- Beiträge: 2183
- Registriert: Mittwoch 10. Dezember 2003, 07:59
schaut mal obs da mit drin ist:
http://www.in-tostedt.de/in-norddeutsch ... gma_LCars&
http://www.in-tostedt.de/in-norddeutsch ... gma_LCars&