sonic-buildimage/platform/innovium/sonic-platform-modules-wistron/6512-32r/utils/sonic-send-temp-to-bmc
RogerX87 33db298d70
[devices]: Update the Wistron platform support in master branch (#12110)
* Update the Wistron platform support in master branch

Signed-off-by: RogerX87 <RogerX87@gmail.com>
2023-02-23 09:08:13 -08:00

52 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
board_ver=$(ipmitool raw 0x30 0x25 0x1 0xe0 0x1 0x0 1>/dev/null 2>/dev/null; echo $?) #error will get 1 means EVT, otherwise DVT
send_temp_to_bmc()
{
c_path=$(ls /sys/devices/platform/coretemp.0/hwmon/)
c_temp=$(cat /sys/class/hwmon/$c_path/temp1_input)
cputemp=`expr $c_temp / 1000`
transceiver_temp=""
for i in $(seq 1 32);
do
index=$((i + 15));
path="/sys/bus/i2c/devices/0-00$(printf "%x" $index)/temp";
t_temp=$(cat $path)
transceiver_temp+="$transcevicer_temp $t_temp"
done
m2_temp=$(smartctl -A /dev/sda | egrep ^194 | awk '{print $10}')
d_dev=$(find /sys/devices/ -name 1-00\*)
d_path=$(ls $d_dev/hwmon/)
d_temp=$(cat /sys/class/hwmon/$d_path/temp1_input)
dimm_temp=`expr $d_temp / 1000`
ipmitool raw 0x30 0x8b $cputemp $transceiver_temp $m2_temp $dimm_temp
}
SEND_TEMP()
{
boot_time_barrier=1
while true
do
if [ -e /sys/bus/i2c/devices/0-0006/port1_present ] && [ -e /sys/bus/i2c/devices/0-0007/port32_present ] && [ -e /sys/bus/i2c/devices/0-002f/eeprom1 ];then
if [ $board_ver == 0 ]; then
if [ $boot_time_barrier == 1 ]; then
if [ -e /tmp/eeprom_init_done ]; then
boot_time_barrier=0
fi
else
send_temp_to_bmc
fi
fi
sleep 1;
fi
done
}
SEND_TEMP