Firmware 2.00.2.lemmi

Aus M740 WikiWeb

Wechseln zu: Navigation, Suche

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

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

Weitere Links

Persönliche Werkzeuge