EPG-Auslagerung

Aus open7x0.org

(Weitergeleitet von EPG Auslagerung)
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis


Speicherort auf der Box

Flash-RAM

Die Wavebox erwartet das EPG im Verzeichnis /data/SI, welches im Flash-RAM liegt (Lemmi-Modus 'standard'). Durch den Standort Flash-RAM bleibt das EPG auch nach dem Ausschalten der Box erhalten. Allerdings gibt es auch einige mehr oder weniger große Nachteile:

  • Durch das ewige Schreiben der EPG-Daten wird das Flash-RAM fragmentiert, welches sich durch eine träge Bedienung bemerkbar macht.
  • Der Verschleiß des Flash-RAMs wird erhöht.
  • Das Flash-RAM hat eine begrenzte Kapazität. Das EPG von 24 Sendern scheint problemlos zu funktionieren. Allerdings wächst das EPG mit weiteren Sendern und auch durch erweiterte Informationen durch die bestehenden Sender. Und je voller das EPG wird um so höher ist die Fragmentierung, der Verschleiß und die CPU-Auslastung.
  • Nach einem Update sind alle EPG-Informationen verloren und müssen neu gesammelt werden. Ein solchens Update wirkt allerdings auch wie eine Defragmentierung.

RAM-Disk

Die erste Alternative für die Speicherung des EPGs ist die RAM-Disk (Verzeichnis /var, Lemmi-Modus 'ramdisk')). Der Wavebox teilt man den neuen Speicherort einfach durch einen Softlink mit.

Allerdings verliert die RAM-Disk ihre Informationen beim Ausschalten. Daher sollten vor dem Wavebox-Start die EPG-Daten in RAM-Disk kopiert werden und nach dem Wavebox-Ende wieder zurückkopiert werden. Findet der Austasuch mit dem Flash-RAM statt, dann wird dieser entlastet, aber die Fragmentierung und die anderen Nebeneffekte werden nur verlangsamt.

Der Speicherort RAM-Disk hat aber auch noch einen weiteren Nachteil: Er belegt Hauptspeicher. In Dortmund sind dieses bei 23 Sendern im Moment knapp 3 MB, die evtl anderen Programmen fehlen

Netzwerk

Eine weitere Alternative ist die Auslagerung ins Netzwerk. Über einen Parameter wird ein Verzeichnis angegeben, in dem das EPG liegt. Und hier hat man zwei prinzipielle Möglichkeiten:

  1. Die EPG-Datem auf der Netzwerkfreigabe belassen und dort nutzen.
  2. Die EPG-Daten in die RAM-Disk kopieren.

Die EPG-Daten können auf der Netzwerkfreigabe belassen werden (Lemmi-Modus 'extern' ). Dieses schont Flash-RAM und Hauptspeicher. Allerdings erhöht es auch den Auslastung des sowieso knappen Netzwerkdurchsatzes. Und dann gibt es noch Probleme auf SMB-Freigaben: Die Dateien mit den Zusatzinformationen können nicht gespeichert werden; offensichtlich benötigt die Wavebox ein Linux-Dateisystem wie ext2 oder NFS. Dieses Problem kann man aber umgehen, indem man ein ext2-Image anlegt (Lemmi-Modus 'e2image' ). Dieses geschieht, indem eine Datei anlegt und diese dann wie eine ext2-Partition gemountet wird.

Die zweite Alternative arbeitet ähnlich wie die RAM-Disk-Lösung, nur dass die Daten nicht ins Flash-RAM, sondern auf die Netzwerkfreigabe kopiert werden (Lemmi-Modus 'copy' ).

USB-Gerät

Die Auslagerung auf einem USB-Gerät funktioniert ähnlich wie im Netzwerk (Lemmi-Modi 'cop', 'extern' und 'e2image'). Aber auch hier gibt es in den letzten bedein Modi Probleme mit einem Dateisystem, nämlich mit VFAT.

Allerdings kann hier nicht einfach auf ein ext2-Image ausweichen. Die wavebox erwartet, dass die beiden USB-Geräte USB-1 und USB-2 nicht gemounted sind. Wird aber ein ext2-Image verwendet, dann muss das Gastgeber-Dateisystem selbst gemounted sein. Alternativen bieten die beiden USB-Laufwerke USB-3 und USB-4, eine Erweiterung der Lemmis Firmware.

Auslagerungs-Modi in Lemmis Firmware

Die EPG-Auslagerung wird in der Datei /var/etc/lemmi-settings.txt durch die beiden Parameter LEMMI_WB_EPG_MODE und LEMMI_WB_EPG_PATH definiert.

Geschichte

Die EPG-Auslagerung kann man in drei große Schritte einteilen.

  1. EPG-Auslagerungen 'ramdisk' und später 'extern' und 'e2image' in Lemmis Firmware
  2. EPG-Auslagerungen 'ramdisk' und 'copy' (nur für USB) in der Siemens Original Firmware.
  3. Neuimplementierung der EPG-Auslagerungen 'ramdisk' und später von 'extern' und 'e2image' nach der vollen Wavebox-Kontrolle im Zusammenhang mit dem Dualen Betrieb.

Erste Schritte in Lemmis Firmware

Angefangen hat alle mit der EPG-Auslagerung in die RAM-Disk. Auslöser war die Fragmentierung des Flash-RAMs.

Irgendwann folgten dann die Auslagerungen 'extern' und 'e2image'. Diese wurden mit Dirty Tricks und Austausch der Programme mount, umount und update_flash realisiert, um den richtigen Zeitpunkt für die Auslagerung zu finden. Und dieses brachte einige Probleme mit sich, u.a. gab es USB-Platten, die sich nicht mehr abameldenließen.

Der Modus 'copy' scheiterte dran, dass die Wavebox selbst die Box herunterfuhr und damit die Daten nicht zuückkopiert werden konnten.

Siemens Original Firmware

Siemens übernahm die die Idee 'ramdisk' ersmalig in Firmware 2.2.24. Die Implementierung war aber stümperhaft und funktionierte nicht, was man nach 10 Minuten Beobachtung der Wavebox erkennen konnte. Mit der Firmware 2.3.15 funktionierte endlich auch die Siemesn EPG-Auslagerung. nbeben dem modus 'ramdisk' wurde auch der Modus 'copy' implementiert, die alllerdings nur eine USB-Platte als Speicherort zuläßt.

Aktuell in Lemmis Firmware

Ab September 2006 unterstützt lemmis Firmware den Dualen Betrieb. Seitdem erfolgt ein volle Kontrolle der Wavebox, bei der auch der automatische Shutdown verhindert wird.

Und diese volle Kontrolle ermöglicht eine saubere klare Implementierung aller genannten Modi. Es gibt allerdings eine Einschränkung: Der Modus 'e2image ' funktioniert nicht auf den USB-Geräten USB-1 und USB-2.

Links zum Thema »Lemmis Firmware« 

Persönliche Werkzeuge