Firmware 2.00.51.lemmi
Aus M740 WikiWeb
Inhaltsverzeichnis |
Einleitung
Lemmi hat die Original Firmware 2.00.51 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.48 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. |
| 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-2] (kein Kennwort) | 0 0 | /usb[1-2]/root /usb[1-2]/root/.profile | zwei Benutzer: 'u1' und 'u2' 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 | ab FW 2.00.43.lemmi-02 |
| usb2 | usb2 | /var/media/USB-HDD-2 | ab 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.00.51.lemmi-01 (2005-12-02 16:27)
- Die Firmware basiert auf dem Original 2.00.51 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 Bneutzernamen.
- 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 verscheidene 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.
- 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' und 'key-control' wurden in die Firmware integriert.
2.00.51.lemmi-02 (2005-12-14 20:17)
- Das Programm txt2osd wurde integriert. Es wird beim Systemstart zur Anzeige der Firmware-Version genutzt.
- Der Texteditor nano ist wieder mit an Bord. Dafür fehlt diff.
- Die Erweiterungen, die damals für 'usb' eingebaut wirden waren, sind jetzt auf 'usb1' und 'usb2' erweitert worden:
- Die Links /usb1 und /usb2 zeigen auf die beiden Festplatten.
- /usb1/bin und /usb2/bin sind in PATH aufgenommen worden.
- Es existieren die root-benutzer u1 und u2.
- Die EPG-Daten können nun auch auf die Ram-Disk ausgelagert werden. Steht in lemmi-settings.txt der Parameter LEMMI_RAMDISK_EPG auf 'yes', dann werden die EPG Daten in der Ram-Disk im Verzeichnis /var/SI verwaltet. Damit das EPG einen Neustart der Box überlebt, wird es beim Abschalten unter /data/SI.tar.bz2 gesichert und Neustart wieder entpackt. Die Idee hierzu stammt von Andreas Koch. Leider kostet es ca 1 Minute zusätzliche Zeit beim Abschalten und auch beim Neustart.
- Die PID der wavebox wird in /var/run/wavebox.pid abgelegt.
- Auf der RAM-Disk existiert das neue Verzeichnis /var/xetc, indem eigene Konfigurationsdateien abgelegt werden können, die nicht ins Flash-RAM gesichert werden müssen, aber auch nicht im Read-Only-Bereich liegen soltlen. Erste Kanidaten sind die Konfigurationsdateien inetd.conf und lircd.conf.
- Die Konfigurationsdatei inetd.conf wurde von /var nach /var/xetc verschoben.
- Nach einem Vorschlag von Lurch befindet sich lircd.conf (soft link) nun in /var/xetc. Mit dem Script /var/sbin/set-lircd kann der Pfad zur Laufzeit angepaßt werden.
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:

