#!/bin/sh export DATE="16.2.2006" export TITLE="Verwaltung: Opennet" . ${0%/*}/cgi-bin-pre.sh cat<<EOF

# Verwaltung: Sendeleistung

EOF if [ "$REQUEST_METHOD" = "POST" ]; then read QUERY_STRING fi if [ -n "$QUERY_STRING" ]; then eval $(echo "$QUERY_STRING"|awk -F'&' '{for(i=1;i<=NF;i++){print $i}}'); fi if [ -z "$QUERY_STRING" ] || [ -n "$refresh" ]; then on_ant_dbi=$(nvram get on_ant_dbi) if [ ! -f /tmp/adapt_txpwr_running.log ]; then cat<<EOF Auf dieser Seite kann die Sendeleistung (oder besser Speiseleistung) des AccessPoints angepasst werden.
Achtung: Einen zu hohe Sendeleistung kann zur Zerstörung eures AccessPoints und zur Beeinträchtigung der Gesundheit von euch bzw. anderen führen. Als Maximalwert sind gesetzlich 100mW = 20dBm festgelegt.
mehr...
Die maximale Sendeleistung setzt sich zusammen aus der (hier einstellbaren) Speiseleistung des AccessPoints sowie der Verstärkung der Antenne. Je größer die Verstärkung der Antenne, desto geringer die notwendige und auch erlaubte Sendeleistung, die eingespeist werden muss. (Bei einer Rappl-Omni mit 8dB beträgt die maximal erlaubte einzuspeisende Sendeleistung etwa 19mW).
Eine hohe Sendeleistung ist nicht unbedingt die Vorraussetzung für eine gute Verbindung, wichtig ist, dass ihr den nächsten AccessPoint auf dem Weg zu eurem Ziel (dem Internet?) gut erreicht. (Natürlich ist auch wichtig, dass andere AccessPoints euch gut erreichen, wenn sie euren AccessPoint auf ihrem Weg zum Ziel benötigen).

## Sendeleistung

Antennen-Gewinn: | Sende-Leistung mW
einmalige automatische Anpassung nach jedem Neustart

EOF if [ "$(nvram get on_autoadapttxpwr )" = "on" ]; then if ( ! [ -f /tmp/adapt_txpwr.log ] || [ -f /tmp/adapt_txpwr.failed ] ) && ! [ -f /tmp/adapt_txpwr_running.log ]; then echo "Hinweis: Auf diesem Access-Point wurde die Sendeleistung nach dem letzten Neustart noch nicht (erfolgreich) automatisch angepasst. Die Automatische Anpassung der Sendeleistung wird nach jedem Neustart einmal - auf diesem AP $((($(nvram get wifi_ipaddr | cut -d'.' -f4)-1)*4/17)) Minuten nach der vollen Stunde - durchgeführt. Der oben angegebene Wert der Sendeleistung wird dabei als Maximalwert angenommen und möglicherweise verringert. Du kannst die Anpassung der Sendeleistung auch jetzt sofort manuell starten." fi fi cat<<EOF
EOF fi cat<<EOF

## automatische Anpassung der Sendeleistung

Achtung: Die automatische Anpassung der Sendeleistung dauert einige Minuten. Sie muss nicht in jedem Fall zu einem optimalen Ergebnis führen. Es kann durchaus sinnvoll sein, selbst einen Mittelwert nach einer mehrfachen Ausführung zu wählen.

EOF if [ -f /tmp/adapt_txpwr_running.log ]; then cat<<EOF

Automatische Anpassung der Sendeleistung läuft, bitte etwas Geduld

EOF else cat<<EOF

zeige Parameter
EOF if [ -f /tmp/adapt_txpwr.log ]; then cat<<EOF
zeige Ergebnisse des letzten Durchlaufs
EOF fi fi cat<<EOF

EOF if [ ! -f /tmp/adapt_txpwr_running.log ]; then cat<<EOF

maximale Test-Sendeleistung: | mW
Anzahl der Testpakete zur Beurteilung einer Verbindung: | Pakete
Anteil der Pakete, die davon maximal verloren gehen dürfen: | Prozent
führe Testdownload durch (nur zur Information)

EOF fi cat<<EOF

EOF if [ -f /tmp/adapt_txpwr_running.log ]; then cat /tmp/adapt_txpwr_running.log else cat /tmp/adapt_txpwr.log fi cat<<EOF

EOF if [ ! -f /tmp/adapt_txpwr_running.log ]; then cat<<EOF
EOF fi else #eval $(echo "$QUERY_STRING"|awk -F'&' '{for(i=1;i<=NF;i++){print $i}}') if [ -n "$post_txpwr" ]; then DIRTY= for V in on_ant_dbi ff_txpwr on_autoadapttxpwr; do eval "C=\$$V" C=$(unescape $C) if [ "$V" = "ff_txpwr" ]; then wl txpwr $ff_txpwr; fi if [ "$C" != "$(nvram get $V)" ]; then DIRTY=1 nvram set $V="$C" fi done if [ -n "$DIRTY" ]; then nvram commit>/dev/null 2>&1 cat<<EOF

Die geänderten Einstellungen wurden übernommen.

EOF else cat<<EOF

Es wurden keine Einstellungen geändert.

EOF fi elif [ -n "$adapt_txpwr" ]; then cat<<EOF

Optimierung der Sendeleistung gestartet. Auf der Einstellungsseite kann der aktuelle Fortschritt beurteilt werden.

    EOF
    	param=
    	if [ -n "$on_txpwrtstpwr" ]; then param="-p $on_txpwrtstpwr"; fi
    	if [ -n "$on_txpwrtstpkg" ]; then param="$param -c $on_txpwrtstpkg"; fi
    	if [ -n "$on_txpwrtstlost" ]; then param="$param -l $on_txpwrtstlost"; fi
    	if [ "$on_txpwrtstspeed" = "on" ]; then param="$param -d"; fi
    	adapt_txpower.sh $param >/tmp/adapt_txpwr_running.log
    	if [ $? != 0 ]; then
    		echo "failed" > /tmp/adapt_txpwr.failed
    	else
    		rm -rf /tmp/adapt_txpwr.failed
    	fi
    	mv /tmp/adapt_txpwr_running.log /tmp/adapt_txpwr.log
    cat<<EOF

Optimierung beendet.

EOF elif [ -n "$kill_adapt_txpwr" ]; then kill 2>/dev/null $(ps|grep adapt_txpower.sh|grep -v grep|cut -b 0-5) rm -f /tmp/adapt_txpwr_running.log cat<<EOF

Optimierung der Sendeleistung abgebrochen.

EOF fi fi . ${0%/*}/cgi-bin-post.sh