Firmware 2.00.2.lemmi
Aus M740 WikiWeb
Inhaltsverzeichnis |
Einleitung
Lemmi hat die Original Firmware 2.00.2 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 FW 1.12.1, FW 1.18, von den Lemmi-Versionen und von sich selbst einspielen. Wer bereits FW 2.00.2 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
Die Verwendung dieser Firmware geschieht auf eigene Gefahr!!
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. |
| u (kein Kennwort) | 0 0 | /usb/root /usb/root/.profile | Alternative für 'root' erstmalig in FW 1.50.6.lemmi-04. |
FTP Server
In der Firmware ist ein FTP-Server integriert, der die folgenden realen und virtuellen Benutzer unterstützt:
| Benutzer | Kennwort | Basis-Verzeichnis |
|---|---|---|
| ftp | / | |
| root | root | / |
| media | media | /var/media |
| usb | usb | /var/media/USB-HDD |
| epg | epg | /data/SI |
| timer | timer | /data/.timer |
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 | 10001 | Die Ausgabe (stdout und stderr) des Programmes wavebox. |
| LEMMI_LOG_KMSG | 10002 | Die Kernel-Meldungen aus der Datei /proc/kmsg |
| LEMMI_LOG_RECLOG | 10003 | Die Ausgabe auf die Datei /data/RECORDER_LOG |
| LEMMI_LOG_TIMER | 10004 | Die Ausgabe von 'watchdir -m /data/.timer' |
| LEMMI_KEYCONTROL_ENABLED | 10005 | 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.00.2.lemmi-01 (2005-08-27 11:34)
- Die Firmware basiert auf dem Original 2.00.2 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.
- Für telnet existieren die root-Benutzer 'root', 'r', 'p' und 'u'. Die letzten drei haben kein Kennwort und unterscheiden sich in ihrem Login-Verzeichnis (/root, /pc1/root und /usb/root).
- Beim Login werden die beiden Verzeichnisse /usb/bin und /pc1/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, dos2iunix, wget und httpd.
- Durch den Platzspareffekt der busybox konnten die folgenden Tools integriert werden: e2fsck, diff und nano (Texteditor).
- 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.
- Via TCP-Port 10000 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.
- 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 10001 und die Ausgabe von /proc/kmsg an die TCP-Port 10002 verfügbar.
- Die Tools 'watchdir' ,'osd2tcp' und 'key-control' wurden in die Firmware integriert.
2.00.2.lemmi-02 (2005-09-08 21:35)
- 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.
- Es wurde eine neue Version von pure-ftpd integriert, die größere Übertragungspuffer verwendet.
- Das benutzerfreundliches Script /sbin/check-ext2 testet ein paar spezielle Gegebenheiten der M740AV ab um dann eine ext2/ext3-Partition zu überprüfen.
- Der httpd-Server decodierte fälschlicher Weise '%xx' Sequenzen im 'QUERY_STRING' für CGI-Programme. Außerdem wurde die Variable 'SCRIPT_FILENAME' nicht gesetzt. Durch eine Quellcode-Anpassung der busybox meinerseits ist beides behoben.
- Auch das busybox-Programm 'df' hatte einen Fehler: Ist der Name inkl. Rechnername des Netzwerklaufwerkes >20 Zeichen lang und hat die Freigabe >=100 GB Speicher, dann wurde kein Leerzeichen zwischen beiden ausgedruckt. Dieses führte (mutmaßlich) zu Fehlern der wavebox, da diese so den Speicherplatz nicht korrekt feststellen konnte. Auch dieser Fehler wurde durch eine Quellcode-Anpassung meinerseits behoben.
- Das neue Programm /usr/bin/scan-query-string vereinfacht die Analyse von der Parameters eines CGI-Programmes.
- Die interne Web-Site baut nun auf die letzte Änderungen von EarlyAdopter auf. Datei-Browser und das Test-Script brechen aus der uniformen Darstellung aus Platz- und Zeitgründen aus.
Firmware Links
- Firmware Übersicht, Firmware Downloads, Beta-Firmware
- Firmware 1.12.1
- Firmware 1.18, Firmware 1.18.lemmi
- Firmware 1.29.5, Firmware 1.29.5.lemmi
- Firmware 1.33_cf, Firmware 1.33.lemmi (spanische FW)
- Firmware 1.37.4, Firmware 1.37.4.lemmi
- Firmware 1.44.4_cf, Firmware 1.44.4.lemmi (spanische FW)
- Firmware 1.49.5, Firmware 1.49.5.lemmi
- Firmware 1.50.6, Firmware 1.50.6.lemmi
- Firmware 2.1, Firmware 2.01.0.lemmi
- Allgemeine Infos:
- Hintergrundwissen:
- Aufbau der Updates: WSW Dateien, WSW Header, RSA Verschlüsselung
- Flash-RAM, cramfs Dateisystem
- Portal »Linux Projekt«
Weitere Links
- Tips und Tricks:

