webui/files/usr/lib/kagera/config/overview.cbsi

115 行
3.8 KiB
Plaintext

#!/usr/bin/cbsi
<%
. /etc/version && . /etc/openwrt_release
MEM_FREE=$(sed -e '/^MemFree: /!d; s#MemFree: *##; s# kB##g' /proc/meminfo | awk '{printf "%.2f", $1/1000}')
MEM_TOTAL=$(sed -e '/^MemTotal: /!d; s#MemTotal: *##; s# kB##g' /proc/meminfo | awk '{printf "%.2f", $1/1000}')
MEM_PERCENT=$(echo "${MEM_FREE} ${MEM_TOTAL}" | awk '{printf "%.2f", $1*100/$2}')
UPTIME=$(cat /proc/uptime | cut -d '.' -f1)
UPTIME_S=$(printf "%02d" $((UPTIME%60)))
UPTIME_M=$(printf "%02d" $((UPTIME/60%60)))
UPTIME_H=$(printf "%02d" $((UPTIME/60/60%24)))
UPTIME_D=$((UPTIME/60/60/24))
if [ -f /sbin/swconfig ]; then
BOARD=$(cat /tmp/sysinfo/board_name)
case "${BOARD}" in
routerstation-pro)
SWPORTS="4 3 2"
WANPORT="eth0";;
*)
SWPORTS="";;
esac
if [ "${SWPORTS}" != "" ]; then
if [ "$(ethtool ${WANPORT} | grep "Link detected" | cut -d" " -f3)" == "no" ]; then
STATUS="-----"
IMG="off"
else
LINK=$(ethtool ${WANPORT} | grep "Speed" | cut -d" " -f2)
IMG="on"
case "${LINK}" in
"1000Mb/s") STATUS="1 Gbit/s";;
"100Mb/s") STATUS="100 Mbit/s";;
*) STATUS="10 Mbit/s";;
esac
fi
PORTNO="${PORTNO}<td>WAN</td><td></td>"
PORTIMG="${PORTIMG}<td><img src=\"themes/kagera/images/rj45${IMG}.gif\" alt=\"${IMG}\" /></td><td></td>"
PORTSPEED="${PORTSPEED}<td>${STATUS}</td><td></td>"
for PORT in ${SWPORTS}; do
LINK=$(swconfig dev switch0 port $PORT get link | cut -f2,3 -d" ")
N=$((N+1))
case "${LINK}" in
"link:up speed:1000baseT") STATUS="1 Gbit/s" IMG="on";;
"link:up speed:100baseT") STATUS="100 Mbit/s" IMG="on";;
"link:up speed:10baseT") STATUS="10 Mbit/s" IMG="on";;
"link:down") STATUS="-----" IMG="off";;
esac
PORTNO="${PORTNO}<td>LAN ${N}</td>"
PORTIMG="${PORTIMG}<td><img src=\"themes/kagera/images/rj45${IMG}.gif\" alt=\"${IMG}\" /></td>"
PORTSPEED="${PORTSPEED}<td>${STATUS}</td>"
done
fi
fi
%>
<h1><%@ System Overview %></h1>
<table class="confdata">
<tr>
<td class="name"><%@ Router Model %></td>
<td class="value"><% [ -e /tmp/sysinfo/model ] && cat /tmp/sysinfo/model || %><%@ Unknown %></td>
</tr>
<tr>
<td class="name"><%@ Chipset %></td>
<td class="value"><% cat /proc/cpuinfo | sed 2,20d | cut -c16- %></td>
</tr>
<tr>
<td class="name"><%@ CPU Frequency %></td>
<td class="value"><% dmesg | grep Clocks: | awk -F: '{print $3}' | cut -d. -f1 %> <small>MHz</small></td>
</tr>
<tr>
<td class="name"><%@ Flash Size %></td>
<td class="value"><% dmesg | grep m25p80 | grep Kbytes | cut -d '(' -f2 | cut -d ' ' -f1 | awk '{print $1/1024}' %> <small>MB</small></td>
</tr>
<tr>
<td class="name"><%@ Firmware Version %></td>
<td class="value"><%: ${SYSTEM_VERSION} %>, <%@ built on %>&nbsp;<%: ${SYSTEM_BUILDDATE} %></td>
</tr>
<tr>
<td class="name"><%@ OpenWrt Revision %></td>
<td class="value"><%: ${DISTRIB_REVISION} %></td>
</tr>
<tr>
<td class="spacer" colspan="2"></td>
</tr>
<tr>
<td class="name"><%@ Current Date & Time %></td>
<td class="value"><% date "+%d/%m/%Y %H:%M:%S %Z" %></td>
</tr>
<tr>
<td class="name"><%@ System Uptime %></td>
<td class="value"><%: ${UPTIME_D} %>&nbsp;<%@ days %>, <%: ${UPTIME_H}:${UPTIME_M}:${UPTIME_S} %></td>
</tr>
<tr>
<td class="name"><%@ Total / Free Memory %></td>
<td class="value"><%: ${MEM_TOTAL} %> <small>MB</small> / <%: ${MEM_FREE} %> <small>MB (<%: ${MEM_PERCENT}% %>)</small></td>
</tr>
<tr>
<td class="name"><%@ CPU Load <small>(1 / 5 / 15 mins)</small> %></td>
<td class="value"><% awk '{print $1 " / " $2 " / " $3}' /proc/loadavg %></td>
</tr>
</table>
<% if [ "${SWPORTS}" != "" ]; then %>
<h2><%@ Ethernet Ports State %></h2>
<table class="portstate">
<tr class="portno">
<%: ${PORTNO} %>
</tr>
<tr class="portimg">
<%: ${PORTIMG} %>
</tr>
<tr class="portspeed">
<%: ${PORTSPEED} %>
</tr>
</table>
<% fi %>