#!/bin/sh model=`/sbin/sysctl hw.model | cut -d" " -f 3` /usr/sbin/envstat | awk -v model="$model" ' BEGIN { printf("Model: %s\n", model); section = ""; } { if ($1 ~ /^\[.*]$/) section = $1; if (model == "SUNW,Sun-Blade-1000") { if (section ~ /admtemp[0-3]/) { n = section; sub("\\[admtemp", "", n); sub("]", "", n); c = " cpu" n; $1 ~ /internal/ sub(" internal", " ambient"); $1 ~ /external/ sub(" external", c); } } if (model == "SUNW,Sun-Fire-V240" || model == "SUNW,Sun-Fire-V210") { $1 ~ /fan 0/ sub("fan 0", "F0.RS"); $1 ~ /fan 1/ sub("fan 1", "F1.RS"); $1 ~ /fan 2/ sub("fan 2", "F2.RS"); $1 ~ /fan 4/ sub(" fan 4", "MB.P0.F1.RS"); $1 ~ /fan 5/ sub(" fan 5", "MB.P1.F0.RS"); $1 ~ /fan 6/ sub(" fan 6", "MB.P0.F0.RS"); $1 ~ /fan 7/ sub(" fan 7", "MB.P1.F1.RS"); $1 ~ /external 1/ sub(" external 1", "MB.P0.T_CORE"); $1 ~ /external 2/ sub(" external 2", "MB.P1.T_CORE"); $1 ~ /Vbatt/ sub(" Vbatt", "MB.BAT.V_BAT"); $1 ~ /Vccp/ sub(" Vccp", "MB.P0.V_CORE"); $1 ~ /V3.0 0/ sub(" V3.0 0", "MB.V_+1V5"); $1 ~ /V3.0 1/ sub(" V3.0 1", "MB.V_+2V5"); $1 ~ /V3.0 2/ sub(" V3.0 2", "MB.V_VCCTM"); $1 ~ /V3.0 3/ sub(" V3.0 3", "MB.V_GBE_CORE"); $1 ~ /V3.0 4/ sub(" V3.0 4", "MB.V_GBE_+2V5"); $1 ~ /V2.5 0/ sub(" V2.5 0", "MB.V_VTT"); $1 ~ /V2.5 1/ sub(" V2.5 1", "MB.P1.V_CORE"); $1 ~ /temperature-sensor/ sub("temperature-sensor", " MB.T_ENC"); } if (model == "SUNW,Sun-Fire-V210") { $1 ~ /fan 3/ sub("fan 3", "F3.RS"); } if (model == "SUNW,Sun-Fire-V440") { if (section ~ /adm1026hm0/) { $1 ~ /fan 0/ sub(" fan 0", "FT0.F0.TACH"); $1 ~ /fan 1/ sub(" fan 1", "FT1.F0.TACH"); $1 ~ /fan 2/ sub(" fan 2", "FT1.F1.TACH"); $1 ~ /Vbatt/ sub(" Vbatt", "MB.BAT.V_BAT"); $1 ~ /internal/ sub(" internal", "SCSIBP.T_AMB"); $1 ~ /V3.3 standby/ sub(" V3.3 standby", "MB.V_+3V3STBY"); $1 ~ /V3.3 main/ sub(" V3.3 main", " MB.V_+3V3"); $1 ~ /V5.0/ sub(" V5.0", "MB.V_+5V"); $1 ~ /V+12/ sub(" V+12", "MB.V_+12V"); $1 ~ /V-12/ sub(" V+12", "MB.V_-12V"); $1 ~ /V3.0 0/ sub(" V3.0 0", "MB.V_+1V5"); $1 ~ /V3.0 1/ sub(" V3.0 1", "MB.V_VCCTM"); $1 ~ /V3.0 2/ sub(" V3.0 2", "MB.V_SCSI_CORE"); $1 ~ /V3.0 3/ sub(" V3.0 3", "MB.V_NET0_1V2D"); $1 ~ /V3.0 4/ sub(" V3.0 4", "MB.V_NET1_1V2D"); $1 ~ /V3.0 5/ sub(" V3.0 5", "MB.V_NET0_1V2A"); $1 ~ /V2.5 0/ sub(" V2.5 0", "MB.V_NET1_1V2A"); } if (section ~ /admtemp[0-3]/) { n = section; sub("\\[admtemp", "", n); sub("]", "", n); i = "C" n ".T_AMB"; e = "C" n ".P0.T_CORE"; $1 ~ /internal/ sub(" internal", i); $1 ~ /external/ sub("external", e); } $1 ~ /temperature-sensor/ sub("temperature-sensor", " MB.T_AMB"); } print; }'