Firmware 1.50.6.lemmi

Aus M740 WikiWeb

(Weitergeleitet von FW 1.50.6.lemmi)
Wechseln zu: Navigation, Suche

Dieser Artikel wird von mir (Lemmi) nicht mehr aktualisiert. Aktuelle Infos befinden sich im Wiki von open7x0.org unter dem gleichnamigen Thema »Firmware 1.50.6.lemmi«.

Inhaltsverzeichnis


Einleitung

Lemmi hat die Original Firmware 1.50.6 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 1.50.6 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

1.50.6.lemmi-01 (2005-08-05 16:32)

  • Die Firmware basiert auf dem Original 1.50.6 von Siemens. Erweiterungen sind: TELNET, FTP-Server und 4 Hooks.
  • Das Update-Verhalten von Firmware 1.18 wurde übernommen.
  • Der Siemens-FTP Server wurde entfernt und stattdessen der alt bewährte pure-ftpd eingebaut. Der FTP-Server unterstützt auch Dateien >2GB. Der FTP-Server kann wahlweise über inetd oder als daemon gestartet werden. (siehe )
  • In diesem Update ist ein modifizierter lircd daemon enthalten, mit dem Fernbedienungsbefehle über das Netzwerk simuliert werden können.
  • Die Programme und Bibliotheken aus /bin, /usr/bin und /usr/lib wurden durch den strip-Befehl verkleinert. Hierdurch existiert wieder mehr Platz. So haben top und nohup wieder den Weg in die Firmware gefunden.
  • 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. Hierdurch ist die Steuerung mittels der Dateien /var/etc/clear-*.flag nicht mehr nötig. Diese Dateien werden daher auch ab sofort ignoriert. Die aktuellen Einstellungen können durch das Script view-lemmi-settings ausgegeben werden.
  • Beim ersten Boot-Vorgang nach einem Update wird das System mit den Standard-Einstellungen gestartet und /var/etc/alternate-rc sowie /var/etc/local.rc werden ignoriert. Damit bootet das System mindestens einmal sauber, falls /var/etc/lemmi-settings.txt defekt ist.
  • Beim Boot-Vorgang wird die Datei /data/RECORDER_LOG auf 5000 Zeilen gekürzt. Beim Shutdown wird in die Datei /data/RECORDER_LOG eine Shutdown-Meldung geschrieben, die auch den Zeitpunkt des nächsten Weckens enthält. Damit wird Boot und Shutdown lückenlos dokumentiert.
  • 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 aller 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. Als erstes ist die Ausgabe der wavebox an Port 10001 und die Ausgabe von /proc/kmsg an die Port 10002 verfügbar.
  • Das Programm watchdir (Autor: Andreas Koch) wurde hinzugefügt. Es überwacht ein Verzeichnis auf Veränderungen der enthaltenen Dateien (create, remove, rename, modify).
  • Das Programm osd2tcp V0.0.2 (Autor: Andreas Koch) wurde hinzugefügt. Es ermöglicht die Anzeige der OSD-Ausgabe (Grafik) über das Netzwerk (Port 10101).
  • Das Script key-control (Autor: MartinO) wurde hinzugefügt. Es überwacht die Kommandos der Fernbedienung und ergänzt neue Befehle, um den Komfort zu verbessern. Es unterstützt auch selbst erzeugte Macros.
  • Es existieren diverse neue Kommandos, u.a.: power-off, save-timer, halt und reboot.
  • Beim Login werden die beiden Verzeichnisse /usb/bin und /pc1/bin in den Pfad (PATH) aufgenommen, sofern die existieren.

1.50.6.lemmi-02 (2005-08-11 09:10)

  • Das Programm osd2tcp liegt jetzt in Version 0.0.4 vor.
  • Es gibt einen neuen Hook: /var/etc/halt.term. Existiert dieses Script, so wird beim shutdown unmittelbar vor dem Ausschalten aufgerufen.

1.50.6.lemmi-03 (2005-08-13 20:50)

  • Existiert das Archiv /var/etc/overwrite-data.tar.bz2, dann wird es wie zuvor nach /data entpackt (Stichwort: save-timer).
    Die Neuerung: Anschließend wird die Datei nach /var/etc/overwrite-data.tar.bz2.done umbenannt, so dass sie beim nächsten Boot nicht nochmals entpackt wird.
  • Ein neuer Hook wurde eingebaut: /usb/bin/rc.usb. Unmittelbar nach dem Aufruf von rc.local wird im Hintergrund 30 Sekunden gewartet und anschließend die Existenz von /usb/bin/rc.usb geprüft.

    Existiert diese Datei, dann wird sie aufgerufen. stdout und stderr werden nach /usb/bin/rc.usb.log umgeleitet.

    Hiermit kann man auch ohne LAN nach dem Start der Box eigene Erweiterungen ausführen. So kann durch verwendung des beigelegten Scriptes check-usb-settings z.B. die lemmi-settings.txt setzen.

1.50.6.lemmi-04 (2005-08-23 19:13)

  • Das Linux-Grundsystem enthält nun die busybox Version 1.01 (voher 0.43). busybox ist eine Unix-Tool-Sammlung um viele Kommandos platzsparend zu installieren. Dabei kann der Anwender beim Compilieren auswählen, welche Tools eingebunden werden sollen. Durch die neue Version konnten u.a. fdisk, tar, inetd und andere Speicherfresser eingespart werden. Daher war auch genug Platz, um weitere Programme in busybox einzubinden. Dieses sind u.a. egrep, sed, awk, dos2iunix, wget, httpd.
  • Es ist nun ein Web-Server (busybox sei dank) integriert, der via lemmi-settings.txt konfiguriert werden kann. 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. Im Moment ist eine statische Ausgangsseite und ein Verzeichnis & Datei-Browser als CGI mit ein paar netten Features implementiert. Mit dem Kommando 'set-www' kann der Dokumenten-Pfad des Web-Servers auch zur Laufzeit einstellt werden.

  • Durch den Platzspareffekt der busybox konnten die folgenden Tools integriert werden: e2fsck, diff und nano (Texteditor).
  • Es gibt zwei neue root-Benutzer (telnet Sitzung): 'p' wie pc1 und 'u' wie usb. Der Unterschied: Die Benutzer haben verschiedene Home-Verzeichnisse (/root, /pc1/root und /usb/root), so dass sie für unterschiedliche Konfigurationen genutzt werden können. Details: Abschnitt »Telnet Zugang«
  • Eine neue Version von pure-ftpd (Dank an kille) wurde integriert.

1.50.6.lemmi-05 (2005-08-25 17:57)

  • Die busybox wurde von mir gepatched, damit 'tar' auch mit 'bzip2' funktioniert.
  • Die interne Web-Site wurde ein wenig erweitert.

1.50.6.lemmi-06 (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