Firmware 2.00.51.lemmi

Aus M740 WikiWeb

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

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

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

Weitere Links

Persönliche Werkzeuge