Firmware-Dokumentation: Unterschied zwischen den Versionen

Aus Weimarnetz Wiki
Zur Navigation springen Zur Suche springen
(wie wird der SSH dienst wieder angestoßen wenn er beendet wurde)
K (hat „Firmware-Dokumentation API“ nach „Firmware-Dokumentation“ verschoben: der titel soll generischer sein)

Version vom 25. Mai 2012, 14:08 Uhr

Einleitung

Zentrales Element aller Firmware-Funktionen ist der loader, der sich um alle Abhängigkeiten und Variablen kümmert. Der Loader wird automatisch beim Booten erzeugt und legt eine Kopie aller Scripte (bzw. aller functions) in der RAM-Disk an. Vorteil dieser Variante ist nicht nur der schnellere Zugriff, sondern auch die Moeglichkeit automatisiert spezielle Versionen bauen zu lassen (z.b. ohne LOG-Meldungen, Kommentare entfernen, profiling, debugging...). Auch werden zur Laufzeit nur wirklich benoetigte Module (automatisch) initialisert. Der Loader liegt unter /tmp/loader und sollte bei eigenen Scripten am Anfang geladen werden:

#!/bin/sh
. /tmp/loader

Das Erzeugen des loader kann so angestossen werden:

/etc/kalua_init

Nach dem sourcen des loader mit . /tmp/loader stehen verschiedene Hilfsfunktionen zur Verfuegung, z.b.

_       # listet alle Bibliotheken auf
_wifi   # listet alle Funktionen der Bibliothek wifi auf

Wer eigene Funktionssammlungen mit in den loader integriert haben moechte, sollte sich das Verzeichnis /etc/kalua/ anschauen.

Wenn man sich per SSH auf dem Router einloggt, wird in /etc/profile der loader automatisch "gesourced" (geladen).

Beispiele

Jedes Beispiel benoetigt zwingend den geladenen loader


SMS versenden

Momentan wird nur der Dienst sms77.de unterstuetzt. (Versand als "BasicPlus")

Vorbereitung durch Konfiguration aller Parameter:

_nvram set "fff_sms_phonebook" "person1=0176/1234567;person2=0175/99887766"
_nvram set "fff_sms_user" "sms77_username"
_nvram set "fff_sms_pass" "sms77_passwort"               # entweder Klartext oder verschluesselt
_nvram set commit "daten fuer SMS-Dienst eingegeben"     # Grund fuers Log angeben / resetfest abspeichern

Absenden:

_sms send "person1" "mein text steht hier"               # Name wird aus Telefonbuch genommen


Optimierung der Sendeleistung

_nvram set "fff_optimize_neigh" "gateway"     # string: gateway|wifi-IP|off|leer = irgendeiner (default)
_nvram set "fff_optimize_nlq"   "950"         # integer: Wunsch NLQ, 950 = 0.950 ; default = 900

Starten des SSH-Servers/Telnet

Bei Geräten mit weniger als 32mb RAM werden einige Dienste 30 Minuten nach dem Bootvorgang beendet um Speicher zu sparen. Über ein REST/HTTP-Interface kann man dies einfach wieder starten:

wget -O - "http://ip_des_routers/cgi-bin-tool.sh?OPT=startshell

von einem anderem Router aus kann man den gleichen Befehl folgendermaßen absetzen:

_tool remote ip_des_routers startshell