/var/etc/lemmi-settings.txt

Aus open7x0.org

(Weitergeleitet von Lemmi-settings.txt)
Wechseln zu: Navigation, Suche

Datei: /var/etc/lemmi-settings.txt

Inhaltsverzeichnis

Einleitung

Die Datei /var/etc/lemmi-settings.txt enthält Variablen, mit denen das Boot-Verhalten von Lemmis Firmware gesteuert werden kann.

Die folgenden Firmware-Versionen unterstützen /var/etc/lemmi-settings.txt:

Script Dateien

/sbin/lemmi-setup

Dieses Script scanned die Datei /var/etc/lemmi-settings.txt und setzt die Umgebungsvariablen. Um sich vor falschen Eingabe zu schützen, wir die Datei mittels der Programmes /usr/bin/scan-param untersucht und dessen Ausgabe ausgewertet. Dabei werden u.a. auch alle CR ('\r', ASCII 13) entfernt (für unsere Windows-Freunde).

Wird das Script lemmi-setup mit dem Parameter 'setup' aufgerufen, dann wird die Konfigurationsdatei neu geschrieben. Dieses geschieht bei jedem Systemstart durch das Boot-Script /etc/rc.

/usr/bin/print-lemmi-settings

Das Script print-lemmi-settings scanned die Datei /var/etc/lemmi-settings.txt und erzeugt eine Ausgabe, die neben den Einstellungen auch eine Dokumentation zu jedem einzelnen Parameter enthält. Dies Ausgabe ist auch via Port 12100 verfügbar.

Diese Ausgabe ersetzt die alte Version von /var/etc/lemmi-settings.txt, in der die Parameter-Beschreibungen noch enthalten waren.


Aufbau der Datei

Die Datei /var/etc/lemmi-settings.txt wird bei jedem Systemstart neu geschrieben. Der Aufbau der Datei ist dabei so gewählt, dass sie sowohl maschinenlesbar als auch informativ für Personen ist.

Der Aufbau im Detail:

  • Alle Parameter und alle Gruppentitel sind voneinander durch mindestens eine Leerzeile getrennt.
  • Die Parameter sind in Gruppen eingeteilt. Diese Gruppierung hat keinerlei Auswirkung auf die Interpretation der Parameter; sie dient lediglich der logischen Gliederung. Ein Parameter wird logisch der letzten vor dem Parameter definierten Gruppe zugeordnet.
    Syntax:
     '#-----' Gruppentitel
    

    Zum Gruppentitel gehören alle Zeichen bis zum Zeilenende, wobei alle ASCII-Zeichen < 32 und die Zeichen '&', '|', ';', '<' und '>' zu einem Leerzeichen gewandelt werden. Leerzeichen am Anfang und Ende werden ignoriert.

  • Jeder Parameter beginnt mit einer Zeile der Form: '#PARAMETER: Beschreibung' Dieser Teil ist maschinenlesbar und beschreibt Name, Typ, Voreinstellung und Wertebereich des Parameters:
    Syntax:
       '#PARAMETER:' name 'key' key1 [[=]keyN]...
       '#PARAMETER:' name 'list' key1 [[=]keyN]...
       '#PARAMETER:' name 'num' def min max
       '#PARAMETER:' name 'str' [default_text]
    

    Nach der Einleitung '#PARAMETER:' folgt als erstes der Name des Parameters. Gültige Zeichen für den Namen sind Buchstaben (ASCII), Ziffern und der Unterstrich. Der Name beginnt immer mit einem Buchstaben.

    Danach folgt genau eines der vier Schlüsselworte 'key', 'list', 'num' oder 'str', wobei zukünftig weitere Schlüsselworte hinzukommen können. Dieses Schlüsselwort legt den Typ und die weitere Syntax fest.

    • key
      Der Parameter kann als Wert nur einen der Schlüsselwörter (key1..keyN) annehmen. Gültige Zeichen für die Schlüsselwörter sind Buchstaben (ASCII), Ziffern, der Unterstrich und das Minuszeichen. Groß-/Kleinschreibung ist unerheblich. Das erste Schlüsselwort ist gleichzeitig die Voreinstellung. Wird ein Schlüsselwort mit einem '=' Zeichen eingeleitet, dann hat es dieselbe Bedeutung wie das vorherige Schlüsselwort: Es handelt sich also um ein Synonym.
    • list
      Der Parameter erwartet als Wert eine Komma-separtierte Liste der Schlüsselwörter (key1..keyN). Die Schlüsselwörter können in beliebiger Reihenfolge auftreten. Ein mehrfaches Vorkommen eines Schlüsselwortes wird genauso wie ein einfache Vorkommen interpretiert. Die Liste kann auch leer sein. Gültige Zeichen für die Schlüsselwörter sind Buchstaben (ASCII), Ziffern, der Unterstrich und das Minuszeichen. Groß-/Kleinschreibung ist unerheblich. Wird ein Schlüsselwort mit einem '=' Zeichen eingeleitet, dann hat es dieselbe Bedeutung wie das vorherige Schlüsselwort: Es handelt sich also um ein Synonym.
    • num
      Es handelt sich um einen numerischen Parameter. Die drei folgenden Zahlen beschreiben die Voreinstellung, das Minimum und das Maximum des Wertes. Bei der Eingabe darf die Zahl auch von einem der Buchstaben 'kKmMgG' gefolgt werden. Diese Zeichen werden als Kilo, Mega und Giga erkannt und sind als Faktor auf Basis 1024 anzusehen.
    • str
      Der Parameter erwartet eine beliebige Zeichenkette. Alle Zeichen bis zum Zeilenende werden als Wert verwendet, wobei alle ASCII-Zeichen < 32 und die Zeichen '&', '|', ';', '<' und '>' zu einem Leerzeichen gewandelt werden. Leerzeichen am Anfang und Ende werden ignoriert. 'default_text' ist die Voreinstellung.
  • In den alten Versionen von /var/etc/lemmi-settings.txt folgen nun weitere Kommentarzeilen, die als Fließtext-Information zu behandeln sind. Jede dieser Kommentarzeilen beginnt mit einem '#' in der ersten Spalte. <p/> In den neuen Versionen fehlen diese Zusatzinformationen. Sie können ersatzweise durch das Kommando print-lemmi-settings oder durch eine Abfrage an Port 12100 abgefragt werden.
  • Nach den Kommentaren folgt eine Zeile im Format:
    name=wert
    

    Mit dieser Wertzuweisung ist der Block beendet.

Wichtig: Ist ein Parameter in /var/etc/lemmi-settings.txt mehrfach vorhanden, dann wird nur der letzte Parameter aus der Datei verwendet. Dieses bedeutet für andere Tools: Änderungen müssen nur an das Ende der Datei geschrieben werden.

Parameter

Die Anzahl und Art der Parameter unterscheidet sich in den verschiedenen Firmware-Versionen. Die Beschreibung der Parameter befindet sich zusammen mit den Parametern in der Datei /var/etc/lemmi-settings.txt. Eine Kopie der Parameter der jüngsten Firmware befindet sich auch in diesem Wiki unter Lemmis Parameter.

Modifikation

Die Datei /var/etc/lemmi-settings.txt kann mit einem beliebigen Text-Editor modifiziert werden.

Außerdem werden vier Ports zur Verwaltung der Parameter unterstützt:

  • TCP Port 12000 liefert die aktiven Einstellungen.
  • TCP Port 12100 liefert alle Parameter der aktuellen lemmi-settings.txt zusammen mit einer Dokumentation zu jedem einzelnen Parameter im Format der Datei lemmi-settings.txt.
  • TCP Port 12101 liefert alle Parameter der aktuellen lemmi-settings.txt im bash-Format.
  • Durch TCP Port 12102 können Parameter in lemmi-settings.txt gesetzt werden.

So man kann z.B. auf einem Unix-System mit dem folgenden Bash-Script die Datei /var/etc/lemmi-settings.txt modifizieren:

 #!/bin/bash
 temp=`mktmp lemset`
 cat < /dev/tcp/m740av/12100 >$temp
 vi $temp
 cat $temp > /dev/tcp/m740av/12102
 rm $temp

Abfrage durch externe Programme

Der folgende Algorithmus zeigt, wie man die Parameter von alten und neuen FW mit einem externen Programm ändern kann:

  • Von Port 12100 die aktuellen Einstellungen abholen. Wird die Verbindung refused, dann handelt es sich um eine alte FW.
  • Bei einer neuen Firmware können die Informationen von Port 12100 bearbeitet und an Port 12102 zurückgeschrieben werden.
  • Bei einer alten FW wird die Datei /var/etc/lemmi-settings.txt mittels ftp oder scp geladen und nach der Modifikation wieder zurückgeschrieben.


Links zum Thema »Lemmis Firmware« 

Persönliche Werkzeuge