#! /bin/sh
#
# NEC Express5800 series
# SNMP Responser
#

if [ $# -lt 1 ]; then
  echo "Argument error."
  exit
fi
VERSION="1.20"
IPMI="/usr/bin/ipmitool -I open"
TEMPHDD=/usr/bin/hddtemp
PRODNAME=`$IPMI fru | grep "Product Name"| awk '{print $4}'`

case $PRODNAME in
  Express5800/i110Rb-1h)
    HDDDEV=/dev/sda
    case $1 in
      fan)
         # 1st Line: CPU Fan RPM
         # 2nd Line: Rear FAN1 RPM
         # 3rd Line: Rear FAN1 RPM
        $IPMI sdr type fan | awk '{print $10}'
        ;;
      temp)
         # 1st Line: Baseboard Temperature
         # 2nd Line: Processor Temperature
         # 3rd Line: HDD Temperature
        $IPMI sdr type Temperature | awk '{print $10}'
        $TEMPHDD -n $HDDDEV
    esac
    ;;
  Express5800/iR110a-1)
    HDDDEV=/dev/sda
    case $1 in
      fan)
         # 1st Line: SF3  RPM
         # 2nd Line: SF5  RPM
         # 3rd Line: SF7  RPM
	 # 4th Line: SF9  RPM
         # 5th Line: SF11 RPM
        $IPMI sdr type fan | grep -v "No Reading" | awk '{print $10}'
        ;;
      temp)
         # 1st Line: Processor Temperature
         # 2nd Line: Baseboard Temperature
         # 3rd Line: HDD Temperature
        $IPMI sdr type Temperature | awk '{print $10}'
        $TEMPHDD -n $HDDDEV
    esac
    ;;
  Express5800/iR110a-1H)
    HDDDEV=/dev/sda
    case $1 in
      fan)
         # 1st Line: System Fan 1 RPM
         # 2nd Line: System Fan 2 RPM
         # 3rd Line: System Fan 3 RPM
        $IPMI sdr type fan | grep -v "No Reading" | awk '{print $11}'
        ;;
      temp)
         # 1st Line: FrontPanel intake air Temperature
         # 2nd Line: Processor Temperature
         # 3rd Line: Baseboard Temperature
         # 4th Line: HDD Temperature
        $IPMI sdr type Temperature | grep "FntPnl Amb Temp" | awk '{print $11}'
	$IPMI sdr type Temperature | grep -v "FntPnl Amb Temp" | grep -v "P Therm" | awk '{print $10}'
        $TEMPHDD -n $HDDDEV
    esac
    ;;
  Express5800/R110a-1H)
    HDDDEV=/dev/sda
    case $1 in
      fan)
         # 1st Line: System Fan 1 RPM
         # 2nd Line: System Fan 2 RPM
         # 3rd Line: System Fan 3 RPM
        $IPMI sdr type fan | grep -v "No Reading" | awk '{print $11}'
        ;;
      temp)
         # 1st Line: FrontPanel intake air Temperature
         # 2nd Line: Processor Temperature
         # 3rd Line: Baseboard Temperature
         # 4th Line: HDD Temperature
        $IPMI sdr type Temperature | grep "FntPnl Amb Temp" | awk '{print $11}'
	$IPMI sdr type Temperature | grep -v "FntPnl Amb Temp" | grep -v "P Therm" | awk '{print $10}'
        $TEMPHDD -n $HDDDEV
    esac
    ;;
  Express5800/E110b-1)
    HDDDEV=/dev/sda
    case $1 in
      fan)
         # 1st Line: System FAN1  RPM
         # 2nd Line: System FAN3  RPM
         # 3rd Line: System FAN5  RPM
         # 4th Line: System FAN6  RPM
         # 5th Line: System FAN7  RPM
         # 6th Line: System FAN8  RPM
         # 7th Line: System FAN11 RPM
        $IPMI sdr type fan | grep -v "No Reading" | awk '{print $10}'
        ;;
      temp)
         # 1st Line: FrontPanel intake air Temperature
         # 2nd Line: DIMM1 Temperature
         # 3rd Line: DIMM2 Temperature
         # 4th Line: DIMM3 Temperature
         # 5th Line: DIMM4 Temperature
         # 6th Line: DIMM5 Temperature
         # 7th Line: DIMM6 Temperature
         # 8th Line: HDD Temperature
        $IPMI sdr type Temperature | grep "FntPnl Amb Temp" | awk '{print $11}'
	$IPMI sdr type Temperature | grep -v "FntPnl Amb Temp" | grep -v "P Therm" | awk '{print $10}'
        $TEMPHDD -n $HDDDEV
    esac
    ;;
  Express5800/E110c-1)
    HDDDEV=/dev/sda
    case $1 in
      fan)
         # 1st Line: System FAN1  RPM
         # 2nd Line: System FAN3  RPM
         # 3rd Line: System FAN5  RPM
         # 4th Line: System FAN6  RPM
         # 5th Line: System FAN7  RPM
         # 6th Line: System FAN8  RPM
         # 7th Line: System FAN11 RPM
        $IPMI sdr type fan | grep -v "No Reading" | awk '{print $10}'
        ;;
      temp)
         # 1st Line: FrontPanel intake air Temperature
         # 2nd Line: DIMM1 Temperature
         # 3rd Line: DIMM2 Temperature
         # 4th Line: DIMM3 Temperature
         # 5th Line: DIMM4 Temperature
         # 6th Line: DIMM5 Temperature
         # 7th Line: DIMM6 Temperature
         # 8th Line: HDD Temperature
        $IPMI sdr type Temperature | grep "FntPnl Amb Temp" | awk '{print $11}'
	$IPMI sdr type Temperature | grep -v "FntPnl Amb Temp" | grep -v "P Therm" | awk '{print $10}'
        $TEMPHDD -n $HDDDEV
    esac
    ;;
esac
