Firmware 2.01.00.lemmi
Aus open7x0.org
Einleitung
Lemmi hat die Original Firmware 2.1 von Siemens für das Gerät Gigaset M740 AV und mit ein paar Erweiterungen versehen. Diese Erweiterungen sind u.a. ein Telnet-Zugang, ein FTP-Server und einige Hooks, die Programmierer für eigene Erweiterungen nutzen können.
Updates
Diese neue Firmware läßt sich von den original FW vor 1.29.5 und von allen Lemmi-Versionen einspielen. Wer bereits FW 2.1 oder eine anderes Original ab Version 1.29.5 installiert hat, der muß einen Reset durchführen und hat dann die Wahl der neuen Firmware.
Aus dieser Firmware Version heraus lassen sich alle bekannten Versionen einspielen.
Der Artikel »Firmware Update« beschäftigt sich noch detailierter mit diesem Thema.
Warnung
Besondere Eigenschaften
Telnet Zugang
In der Firmware ist Telnet mit den folgenden root-Zugängen freigeschaltet.
| Benutzer Kennwort | uid gid | home bash-profile | Kurzinfo |
|---|---|---|---|
| root l1nux | 0 0 | /root /var/etc/.profile | Kennwort aus Firmware 1.12.1 übernommen |
| r (kein Kennwort) | 0 0 | /root /var/etc/.profile | Alternative für 'root' vor FW 1.50.6.lemmi-04 war das Kennwort 'r'. |
| p (kein Kennwort) | 0 0 | /pc1/root /pc1/root/.profile | Alternative für 'root' erstmalig in FW 1.50.6.lemmi-04. |
| p[1-5] (5x, kein Kennwort) | 0 0 | /pc[1-5]/root /pc[1-5]/root/.profile | fünf Benutzer: 'p1' bis 'p5' Alternativen für 'root' erstmalig in FW 2.00.51.lemmi-02. |
| u (kein Kennwort) | 0 0 | /usb/root /usb/root/.profile | Alternative für 'root' erstmalig in FW 1.50.6.lemmi-04. |
| u[1-4] (kein Kennwort) | 0 0 | /usb[1-4]/root /usb[1-4]/root/.profile | vier Benutzer: 'u1' bis 'u4' Alternativen für 'root' erstmalig in FW 2.00.51.lemmi-02. |
FTP Server
In der Firmware ist ein FTP-Server integriert, der die folgenden realen und virtuellen Benutzer unterstützt:
| Benutzer | Kennwort | Basis-Verzeichnis | Kurzinfo |
|---|---|---|---|
| ftp | / | nur eingeschränkte Lese-Rechte | |
| root | root | / | |
| media | media | /var/media | |
| usb | usb | /var/media/USB-HDD | |
| usb1 | usb1 | /var/media/USB-HDD-1 | erstmalig in FW 2.00.43.lemmi-02 |
| usb2 | usb2 | /var/media/USB-HDD-2 | erstmalig in FW 2.00.43.lemmi-02 |
| epg | epg | /data/SI | |
| timer | timer | /data/.timer | |
| skin2 | skin2 | /data/skin2 |
Der Benutzer 'ftp' ist ohne Kennwort und hat nur eingeschränkte Rechte. Er sollte daher ausschließlich zum Lesen von Daten verwendet werden.
Zusätzliches Logging
Um zusätzliche Logging-Möglichkeiten zu bieten habe ich das Programm stdin2tcp geschrieben. Damit ist es möglich, Log-Streams der M740AV im Netzwerk via TCP abzufragen.
Die Aktivierung der Log-Streams wird über Einstellungen der Datei /var/etc/lemmi-settings.txt vorgenommen, in der die passenden Varioablen aus 'yes' gesetzt werden müssen.
Ab 1.50.6.lemmi-02 werden fünf Streams unterstützt:
| Variable | TCP Port | Beschreibung |
|---|---|---|
| LEMMI_LOG_WAVEBOX | 12001 | Die Ausgabe (stdout und stderr) des Programmes wavebox. |
| LEMMI_LOG_KMSG | 12002 | Die Kernel-Meldungen aus der Datei /proc/kmsg |
| LEMMI_LOG_RECLOG | 12003 | Die Ausgabe auf die Datei /data/RECORDER_LOG |
| LEMMI_LOG_TIMER | 12004 | Die Ausgabe von 'watchdir -m /data/.timer' |
| LEMMI_KEYCONTROL_ENABLED | 12005 | Die Debug.Ausgabe von 'key-control' |
Weitere Features
- Es existieren 7 Hooks um eigene Erweiterungen zu ermöglichen. Dieses Hooks sind:
- Das Tool osd2tcp ermöglicht die Anzeige der OSD-Ausgabe (Grafik) über das Netzwerk (Port 10101).
- Aktivierung: siehe lemmi-settings.txt, »Das Tool 'osd2tcp'«
- Das Tool key-control überwacht die Kommandos der Fernbedienung und ergänzt neue Befehle, um den Komfort zu verbessern. Es unterstützt auch selbst erzeugte Macros.
- Aktivierung: siehe lemmi-settings.txt, »Das Tool 'key-control'«
Weitere Features und Details sind in der zum Paket gehörenden Datei 'info.txt' beschrieben.
Geschichte
2.01.0.lemmi-01 (2005-12-20 21:41)
- Die Firmware basiert auf dem Original 2.01.0 von Siemens, wobei das Update-Verhalten von Firmware 1.18 übernommen wurde.
- Der Siemens-FTP Server wurde entfernt und stattdessen der alt bewährte pure-ftpd eingebaut. Der pure-ftpd unterstützt auch Dateien >2GB. Die folgenden FTP-Benutzer sind verfügbar: 'root', 'media', 'usb', 'usb1', 'usb2', 'epg', 'timer', 'skin2'. Das Kennwort ist jeweils identisch mit dem Benutzernamen.
- Für telnet existieren die root-Benutzer 'root', 'r', 'p', 'p1' bis 'p5', 'u', 'u1' und 'u2'. Die letzten drei haben kein Kennwort und unterscheiden sich in ihrem Login-Verzeichnis (/root, /pc#/root und /usb#/root).
- Beim Login werden die beiden Verzeichnisse /pc#/bin und /usb#/bin in den Pfad (PATH) aufgenommen, sofern die existieren.
- Es ist ein modifizierter lircd daemon enthalten, mit dem Fernbedienungsbefehle über das Netzwerk simuliert werden können.
- Die Programme und Bibliotheken aus /bin, /usr/bin, /usr/lib und /lib/modules/2.4.21-xfs wurden durch den strip-Befehl verkleinert. Hierdurch existiert mehr Platz im Flash-RAM.
- Das Linux-Grundsystem enthält nun die busybox Version 1.01 (voher 0.43). busybox ist eine Unix-Tool-Sammlung um viele Kommandos, die beim Compilieren ausgewählt werden, platzsparend zu installieren. Durch die neue Version konnten verschiedene Vollversionen (z.B. tar und inetd) eingespart werden. Daher war auch genug Platz, um weitere Programme in busybox einzubinden. Dieses sind u.a. sed, awk und httpd.
- Es ist nun ein Web-Server (busybox sei dank) integriert, der via lemmi-settings.txt konfiguriert werden kann.</p>
Der Aufruf: http://m740av/ (lokalen DNS-Namen oder IP für die Box verwenden)
Der interne Web-Server unterstützt nur statische Seiten und CGI-Programme. PHP und PERL werden nicht unterstützt. Mit dem Kommando 'set-www' kann der Dokumenten-Pfad des Web-Servers auch zur Laufzeit eingestellt werden.
- Durch die selbsterklärende Datei /var/etc/lemmi-settings.txt können jetzt die Boot-Aktionen eingestellt werden. Die Datei darf auch im DOS/Windows- Format (CR LF) vorliegen. Mit dieser Datei können auch explizit Timer und EPG Daten geöscht werden.
- Beim ersten Boot-Vorgang nach einem Update wird das System mit den Standard-Einstellungen gestartet und alle Hooks ignoriert. Damit bootet das System mindestens einmal sauber.
- Beim Boot-Vorgang wird die Datei /data/RECORDER_LOG auf 1000 Zeilen gekürzt.
- Die letzten 200 Zeilen der Bash-History werden dauerhaft gespeichert.
- Durch die Einstellungen in der neuen Datei /root/.inputrc sind auf bash-Ebene Umlaute und andere Sonderzeichen verfügbar. Für die anderen Benutzer (z.B. 'u' und 'p') muß die Datei in deren Login-Verzeichnis kopiert werden.
- Via TCP-Port 12000 können Informationen zur Firmware-Version und über die Boot-Optionen abgefragt werden. Genaugenommen wird der Inhalt der Datei /var/log/lemmi-setup.log angezeigt, der eine Liste alle LEMMI_* Variablen enthält. Diese Funktion ist über inetd realisiert.
- Die EPG-Daten können auf die USB-Platte, ins Netz oder auf die Ram-Disk ausgelagert werden. Die Einstellungen werden in lemmi-settings.txt vorgenommen.
- Die PID der wavebox wird in /var/run/wavebox.pid abgelegt.
- Das Programm stdin2tcp wurde hinzugefügt. Es leitet die Standardeingabe an alle angemeldeten Clients weiter. Damit ist ein Kontrolle diverser Streams über das Netzwerk möglich. U.a. ist die Ausgabe der wavebox an TCP-Port 12001 und die Ausgabe von /proc/kmsg an die TCP-Port 12002 verfügbar.
- Die extra für die Box entwickelten Tools 'watchdir', 'osd2tcp', 'key-control' und txt2osd wurden in die Firmware integriert.
2.01.0.lemmi-02 (2006-01-10 23:21)
- Die busybox wurde neu übersetzt. Sie enthält jetzt zusätzlich crond und das Modul BASIC_AUTH für httpd.
- Der bash-Prompt PS1 wird jetzt so gesetzt, dass User, Host und aktuelles Verzeichnis angezeigt werden.
- Die EPG-RamDisk-Version kopiert nun die EPG-Daten von Flash ins Ram und umgekehrt mittels 'cp' und ohne 'tar'.
- txt2osd ist in Version 0.05 dabei. Durch die Einstellung LEMMI_TXT2OSD_ENABLED kann txt2osd im Server-Modus (Port 10102) gestartet werden.
- Durch die Einstellung LEMMI_START_CROND wird 'crond' gestartet. Die Konfigurationsdatei wird via /var/etc/root.crontab gesichert.
2.01.0.lemmi-03 (2006-01-26 17:06)
- txt2osd ist in Version 0.06 dabei. key-control ist in Version 12 dabei.
- Es gibt ein Boot-Menu, mit dem eigene Start-Optionen als Script implementiert werden können. Die Aktivierung erfolgt via lemmi-settings.txt.
- Nach dem Setup des Dateisystems und dem Laden es Verzeichnisses /var/etc aus dem Flash wird die Existenz von '/var/etc/rc.alternate' überprüft. Existiert diese Datei, dann wird '/var/etc/rc.alternate' anstatt des restlichen '/etc/rc' Scriptes ausgeführt. Damit kann man sich ein eigenes Boot-System aufbauen.
Dieses neue /var/etc/rc.alternate ersetzt das vorherige /var/etc/alternate-rc und ermöglicht einen frühzeitigen Eingriff in das Boot-System.
- Durch einen kleinen Trick kann man nun die wavebox zwingen, ein NFS-Share anstatt einem SMB-Share zu mounten. Details folgen später.
2.01.0.lemmi-04 (2006-02-24 16:06)
- Beim ersten Boot nach einer Neuinstallation einer Vollversion erscheint das Boot-Menu zwangsläufig.
- Bei deaktivierten Boot-Menu erscheint am unteren Bildschirmrand eine Aufforderung. Hier hat man dann 3-5 Sekunden Zeit, die Menu-Taste zu betätigen, um das Boot-Menu zu aktivieren.
- Durch das Drücken der roten Taste während der Anzeige des Boot-Menüs kann ein weiteres Menü aktiviert werden, indem sich einige Einstellungen ändern lassen. Dieses ist insbesondere für Nutzer ohne Netzwerk gedacht. Die Veränderungen sind erst nach dem nächsten Boot-Vorgang aktiv.
- Durch den Parameter LEMMI_START_WATCH_WAVEBOX kann ein watchdog gestartet werden, der den wavebox-Prozess ueberwacht. Es wird ein reboot ausgelöst sobald die Anzahl der wavebox-Threads auf unter 10 sinkt. Die Aktionen des watchdog werden in den Dateien /data/RECORDER_LOG und /data/lemmis-watchdog.log geloggt.
- key-control ist in Version 13 dabei. Es erfolgte jedoch ein kleine Anpassung, so dass es auch im Verzeichnis /usr/bin läuft.
- Der NFS-Hack wurde erweitert: Lautet bei einer Netzwerkverbindung der Benutzername, das Kennwort oder die Arbeitsgruppe 'LemmiNFS' (Großschreibung beachten), dann wird die Netzwerkverbindung über NFS und nicht über SMB aufgebaut. Benutzername, Kennwort und Arbeitsgruppe werden dann beim mount ignoriert.
- Es gibt einen neuen Hook: /var/etc/rc.pre-menu. Das Script wird, falls vorhanden, vor dem Boot-Menu aufgerufen. Als Parameter $1 wird der Wert aus LEMMI_BOOTMENU_ENABLED übergeben, also 'yes', falls Boot-Menü aktiviert ist und 'no' falls nicht.
- Die Auslagerung des EPG wurde komplett neu gestaltet. Es ist nun auch möglich, ein ext2-Image anzugeben. Dieses Image funktioniert auch unter FAT und SMB. Weitere Details und die Einstellungen sind in der Konfigurationsdatei /var/etc/lemmi-settings.txt beschrieben.
2.01.0.lemmi-05 (2006-03-03 22:17)
- Durch einen Editierfehler wurden in den Scripten 'halt' und 'reboot' die *backend-Prozesse nicht terminiert.
- Das Boot-Menu wurde überarbeitet und enthält nun auch Buttons für 'HALT' und 'REBOOT'. Es interagiert nun auch mit den Scripten /var/etc/rc.boot-* um den Menu-Text abzufragen. Auißerdem werden die LED gezielt angesteuert.
- Im Boot-Script /etc/rc wird die aktuelle Zeit aus dem PIC ausgelesen und als Systemzeit verwendet. Damit hat u.a. der VDR auch die richtige Zeit.
- In der Einstellung LEMMI_EPG_MODE=extern gingen die EPG-Daten verloren, wenn während einer laufenden Aufnahme der Bildschirm aktiviert wurde.
- Da Siemens nun die beiden RSA-Schlüssel-Paare veröffentlicht hat, ist diese Firmware Version auch mit beiden Schlüsseln ausgestattet. Daher wird diese Firmware von allen bisher bekannten Firmware-Versionen als Update akzeptiert. So ist der Umweg über den Reset nun nicht mehr nötig.
2.01.0.lemmi-06 (2006-03-18 02:54)
- Die Sonderbehandlung beim ersten Boot-Vorgang nach dem Aufspielen der Firmware existiert nicht mehr. Schließlich gibt es für Notfälle die Rettungs-Firmware, die alle Hooks ignoriert und zwangsweise ein spezielles Boot-Menu startet.
- Bei Boot-Vorgang wird die Datei /var/etc/settings.txt ausgelesen und der Video-Modus (fbas/svideo und 4:3/16:9) passend eingestellt.
2.01.0.lemmi-07 (2006-04-24 13:58)
- Die automatische Einstellung des Video-Moduses gemäß Box-Setup kann jetzt via lemmi-settings.txt und Boot-Menu aktiviert werden. Die 16:9 Umschaltung habe ich aber wieder deaktiviert, da sie anscheinend nicht funktioniert.
- Das Programm 'netdate' wurde integriert. Hierzu können in lemmi-settings.txt der Variable LEMMI_NETDATE_PARAM Time-Server zugewiesen werden. Ist dieses der Fall, dann wird die Zeit im Script /etc/rc.delayed synchronisiert, das 30 Sek. nach dem wavebox-Start aktiviert wird.
- Ich umount'e beim Shutdown die Shares (USB-HDD-1 und USB-HDD-2 sowie PC1 bis PC5) nun explizit in der Hoffung, dass die USB-Platten nun sauber freigegeben werden.
- Das Boot-Menu und das Einstellungs-Menu wurden optisch verkleinert, so dass sie nun auch auf einen 16:9-Bildschirm voll sichtbar sind.
- Das Sichern der Timer erfolgt nun vor dem Start der wavebox in die Ram-Disk. Nach dem Start der wavebox, wenn die diversen Freigaben (USB+LAN) gemounted sind, wird die Datei an den eigentlichen Speicherort verschoben. Im Dateinamen ist nun zusätzlich die Firmware-Version enthalten.
- twonky-media und twonky-music werden jetzt dierekt unterstützt. Hierzu muss die Twonky-Software in ein Verzeichnis freier Wahl entpackt werden und passende Einstellungen in lemmi-settings.txt vorgenommen werden. Die Einstellungen sind auch via 'Boot-Menu|Einstellungen|Diverses' möglich; dann sollte das Installationsverzeichnis 'twonky' lauten.
2.01.0.lemmi-08 (2006-04-26 16:52)
- Für die serielle Schnittstelle ttyS0 wird auch das Login-Programm getty gestartet.
- Durch einen kleinen Trick funktioniert nun eine NFS-Verbindung auch ohne SMB-Zwilling.
Vorgehen: Lautet bei einer Netzwerkverbindung der Benutzername, das Kennwort oder die Arbeitsgruppe 'LemmiNFS' (Großschreibung beachten), dann wird die Netzwerkverbindung über NFS und nicht über SMB aufgebaut. Benutzername, Kennwort und Arbeitsgruppe werden dann beim mount ignoriert.
2.01.0.lemmi-09 (2006-05-12 22:02)
- Die Erweiterungen dieser Firmware-Version sind identisch mit den Erweiterungen der Versionen 1.50.6.lemmi-07, 2.02.22.lemmi-03 und 2.02.24.lemmi-05.
- Um Netzwerk-Problemen aus dem Wege zu gehen, greift das Boot-Menu via '127.0.0.1' anstatt via 'localhost' auf lircd zu.
- Es wurde ein neues Device zugefügt: 'mknod /dev/fuse c 10 229'
- EXPERIMENTELL:
Im EPG-Modus 'E2IMAGE' kann man jetzt die Anzahl der e2images für das EPG zwischen 1 und 10 angeben. Diese Images werden zyklisch verwendet. Dazu wird bei jedem Neustart der Box der Inhalt des zuletzt verwendeten Images in das neue kopiert.
Hierdurch soll der Verschleiß von USB-Sticks gemindert werden, da immer andere Blöcke des Flash-Speichers verwendet werden.
2.01.0.lemmi-10 (2006-06-18 10:12)
- An Port 12101 können aktuelle Systemparameter und die Lemmi-Settings abgefragt werden. An Port 12102 können die Lemmi-Settings gesetzt werden, die dann beim nächsten Boot aktiv sind.
- Neue Version von pure-ftpd: V1.0.21
- Mit dem neuen Kommando 'mount.pc' können Netzwerkfreigaben über die Kommandozeile gemountet werden. Dabei werden die wavebox-Parameter aus /var/etc/settings.txt ausgewertet. Als Parameter wird '1' bis '5' oder 'all' erwartet.
- Die beiden Programme 'osd2tcp' und 'txt2osd' werden jetzt vor dem Boot-Menu anstatt nach dem Start der wavebox gestartet. Damit stehen sie während des Boot-Menus und damit u.a. auch für das VDR-Preview zur Verfügung.
- Die Kommandos 'reboot' und 'halt' können nun mit der Option -b bzw. --bootmenu aufgerufen werden. Damit wird nach dem Neustart auf jeden Fall das Bootmenu angezeigt, und zwar ohne automatischen Start der wavebox (kein count down).
2.01.0.lemmi-11 (2006-07-13 15:01)
- Das Kommando 'kill-wavebox' und damit auch die Kommandos 'reboot' und 'halt' unterdrücken jetzt Fehlermeldungen über nicht (mehr) existierende Prozesse.
- Das Kommando 'reboot --bootmenu' kann nun auch im Boot-Menu durch das Drücken der gelben Taste ausgeführt werden.
- Mit dem Script 'print-rafile' kann die Datei /data/RA_FILE formatiert und mit lesbaren Zeitangaben ausgegeben werden.
- Mit dem Script 'clean-rafile' können nicht mehr verwendete Einträge aus der Datei /data/RA_FILE entfernt werden, da sonst die Datei endlos anwachsen kann (RA_FILE-BUG). Die Ausgabe erfolgt auf stdout. 'clean-rafile' wird beim Systemstart mit den korrekten Parametern aufgerufen, wenn der Parameter 'LEMMI_CLEAN_RAFILE' aktiviert wird.
- Die Firmware hat dieselben Erweiterungen wie FW 2.02.24.lemmi-07.
2.01.0.lemmi-12 (2006-09-01 00:41)
- Einige Geräte unter /dev wurden bearbeitet (chmod,chown,chgrp). Das Device /dev/ptmx wurde angelegt. Das virtuelle Dateisystem /dev/pts wird gemounted.
- Dank der Bemühungen von eijk enthält die FW nun den ssh server+client 'dropbear'. Damit verbunden sind die beiden Kommandos 'scp' und 'ssh'. Der Start-Modus wird durch 'LEMMI_START_SSH_SERVER' eingestellt. Beim ersten Start der ssh-servers werden automatisch die beiden Host-Keys erzeugt, was einmalig eine Verlängerung des Systemstartes um ca. 15 Sekunden bedeutet.
- Telnet kann über die lemmi-settings deaktiviert werden.
- Das Verzeichnis /var/etc hat einen sehr eingeschränkten Speicherplatz. Da die Datei /var/etc/lemmi-settings.txt immer weiter anwächst habe ich die Dokumentation aus dieser Datei entfernt. Stattdessen existiert das Kommando print-lemmi-settings, welches die Dokumentation zusammen mit den aktuellen Einstellungen ausgibt. Diese Ausgabe steht auch am Port 12100 zur Verfügung.
- Das neue Script print-services zeigt die Sender der Box in der programmierten Reihenfolge und in menschlich lesbarer Form mit Kennung und Namen.
- Das Script mount.pc verarbeitet nun auch Verbindungen ohne Kennwort.
- Mit dem Parameter LEMMI_POWER_DELAY kann die Wirkung der POWER-Taste verzögert werden, um ein versehentliches Ausschalten zu erschweren.
- Das Modul nfs.o wurde gepatched um die nervigen Trace-Meldungen zu deaktivieren.
- Der kmsg-Log (Parameter LEMMI_LOG_KMSG) wird jetzt schon vor dem Boot-Menu aktiviert.
2.01.00.lemmi-13 (2006-09-15 16:01)
- Der Duale Betrieb ist implementiert.
- Die Einbindung des VDR wurde geändert. Diese Einbindung erfolgt über Einstellungen in lemmi-settings.txt. Dennoch kann die alte Methode verwendet werden. Allerdings sollte das Boot-Script von rc.boot-2 nach rc.boot-3 umbenannt werden, das Platz 2 jetzt für die interne VDR-Verwaltung reserviert ist.
- lircd wird jetzt immer im Listen-Mode gestartet.
- Bei einem Firmware-Update terminiert die Wavebox anders als normal. Dieses wurde irrtümlicherweise als Absturz erkannt, so dass das Boot-Menu aufgerufen wurde.
- Andreas Koch hat einige Kernel-Module neu übersetzt: nfs.o, lockd.o und sunrpc.o.
- Die Befehle 'reboot --bootmenu' und 'halt --bootmenu' funktionieren wieder.
2.01.00.lemmi-14 (2006-10-06 14:01)
- Die drei Firmware-Versionen 2.01.00.lemmi-14, 2.02.24.lemmi-10 und 2.03.15.lemmi-02 enthalten dieselben Lemmi-Erweiterungen. Sie unterscheiden sich im wesentlichen in der von Siemens gelieferten wavebox.
- Das Menu-System wurde überarbeitet. Es existieren nun 'Hauptmenu', 'Boot-Menu', 'Shutdown-Menu', 'Einstellungen' und das 'USB Check Menu'. Alle Menus wurden ein wenig umgestellt. Daher bitte erst neu orientieren, bevor man eine gewohnte Taste drückt.
- Das Menu 'Einstellungen' wurde komplett überarbeitet. Viele Lemmi-Einstellungen sind nun direkt nach dem Verlassen des Menüs aktiv.
- Die Einstellung LEMMI_BOOTMENU_WAIT wird jetzt wieder korrekt ausgewertet.
- Im Hauptmenu gibt es den Punkt 'Firmware installieren', der nach einigen Auswahl-Dialogen eine Installation unabhängig von der wavebox durchführt.
- Das Script /etc/rc.d/halt wurde komplett überarbeitet. Es enthält jetzt auch einen Timer, der dafür sorgt, dass die Box nach 5 Minuten Verweildauer im Script automatisch ausgeschaltet wird. Dieses ist wichtig für die wenigen Fälle, in denen sich die Box beim umount aufhängt.
- Außerdem habe ich ein paar Aufräumarbeiten, wie z.B. LOG-Dateien verkleinern, aus dem Boot-Script /etc/rc in das Shutdown-Script /etc/rc.d/halt verlegt. Damit wird der Boot ein wenig schneller. Die Zeitdauer beim Runterfahren ist nicht so kritisch.
- 'pic_control' wurde durch 'picctl' ersetzt.
- mp3shuffle wurde von H.Jochmann erweitert und liegt nun in Version V1.41 bei.
- Der Editor nano fehlt aus Platzgründen in dieser Firmware.
- Die Ports 12100, 12101 und 12102 funktionieren jetzt wieder wie gewünscht. Außerdem wird durch ein Lock-Mechanismus sichergestellt, dass konkurierende Abfragen sequenziell abgearbeitet werden.
- Wird nach einem manuellem Reboot die wavebox gestartet, dann wird der Bildschirm automatisch aktiviert.
- Diverse wavebox-spezifische Aktionen, wie Timer sichern oder EPG-Auslagerung, werden jetzt erst unmittelbar vor dem Wavebox-Start durchgeführt. Dieses beschleunigt auch den VDR-Start.
- Ich habe eine neue EPG-Auslagerung eingebaut: "LEMMI_EPG_MODE = copy".
Hierzu wird vor dem Wavebox-Start das EPG von USB oder aus dem Netz in die Ram-Disk kopiert und nach dem Beenden wieder zurückkopiert. Diese Art der Auslagerung ähnelt der neuen Siemens-Methode, nur dass der Speicherort in gewissen Grenzen frei gewählt werden kann. Dabei werden auch SMB-Shares und FAT-Devices unterstützt.
Der Pfad wird über den Parameter LEMMI_EPG_COPY_PATH angegeben. Dabei können auch Angaben relativ zum Aufnahmeverzeichnis angegeben werden, wie z.B. die Voreinstellung '/video/../epg'.
- Dieses könnte eine der letzten Versionen sein, die die EPG-Auslagerung 'EXTERN' bzw. 'E2IMAGE' verwenden. Beide Modi werden durch Dirty Tricks realisiert. Außerdem ist der Modus 'COPY' die bessere Alternative.
- Das Modul smbfs wird jetzt zusammen mit den anderen Modulen beim Boxstart geladen. Damit sollen Probleme bei Aufnahme auf SMB-Shares umgangen werden. Diese Probleme waren allerdings erst mit der Firmware 2.03.15 aufgefallen. Zusätzlich wird das Modul beim Beenden der wavebox nochmals geladen.
- Ich habe die USB-Verwaltung überarbeitet. Auf jedem der beiden USB-Gerät werden nun bis die ersten beiden Linux oder FAT Partitionen erkannt. Dabei ist es unerheblich, ob dieses primäre oder logische Partitionen sind. Folgerichtig gibt es nun die vier Geräte usb1 bis usb4, allerdings nicht aus der Sicht der wavebox.
Außerdem wird nun auch außerhalb der wavebox die Zuordnung der Geräte an den beiden USB-Anschlüssen erkannt.
- Das Progamm 'e2fsck' ist wieder an Bord. Damit es trotzt seiner Größe in die Firmware passt, wurde es mit bzip2 gepackt. Beim ersten Aufruf wird es automatisch nach /var/bin entpackt. Dieses war bisher fehlerhaft!
Sollte die wavebox nun einen Fehler feststellen und sich terminieren, dann wird automatisch 'e2fsck' oder 'dosfsck' aufgerufen.
Zusätzlich wurde ein 'USB Check Menu' eingerichtet, welches interaktiv über das 'Hauptmenu' erreicht wird.
2.01.00.lemmi-15 (2006-10-22 10:01)
- Die EPG-Auslagerungs-Modi (Parameter LEMMI_EPG_MODE) 'EXTERN' und 'E2IMAGE' werden nicht mehr unterstützt und in den Modus 'COPY' umgerechnet.
- Erste Implementierung eines Standby-Zustandes (Parameter LEMMI_STANDBY_MODE, LEMMI_STANDBY_TIME, LEMMI_STANDBY_MOUNT_NET und LEMMI_STANDBY_MOUNT_HD). Näheres ist im open7x0.org-Wiki unter "Standby" beschrieben.
- Mit dem Kommando 'dump-info' werden Informationen zum Zustand des Systems in einem Archiv unter /var/tmp/dump-info-<datum+zeit>.tgz' gespeichert. Die gesammelten Informationen sollen die Ferndiagnose vereinfachen. Das Kommando gibt Aufruf weitere Informationen aus.
Durch den neuen Menu-Punkt "Aktuellen Zustand sichern" kann das Kommando auch im Web-Interface aufgerufen werden. Die Datei wird dann als Download angeboten.
- MartinO hat das Web-Interface erweitert, so dass auch Informationen von VDR-Aufnahmen angezeigt werden können.
- Mit den Parametern LEMMI_MOUNT_MODE_PC1 bis LEMMI_MOUNT_MODE_PC5 kann der Mount-Modus der Netzwerklaufwerke festgelegt werden.
Zur Verfügung stehen die Modi 'auto', 'smb', 'nfs-udp' und 'nfs-tcp'.
- Die "1,2,3"-Auswahl beim Systemstart erscheint nur noch, wenn das Boot-Menu nicht aktiviert ist. Bei aktivierter Auswahl wird der Boot-Vorgang um 3 Sekunden verzögert, damit der Benutzer eine Reaktionsmöglichkeit hat.
2.01.00.lemmi-16 (2006-11-09 20:01)
- Die vier Firmware-Versionen 2.01.00.lemmi-16, 2.02.24.lemmi-12, 2.03.15.lemmi-04 und 2.03.42.lemmi-01 enthalten dieselben Lemmi-Erweiterungen. Sie unterscheiden sich im wesentlichen in der von Siemens gelieferten wavebox.
- Nach dem Ende des VDR hing sich das Verwaltungs-Script gelegentlich auf. Der Grund ist noch nicht klar; es existiert aber nun ein work around.
- Die EPG-Daten des VDRs werden nun im Konfig-Verzeichnis gespeichert. Dieses ist wichtig für den Mehr-Box-Betrieb.
- Wird der Standby durch Drücken von POWER verlassen, dann wurde immer die Wavebox gestartet, auch wenn der VDR gestartet werden sollte.
- Die Verwendung des Scriptes ist als experimentell anzusehen: Es besteht die Möglichkeit, das Aufnahmen ungewollt gelöscht werden.
2.01.00.lemmi-17 (2006-12-24 00:01)
- Die Menus wurden neu gestaltet. Die Plugins werden nicht mehr durch das Boot-Menu, sondern durch das neue Plugin-Menu verwaltet. Dafür entfällt das Hauptmenu, dessen Menupunkte sich jetzt ins Boot-Menu befinden.
- BoxAmp, ein mp3-Player, wurde direkt ins Boot-Menu integriert. Die Einstellungen erfolgen durch die drei Parameter LEMMI_BOXAMP_PATH, LEMMI_BOXAMP_MP3_PATH und LEMMI_BOXAMP_OPTIONS.
- Der VDR kann jetzt direkt aus dem Boot-Menu in einem eigenen RootFS gestartet werden. Die Einstellungen zur RootFS erfolgen durch die vier Parameter LEMMI_ROOTFS_IMAGE, LEMMI_ROOTFS_ARCHIVE, und LEMMI_ROOTFS_VDR_PATH.
- Mit den beiden neuen Parametern LEMMI_VDR_VIDEO_PATH und LEMMI_VDR_EPG_PATH können die Verzeichnisse für die Aufnahmen und das EPG getrennt eingestellt werden.
- Die Auswertung der 3 Variablen LEMMI_VDR_PATH, LEMMI_ROOTFS_VDR_PATH und LEMMI_BOXAMP_PATH wurde toleranter gestaltet. Der Pfadangabe wird automatisch ein '/' vorangestellt. Als Pfadangabe kann nun wahlweise ein Verzeichnis oder ein Programm angegeben werden; bei einem Verzeichnis wird der Dateiname 'vdr' bzw. 'boxamp' automatisch ergänzt. Sollte das Programm nicht existieren, dann wird nach 'NAME.bz2' und ersatzweise nach 'NAME.tar.bz2' gesucht, um sie automatisch zu entpacken.
- Das neue Kommando mount.rootfs ist jetzt für die Erzeugung und Einbindung eines RootFS zuständig. Die Option --help liefert weitere Informationen.
- watchdir überwacht nun auch Lesezugriffe.
- Die Log-Dateien mgr.log und mount.log sind nun auf maximal 20 KiB beschränkt.
- Das Shutdown-Script '/etc/rc.d/halt' protokolliert nun ausführlich die Zeiten für den Notfall-Reboot in '/data/log/boot.log'.
- Für die EPG-Auslagerung der Wavebox wurden die altbekannten Modi 'EXTERN' und 'E2IMAGE' wiederbelebt. Durch die volle Kontrolle der Wavebox war die Implementierung wesentlich einfacher und kommt ohne Dirty Tricks aus. Einziges Manko: Modus 'E2IMAGE' funktioniert weder auf USB-HDD-1 noch auf USB-HDD-2.
- Die busybox wurde neu übersetzt und enthält nun auch das Programm mkswap, welches benötigt wird, um Swap-Dateien für Tests zu erzeugen.
- Nach einer Analyse von 29 Konfirgurationen diverser Forumsmitglieder wurde das Script 'scan-usb' (wird u.a. vom 'mount.usb' verwendet) erheblich verbessert. Es sollte nun alle USB-Konfigurationen für die M740AV und M750S richtig erkennen.
- Der Editor nano fehlt aus Platzgründen in dieser Firmware. Nutzer können ihn bei Bedarf in einen bin-Pfad auf USB oder im Netz ablegen.
- o7o-Archive werden unterstützt.
2.01.00.lemmi-18 (2007-02-10 12:01)
- Dieses sind aller Voraussicht nach die letzten Firmware-Versionen dieser Lemmi-Serien!
Da ich bereits vollständig auf die VDR Firmware umgestellt habe, habe ich diese Firmware-Versionen *nicht* getestet. Und daher werde ich auch *keinen* Support mehr leisten.
- Eine Liste mit allen Dateien, die ich geändert oder erzeugt habe und sich damit von der Siemens Original-Firmware unterscheiden, befindet sich in der der Datei '*.changed'. Anhand dieser Liste kann jeder die Firmware weiter pflegen. Die einzelnen Dateien können mit 'extract' aus der WSW-Datei extrahiert werden.
- Bei der Auswahl der Suchmethode im o7o-Menu werden die Punkte 1-6 angeboten. Drücken musste man aber 0-5 (also immer einen weniger).
- Bei der Auswahl eines o7o-Archives wurde dieses dreifach entpackt (Valid-Test, 'o7o-info' entpacken, 'o7o-start-script' entpacken). Jetzt geschieht dieses zusammen, was den Vorgang wegen der langsamen TAR-Implementiernung erheblich verschnellert.
- Bei der Ausführung eines o7o-Archives werden die Ausgaben (stdout+stderr) für eine evtl. Fehlersuche in die Log-Datei '/var/log/o7o.log' geschrieben.
- Mit den drei neuen Komamandos 'o7o-test', 'o7o-info' und 'o7o-exec' können o7o-Archive von der Kommandozeile aus gestestet, deren Info angezeigt, oder ausgeführt (=installiert) werden.
- Das RootFS wird nicht mehr automatisch beim Aufruf des VDR angelegt, da die Erzeugung eines RootFS nun über ein o7o-Archiv getätigt wird.
- Die Unterstützung für den alten VDR (VDR/static) ist weggefallen. Ab sofort wird nur noch der VDR im RootFS unterstützt. Der Wert des Parameters LEMMI_VDR_PATH wird automatisch aus dem vormaligen LEMMI_ROOTFS_VDR_PATH übernommen.
- Neben dem Parameter LEMMI_VDR_PATH, der immer auf das VDR-Programm zeigen sollte, gibt es nun den neuen Parameter LEMMI_VDR_STARTER, der auf ein eigenes Start-Script zeigen kann. Mit diesem Start-Script kann der VDR mit eigenen Parametern gestartet werden, z.B. um seine Plugins speziell zu konfigurieren. Für weitere Details bitte die Wiki-Doku der beiden Parameter lesen.
- Hanspeter hat eine Datei mit besseren VDR-Voreinstellungen erstellt, die nur bei einer Erstinstallation des VDRs verwendet wird.
- Mit den drei neuen Parametern LEMMI_MAIL_SERVER, LEMMI_MAIL_FROM und LEMMI_MAIL_REPLY kann man Vorgaben für den Mail-Versand einstellen, der allerdings nur im RootFS funktioniert.
- Am Ende von BoxAmp wird jetzt ,energisch' umount versucht, um USB-Probleme einem nachfolgenden Wavebox-Start zu vermeiden.
- Es wurde ein Relikt aus alten Zeiten gefunden, welches zu USB-Erkennungsproblemen im Wavebox-Betrieb führte, wenn die Platten aus anderen Gründen vorher gemountet wurden.
- Das Logging von RootFS+VDR wurde erweitert, um eine bessere Ferndiagnose zu ermöglichen.
- Das Verzeichnis /data/vdr-fw wird vorerst für die Konfigurationen der VDR-Firmware verwendet.
- Die Firmware sichert die Einstellungen aus /var/etc, falls gültig, in das Verzeichnis /data/vdr-fw/local/var-etc. Damit kann nach Rückspielen einer Wavebox-Mini-Firmware dieses Bereich genutzt werden, um die Einstellungen zurückzukopieren.
Wurde nun ein Factory-Reset durchgeführt, dann wird der Countdown im Boot-Menu beendet und ein entsprechender Hinweis eingeblendet. Sind die Einstellungen in /data/vdr-fw/var-etc vorhanden, dann erscheint ein zusätzlicher Hinweis auf die PIP-Taste, mit der die Einstellungen nach /var/etc zurückkopiert werden können.
- Der neue Parameter LEMMI_WAVEBOX_BACKUP_PATH legt den Pfad zu einem Verzeichnis fest, indem die Datei /data/wavebox und das Verzeichnis /data/skin2 gesichert wird. Diese Sicherung findet bei der Installation einer VDR-Firmware (o7o oder wsw) automatisch statt. Ist der Pfad leer oder ungültig, dann wird er selbstständig berechnet. Weitere Details sind beim Parameter LEMMI_WAVEBOX_BACKUP_PATH beschrieben.
Hintergrund: Die VDR-Firmware benötigt Platz in /data und löscht mit /data/wavebox und /data/skin2 ca. 6 MB.
Das ganze ist experimentell und soll mir bei der Entwicklung der VDR-Firmware helfen.
- Netzwerkfreigaben werden nun auch außerhalb des Wavebox-Betriebes gemounted, wenn die Arbeitsgruppe ungültig ist. (Es wird zumindestens nicht vorzeitig abgelehnt. Getestet habe ich es nicht.)
- Nach Beendigung des VDRs wird die System-Zeit (die evtl. vom VDR anhand der DVB-Daten gesetzt wurde) gelesen und nach einer Plausibilitätskontrolle für das Setzen der PIC-Zeit verwendet.
Links zum Thema »Lemmis Firmware«
- Lemmis Firmware
- Firmware Versionen:
- Wichtige Dateien
- Firmware Download: http://m740.steve-m.de/
Verwendete Ports
In der VDR Firmware werden die folgenden Ports verwendet:
- 21 (ftp), 22 (ssh), 23 (telnet), 80 (http), 2001 (SVDRP), 8765 (lircd)
- 3000 (VDR Plugin streamdev)
- 12000 (aktuellen Zustand abfragen)
- 12002 (kmsg log), 12006 (dropbear debug log), 12007 (VDR debug log)
- 12100 (Konfig+Doku abfragen), 12101 (Konfig abfragen), 12102 (Konfig setzen)
In der Lemmi-Firmware werden die folgenden Ports verwendet:
- 21 (ftp), 22 (ssh), 23 (telnet), 80 (http), 8765 (lircd)
- 10001 (PVR-Pilot)
- 10101 (osd2tcp), 10102 (txt2osd)
- 12000 (aktuelle Lemmi-Settings)
- 12001 (wavbox log), 12002 (kmsg log), 12003 (RECORDER_LOG)
- 12004 (timer log), 12005 (key control debug log), 12006 (dropbear debug log)
- 12007 (VDR debug log)
- 12100 (Get Lemmi-Settings+Doku), 12101 (Get Lemmi-Settings), 12102 (Set Lemmi-Settings)

