115 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			115 lines
		
	
	
		
			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 %> <%: ${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} %> <%@ 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 %>
 |