#!/bin/sh export DATE="3.12.2008";SCRIPT=${0#/rom} export TITLE="Status: OLSR" . /www/cgi-bin-pre.sh WLDEV=$(sed -n 's/^ *\([^:]\+\):.*/\1/p' /proc/net/wireless) if [ "$REQUEST_METHOD" = "POST" ]; then read QUERY_STRING fi if [ "$QUERY_STRING" != "${QUERY_STRING#*post_olsr=}" ]; then cat<Status: OLSR
# s/./&/ tn c\ <\/TABLE> p } ' cat<
       
 
EOF wget -q -O - http://127.0.0.1:2006/|sed -ne' /^Table:/,/^$/{ s#^Table: \(.*\)#

\1

<\TABLE BORDER="1" CELLSPACING="0" CELLPADDING="0" WIDTH="100%"># :n p n s#[0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+#&#g s/ / - /g s/ $// s# #
#g s#.\+#
&
EOF elif [ "$QUERY_STRING" != "${QUERY_STRING#*post_route=}" ]; then cat<Status: Routen
\ \ \ # s#\([0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+\)\([ <]\)#\1\2#g ' echo '<''/TABLE>' cat<
       
 
EOF echo '<''TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="400">' for i in olsr main dyngw;do ip r l table $i;done|sed -e' s#^\([^ ]\+\)\(.*\)#
\1\2
EOF elif [ "$QUERY_STRING" != "${QUERY_STRING#*post_scan=}" ]; then cat<Status: WLAN Scan
' (/rom/usr/sbin/wl -i $WLDEV scan 2>&- && (sleep 2;/rom/usr/sbin/wl -i $WLDEV scanresults 2>&-|sed -ne' /^$/d /^WSEC/d /^SSID:/{ s/[\$\`"\\]//g s/: \(.*\)/="\1"/ h d } /^Supported Rates:/{ s/.* \([0-9]\+\).*/RATE="\1"/ H g s/\n/ /g p } s/ dBm//g s/: \+\([^ ]\+\)/="\1"/g s/ \+"/"/g s/Mode="Ad Hoc"/ADHOC="yes"/ s/Mode="[^"]\+"/ADHOC="no"/ s/Capability=".* WEP .*/OPEN="no"/ s/Capability.*/OPEN="yes"/g H ') || iwlist $WLDEV scanning 2>&-|sed -ne' 1{ s/.*/ignore/ h d } /Address:/{ s/^[^:]*: *\([0-9A-F:]*\)/BSSID="\1" IWTOOLS=1/ x s/\n/ /g tx :x s/^ignore$// t p } ${ x s/\n/ /g p } /ESSID:/{ s/^[^:]*:"// s/.$// s/[\$\`"\\]//g s/.*/SSID="&"/g H } /Mode:/{ s/^[^:]*:Ad-Hoc/ADHOC="yes"/ s/^[^:]*:.*/ADHOC="no"/ H } /Frequency:/{ s/^[^(]*(Channel *\([0-9]*\).*/Channel="\1"/ H } /Channel:/{ s/^[^:]*:\([0-9]*\).*/Channel="\1"/ H } /Quality[:=]/{ s/^.*Signal level[:=]\([-0-9]*\).*Noise level[:=]\([-0-9]*\).*/RSSI="\1" noise="\2"/ H } /Encryption key:/{ s/^[^:]*:off/OPEN="yes"/ s/^[^:]*:.*/OPEN="no"/ H } ')|while read line; do RSSI= eval $line test -z "$noise" && noise=-95 test -z "$RSSI" && test "1" = "$IWTOOLS" && eval $(iwlist $WLDEV ap 2>&-|sed -ne" /$BSSID/s/^.*Signal level[:=]\\([-0-9]*\\).*Noise level[:=]\\([-0-9]*\\).*/RSSI=\"\\1\" noise=\"\\2\"/p ") gif=$(( $RSSI - $noise )) gif=$(( $gif / 5 )) test $gif -gt 5 && gif=5 test $gif -lt 0 && gif=0 cat< EOF done echo '
       
 
SSID Kanal Ad-Hoc Open Signal Max. BSSID
EOF echo '
$SSID$Channel ad hoc $OPEN P=$gif $RATE$BSSID
 ' cat<
EOF else cat<Status: Übersicht
EOF for if in $WLDEV;do ifconfig=`ifconfig $if |grep "inet addr:" |sed -e 's/:/ /g'` cat << EOF EOF done cat << EOF # s/./&/ tn c\ <\/TABLE> p } ' cat<
        EOF WLMASK=$(ip -f inet addr show dev $WLDEV label $WLDEV |sed -ne'2{s# \+inet \([0-9\.\/]\+\).*#\1#;p}') cat<
 
$if: IP: $(echo $ifconfig|cut -d ' ' -f 3), Maske: $(echo $ifconfig|cut -d ' ' -f 5), Broadcast: $(echo $ifconfig|cut -d ' ' -f 7)
MAC: $(ifconfig $if |grep HWaddr|sed -e 's/ */ /g' |cut -d " " -f 6)
WLAN-Status: EOF for if in $WLDEV;do if /rom/usr/sbin/wl -i $if status 2>&-;then echo "
" /rom/usr/sbin/wl -i $if rate /rom/usr/sbin/wl -i $if mrate else iwconfig $if 2>&- echo "
" fi done cat<
Gerätelaufzeit: $(uptime)
Geräteinfo: Machine: $(cat /proc/cpuinfo |grep "machine" |cut -d ":" -f 2)
Boardtype: $(cat /proc/cpuinfo |grep "system type" |cut -d ":" -f 2)
CPU: $(cat /proc/cpuinfo |grep "cpu model" |cut -d ":" -f 2) ($(cat /proc/cpuinfo |grep "BogoMIPS" |cut -d ":" -f 2) BogoMIPS)
Versionen: Firmware: $(cat /etc/banner |grep KAMIKAZE |sed -e 's/-//g')
Default-Route: $(ip route list exact 0/0|sed '1q'|sed 's#\([0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+\)#\1#') EOF cat<
Nachbarn: EOF wget -q -O - http://127.0.0.1:2006/neighbours|sed -ne' /^Table: Links/{ s/.*/<\TABLE FRAME="VOID" BORDER="1" CELLSPACING="0" CELLPADDING="1" WIDTH="400">/ :n p n s/^[^ ]* // s/^remote // s#\([0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+\)\([^/]\)#\1\2#g s/ $// s# ##g s#.\+#
&
Kernel-Log: Ein- / Ausblenden
EOF echo -n '' if pidof syslogd>/dev/null;then cat<
System-Log: Ein- / Ausblenden
EOF echo -n '' fi cat<
IP-NAT: Ein- / Ausblenden
EOF echo -n '' cat<
Schnittstellen-Konfiguration: Ein- / Ausblenden
EOF echo -n '' cat<
UCI-Konfiguration: Ein- / Ausblenden
EOF echo -n '' cat<
Aktive Verbindungen: Ein- / Ausblenden
EOF echo -n '' cat<
EOF if [ "00:90:96:00:00:00" = "$(nvram get et0macaddr)" ] || [ "00:90:96:00:00:02" = "$(nvram get il0macaddr)" ]; then cat<Warnung: Dieses SE505-Gerät hat nicht die korrekte MAC-Adresse. Das passiert beim Wiederherstellen der Ausliefer-Einstellungen. Lies die MAC-Adresse vom Geräteboden ab und korrigiere manuell auf der Kommandozeile, z.B. mit nvram set et0macaddr=xx:xx:xx:xx:xx:xx, nvram set il0macaddr=xx:xx:xx:xx:xx:[xx+1], nvram commit und reboot.

EOF fi fi . /www/cgi-bin-post.sh