#!/bin/sh . /www/cgi-bin/functions.sh if [ "`$nvram get lock_web`" != "" -a "$($nvram get lock_show_refreshpage)" != "" ];then lock_cgiwait_show return fi timereset=$($nvram get timereset) if [ "x$timereset" = "x" ];then timereset=5 fi wlan_get_mode=$($nvram get wl_mode) port_status=$(cat /tmp/port_status) info_get_wanproto=$($nvram get wan_proto) wan_interface=$($nvram get wan_hwifname) wan_ppp_interface=$($nvram get wan_ifname) wlan_interface=$($nvram get wl_ifname) sys_uptime=$([ -f /proc/uptime ] && cat /proc/uptime | awk '{print $1}' | awk -F. '{print $1}') vlan01_value=`ifconfig | grep ^br0` if [ "x$vlan01_value" != "x" ];then lan_rxpkts=$(grep "br0" /proc/net/dev | awk -F: '{print $2}' | awk '{print $2}') lan_txpkts=$(grep "br0" /proc/net/dev | awk -F: '{print $2}' | awk '{print $10}') lan_collisions=$(grep "eth0" /proc/net/dev | awk -F: '{print $2}' | awk '{print $14}') lan_rxbs=$(grep "br0" /proc/net/dev | awk -F: '{print $2}' | awk '{print $1}') lan_txbs=$(grep "br0" /proc/net/dev | awk -F: '{print $2}' | awk '{print $9}') else lan_rxpkts=0 lan_txpkts=0 lan_collisions=0 lan_rxbs=0 lan_txbs=0 fi lan_status0=$([ -f /tmp/LAN0_status ] && cat /tmp/LAN0_status || echo "Link down") lan_status1=$([ -f /tmp/LAN1_status ] && cat /tmp/LAN1_status || echo "Link down") lan_status2=$([ -f /tmp/LAN2_status ] && cat /tmp/LAN2_status || echo "Link down") lan_status3=$([ -f /tmp/LAN3_status ] && cat /tmp/LAN3_status || echo "Link down") if [ "$lan_status0" = "Link down" -a "$lan_status1" = "Link down" -a "$lan_status2" = "Link down" -a "$lan_status3" = "Link down" ];then lan_rxbs=0 lan_txbs=0 fi wan_status="Link down" wan_txbs=0 wan_rxpkts=0 wan_txpkts=0 wan_collisions=0 wan_rxbs=0 if [ "$info_get_wanproto" = "dhcp" -o "$info_get_wanproto" = "bigpond" -o "$info_get_wanproto" = "static" ];then eth1_value=`ifconfig | grep $wan_interface` if [ "x$eth1_value" != "x" ];then wan_txbs=$(grep "${wan_interface}:" /proc/net/dev | awk -F: '{print $2}' | awk '{print $9}') wan_rxpkts=$(ifconfig $wan_interface | grep RX | grep packets | awk '/RX/{print $2}' | awk -F: '{print $2}') wan_txpkts=$(ifconfig $wan_interface | grep TX | grep packets | awk '/TX/{print $2}' | awk -F: '{print $2}') wan_collisions=$(ifconfig $wan_interface | grep collisions | awk '/collisions/{print $1}' | awk -F: '{print $2}') wan_rxbs=$(grep "${wan_interface}:" /proc/net/dev | awk -F: '{print $2}' | awk '{print $1}') if [ "$port_status" = "1" ];then wan_status=$([ -f /tmp/WAN_status ] && cat /tmp/WAN_status || echo "Link down") else wan_status="Link down" fi fi fi if [ "$info_get_wanproto" = "pppoe" -o "$info_get_wanproto" = "pptp" -o "$info_get_wanproto" = "mulpppoe1" ];then ppp_value=`ifconfig | grep $wan_ppp_interface` if [ "x$ppp_value" != "x" ];then wan_txbs=$(grep "$wan_ppp_interface" /proc/net/dev | awk -F: '{print $2}' | awk '{print $9}') wan_rxpkts=$(ifconfig $wan_ppp_interface | grep RX | grep packets | awk '/RX/{print $2}' | awk -F: '{print $2}') wan_txpkts=$(ifconfig $wan_ppp_interface | grep TX | grep packets | awk '/TX/{print $2}' | awk -F: '{print $2}') wan_collisions=$(ifconfig $wan_ppp_interface | grep collisions | awk '/collisions/{print $1}' | awk -F: '{print $2}') wan_rxbs=$(grep "$wan_ppp_interface" /proc/net/dev | awk -F: '{print $2}' | awk '{print $1}') if [ "$port_status" = "1" ];then wan_status=$([ -f /tmp/WAN_status ] && cat /tmp/WAN_status || echo "Link down") else wan_status="Link down" fi fi fi ath0_value=`ifconfig | grep $wlan_interface` wds_endis_fun=$($nvram get wds_endis_fun) wds_repeater_basic=$($nvram get wds_repeater_basic) wds_endis_ip_client=$($nvram get wds_endis_ip_client) if [ "x$ath0_value" != "x" ];then ap_rxpkts=$(grep "${wlan_interface}:" /proc/net/dev | awk -F: '{print $2}' | awk '{print $2}') ap_txpkts=$(grep "${wlan_interface}:" /proc/net/dev | awk -F: '{print $2}' | awk '{print $10}') ap_collisions=$(grep "${wlan_interface}:" /proc/net/dev | awk -F: '{print $2}' | awk '{print $14}') ap_rxbs=$(grep "${wlan_interface}:" /proc/net/dev | awk -F: '{print $2}' | awk '{print $1}') ap_txbs=$(grep "${wlan_interface}:" /proc/net/dev | awk -F: '{print $2}' | awk '{print $9}') if [ "$wlan_get_mode" = "3" ];then ap_status="300M" elif [ "$wlan_get_mode" = "2" ];then ap_status="145M" else ap_status="54M" fi else ap_rxpkts=0 ap_txpkts=0 ap_collisions=0 ap_rxbs=0 ap_txbs=0 ap_status="Link down" fi if [ "$lan_status0" != "Link down" ];then LAN0_uptime=$(cat /tmp/LAN0_uptime | awk -F. '{print $1}' ) if [ "x$LAN0_uptime" = "x" ];then LAN0_uptime=0 fi lan0_systime=$(($sys_uptime-$LAN0_uptime)) fi if [ "$lan_status1" != "Link down" ];then LAN1_uptime=$(cat /tmp/LAN1_uptime | awk -F. '{print $1}' ) if [ "x$LAN1_uptime" = "x" ];then LAN1_uptime=0 fi lan1_systime=$(($sys_uptime-$LAN1_uptime)) fi if [ "$lan_status2" != "Link down" ];then LAN2_uptime=$(cat /tmp/LAN2_uptime | awk -F. '{print $1}' ) if [ "x$LAN2_uptime" = "x" ];then LAN2_uptime=0 fi lan2_systime=$(($sys_uptime-$LAN2_uptime)) fi if [ "$lan_status3" != "Link down" ];then LAN3_uptime=$(cat /tmp/LAN3_uptime | awk -F. '{print $1}' ) if [ "x$LAN3_uptime" = "x" ];then LAN3_uptime=0 fi lan3_systime=$(($sys_uptime-$LAN3_uptime)) fi if [ "$wan_status" != "Link down" ];then WAN_uptime=$(cat /tmp/WAN_uptime | awk -F. '{print $1}') if [ "x$WAN_uptime" = "x" ];then WAN_uptime=0 fi wan_systime=$(($sys_uptime-$WAN_uptime)) WAN_RE_uptime=$(cat /tmp/WAN_RE_uptime | awk -F. '{print $1}') if [ "x$WAN_RE_uptime" = "x" ];then WAN_RE_uptime=0 fi wan_runtime=$(($sys_uptime-$WAN_RE_uptime)) if [ "$wan_runtime" -lt '0' ]; then wan_runtime=1 fi else wan_runtime=0 fi if [ "$ap_status" != "Link down" ];then if [ -f /tmp/WLAN_uptime ];then ap_uptime=$(cat /tmp/WLAN_uptime | awk -F. '{print $1}') if [ "x$ap_uptime" = "x" ];then ap_uptime=0 fi ap_systime=$(($sys_uptime-$ap_uptime)) else ap_systime=0 fi else ap_systime=0 fi print_cgi_header print_http_header "/funcs.js" print_nobody_header "show_statistic.html" "show_statistic" cat < var lan_rxpkts=$lan_rxpkts; var lan_txpkts=$lan_txpkts; var lan_collisions=$lan_collisions; var lan_rxbs=($lan_rxbs-($lan_rxbs%$sys_uptime))/$sys_uptime; var lan_txbs=($lan_txbs-($lan_txbs%$sys_uptime))/$sys_uptime; var wan_txbs=$wan_txbs; var wan_rxpkts=$wan_rxpkts; var wan_txpkts=$wan_txpkts; var wan_collisions=$wan_collisions; var wan_rxbs=$wan_rxbs; var ap_rxpkts=$ap_rxpkts; var ap_txpkts=$ap_txpkts; var ap_collisions=$ap_collisions; var ap_rxbs=$ap_rxbs; var ap_txbs=$ap_txbs; if ("$ap_systime" == "0") { ap_rxbs=0; ap_txbs=0; } else { ap_rxbs=($ap_rxbs-($ap_rxbs%$ap_systime))/$ap_systime; ap_txbs=($ap_txbs-($ap_txbs%$ap_systime))/$ap_systime; } if ("$wan_status" == "Link down") { wan_rxbs=0; wan_txbs=0; } else { wan_txbs=($wan_txbs-($wan_txbs%$wan_runtime))/$wan_runtime; wan_rxbs=($wan_rxbs-($wan_rxbs%$wan_runtime))/$wan_runtime; } var timereset="$timereset"; if( timereset != "0") document.write('');   $wan_status 1 $lan_status0 2 $lan_status1 3 $lan_status2 4 $lan_status3 $ap_status EOF if [ "$timereset" != "0" ];then echo " (secs)" else echo " (secs)" fi cat < EOF print_http_footer_show