feat(script : nicsensor.sh)Update to version 1.3 Intest Rev7

1.补充usage,添加对新特性的描述
2.移除对channel name的校验,简化脚本
This commit is contained in:
leimingsheng 2024-12-26 16:59:03 +08:00
parent 3ca7de0ecf
commit 75658f06e8
2 changed files with 1321 additions and 1337 deletions

@ -134,7 +134,7 @@ ina3221_ch2_volt="0"
ina3221_ch0_current="0" ina3221_ch0_current="0"
ina3221_ch1_current="0" ina3221_ch1_current="0"
ina3221_ch2_current="0" ina3221_ch2_current="0"
SCRIPT_VERSION="1.3 Intest Rev6" SCRIPT_VERSION="1.3 Intest Rev7"
fru_file_name=$option_data2 fru_file_name=$option_data2
fru_write_size=0 fru_write_size=0
@ -147,6 +147,18 @@ res_tmp468=""
# Script Function Defination # Script Function Defination
# --------------------------------------------------------- # ---------------------------------------------------------
print_ocp_usage(){
echo "----------------------------------------------------------------"
echo " To test OCP Nic on server, support command as:"
echo " 1.detect function"
echo " ./nicsensor.sh detect ocp"
echo " 2.Reading sensors"
echo " ./nicsensor.sh ocp0 emc1413 0x4c"
echo ""
echo " Now only 5280m7 support to test ocp card"
echo ""
}
# script usage # script usage
print_usage(){ print_usage(){
echo "" echo ""
@ -156,10 +168,14 @@ print_usage(){
echo " [slot] : 0 1 2 3 4 5 ..." echo " [slot] : 0 1 2 3 4 5 ..."
echo " [sensor type] : $Support_Sensor_List" echo " [sensor type] : $Support_Sensor_List"
echo " [slave] : chip slave address , please provide 7 bit address" echo " [slave] : chip slave address , please provide 7 bit address"
echo " E.G. : ./nicsensor.sh 0 adc128 0x1f" echo " E.G. : ./nicsensor.sh 1 adc128 0x1f"
echo " ./nicsensor.sh pcie1 ina3221 0x42"
echo " ./nicsensor.sh ocp0 emc1413 0x4c"
echo "" echo ""
echo " To Auto detect i2c slave on server, please use:" echo " To Auto detect i2c slave on server, please use:"
echo " ./nicsensor.sh detect" echo " ./nicsensor.sh detect"
echo " ./nicsensor.sh detect pcie"
echo " ./nicsensor.sh detect ocp [some server don't support]"
echo " This function now only support on server:" echo " This function now only support on server:"
echo " $Support_Server_List" echo " $Support_Server_List"
echo "" echo ""
@ -169,7 +185,7 @@ print_usage(){
echo "" echo ""
echo " If want to use debug mode, please modify the DEBUG_MODE to 1" echo " If want to use debug mode, please modify the DEBUG_MODE to 1"
echo " now status : DEBUG_MODE = $DEBUG_MODE" echo " now status : DEBUG_MODE = $DEBUG_MODE"
echo "" print_ocp_usage
} }
print_chip_command_format(){ print_chip_command_format(){
@ -194,14 +210,6 @@ format_log_print(){
echo "[$1] $2" >> $log echo "[$1] $2" >> $log
} }
# Customization name cant contain the space character
# @Param1 : name
check_customization_name(){
if [ "$1" == *" "* ];then
format_log_print $ERROR "'$1' has a space, invalid name"
fi
}
# switch pca9548 channels then do i2cdetect one times # switch pca9548 channels then do i2cdetect one times
# @Param1 i2c bus number # @Param1 i2c bus number
# @Param2 pca9548 slave address # @Param2 pca9548 slave address
@ -225,38 +233,6 @@ conf_pre_check(){
format_print $ERROR "Invalid conf value, DEBUG_MODE: $DEBUG_MODE" format_print $ERROR "Invalid conf value, DEBUG_MODE: $DEBUG_MODE"
exit 1 exit 1
fi fi
# In debug mode, check channel name
if [ $DEBUG_MODE -eq 1];then
check_customization_name "$ADC128_Channel0_name"
check_customization_name "$ADC128_Channel1_name"
check_customization_name "$ADC128_Channel2_name"
check_customization_name "$ADC128_Channel3_name"
check_customization_name "$ADC128_Channel4_name"
check_customization_name "$ADC128_Channel5_name"
check_customization_name "$ADC128_Channel6_name"
check_customization_name "$ADC128_Channel7_name"
check_customization_name "$INA3221_Channel0_name"
check_customization_name "$INA3221_Channel1_name"
check_customization_name "$INA3221_Channel2_name"
check_customization_name "$EMC1413_Channel0_name"
check_customization_name "$EMC1413_Channel1_name"
check_customization_name "$EMC1413_Channel2_name"
check_customization_name "$TMP468_Channel0_name"
check_customization_name "$TMP468_Channel1_name"
check_customization_name "$TMP468_Channel2_name"
check_customization_name "$TMP468_Channel3_name"
check_customization_name "$TMP468_Channel4_name"
check_customization_name "$TMP468_Channel5_name"
check_customization_name "$TMP468_Channel6_name"
check_customization_name "$TMP468_Channel7_name"
check_customization_name "$TMP468_Channel8_name"
check_customization_name "$TMP112_Sensor_name"
fi
} }
set_configuration_5280m7(){ set_configuration_5280m7(){
@ -631,9 +607,9 @@ read_emc1413_channel_value(){
# start parse raw data # start parse raw data
echo ">>> The emc1413 value is:" echo ">>> The emc1413 value is:"
convert_emc1413_data $res_td1_h $res_td1_l $EMC1413_Channel0_name convert_emc1413_data $res_td1_h $res_td1_l "$EMC1413_Channel0_name"
convert_emc1413_data $res_td2_h $res_td2_l $EMC1413_Channel1_name convert_emc1413_data $res_td2_h $res_td2_l "$EMC1413_Channel1_name"
convert_emc1413_data $res_td3_h $res_td3_l $EMC1413_Channel2_name convert_emc1413_data $res_td3_h $res_td3_l "$EMC1413_Channel2_name"
} }
@ -720,14 +696,14 @@ read_adc128_channel_value(){
# start parse raw data # start parse raw data
echo ">>> The ADC128 value is :" echo ">>> The ADC128 value is :"
convert_adc128_data $res_ch0 $ADC128_Channel0_name $votage_division_factor_0 convert_adc128_data $res_ch0 "$ADC128_Channel0_name" $votage_division_factor_0
convert_adc128_data $res_ch1 $ADC128_Channel1_name $votage_division_factor_1 convert_adc128_data $res_ch1 "$ADC128_Channel1_name" $votage_division_factor_1
convert_adc128_data $res_ch2 $ADC128_Channel2_name $votage_division_factor_2 convert_adc128_data $res_ch2 "$ADC128_Channel2_name" $votage_division_factor_2
convert_adc128_data $res_ch3 $ADC128_Channel3_name $votage_division_factor_3 convert_adc128_data $res_ch3 "$ADC128_Channel3_name" $votage_division_factor_3
convert_adc128_data $res_ch4 $ADC128_Channel4_name $votage_division_factor_4 convert_adc128_data $res_ch4 "$ADC128_Channel4_name" $votage_division_factor_4
convert_adc128_data $res_ch5 $ADC128_Channel5_name $votage_division_factor_5 convert_adc128_data $res_ch5 "$ADC128_Channel5_name" $votage_division_factor_5
convert_adc128_data $res_ch6 $ADC128_Channel6_name $votage_division_factor_6 convert_adc128_data $res_ch6 "$ADC128_Channel6_name" $votage_division_factor_6
convert_adc128_data $res_ch7 $ADC128_Channel7_name $votage_division_factor_7 convert_adc128_data $res_ch7 "$ADC128_Channel7_name" $votage_division_factor_7
} }
process_adc128(){ process_adc128(){
@ -840,14 +816,14 @@ read_ina3221_channel_value(){
# start parse raw data # start parse raw data
echo ">>> The INA3221 shunt value is :" echo ">>> The INA3221 shunt value is :"
convert_ina3221_data $res_ch0 0 $INA3221_SHUNT_VOLT $shunt_resistor_0 $INA3221_Channel0_name convert_ina3221_data $res_ch0 0 $INA3221_SHUNT_VOLT $shunt_resistor_0 "$INA3221_Channel0_name"
convert_ina3221_data $res_ch1 1 $INA3221_SHUNT_VOLT $shunt_resistor_1 $INA3221_Channel1_name convert_ina3221_data $res_ch1 1 $INA3221_SHUNT_VOLT $shunt_resistor_1 "$INA3221_Channel1_name"
convert_ina3221_data $res_ch2 2 $INA3221_SHUNT_VOLT $shunt_resistor_2 $INA3221_Channel2_name convert_ina3221_data $res_ch2 2 $INA3221_SHUNT_VOLT $shunt_resistor_2 "$INA3221_Channel2_name"
echo ">>> The INA3221 bus value is :" echo ">>> The INA3221 bus value is :"
convert_ina3221_data $res_bus0 0 $INA3221_BUS_VOLT null $INA3221_Channel0_name convert_ina3221_data $res_bus0 0 $INA3221_BUS_VOLT null "$INA3221_Channel0_name"
convert_ina3221_data $res_bus1 1 $INA3221_BUS_VOLT null $INA3221_Channel1_name convert_ina3221_data $res_bus1 1 $INA3221_BUS_VOLT null "$INA3221_Channel1_name"
convert_ina3221_data $res_bus2 2 $INA3221_BUS_VOLT null $INA3221_Channel2_name convert_ina3221_data $res_bus2 2 $INA3221_BUS_VOLT null "$INA3221_Channel2_name"
echo ">>> The INA3221 bus power is :" echo ">>> The INA3221 bus power is :"
convert_ina3221_data 0 0 0 $INA3221_POWER convert_ina3221_data 0 0 0 $INA3221_POWER
@ -917,15 +893,15 @@ read_tmp468_value(){
tmp468_res9_l=`echo $res_tmp468 | awk '{print $18}'` tmp468_res9_l=`echo $res_tmp468 | awk '{print $18}'`
format_print $INFO "Tmp468 read result:" format_print $INFO "Tmp468 read result:"
convert_tmp468_data $tmp468_res1_h $tmp468_res1_l $TMP468_Channel0_name convert_tmp468_data $tmp468_res1_h $tmp468_res1_l "$TMP468_Channel0_name"
convert_tmp468_data $tmp468_res2_h $tmp468_res2_l $TMP468_Channel1_name convert_tmp468_data $tmp468_res2_h $tmp468_res2_l "$TMP468_Channel1_name"
convert_tmp468_data $tmp468_res3_h $tmp468_res3_l $TMP468_Channel2_name convert_tmp468_data $tmp468_res3_h $tmp468_res3_l "$TMP468_Channel2_name"
convert_tmp468_data $tmp468_res4_h $tmp468_res4_l $TMP468_Channel3_name convert_tmp468_data $tmp468_res4_h $tmp468_res4_l "$TMP468_Channel3_name"
convert_tmp468_data $tmp468_res5_h $tmp468_res5_l $TMP468_Channel4_name convert_tmp468_data $tmp468_res5_h $tmp468_res5_l "$TMP468_Channel4_name"
convert_tmp468_data $tmp468_res6_h $tmp468_res6_l $TMP468_Channel5_name convert_tmp468_data $tmp468_res6_h $tmp468_res6_l "$TMP468_Channel5_name"
convert_tmp468_data $tmp468_res7_h $tmp468_res7_l $TMP468_Channel6_name convert_tmp468_data $tmp468_res7_h $tmp468_res7_l "$TMP468_Channel6_name"
convert_tmp468_data $tmp468_res8_h $tmp468_res8_l $TMP468_Channel7_name convert_tmp468_data $tmp468_res8_h $tmp468_res8_l "$TMP468_Channel7_name"
convert_tmp468_data $tmp468_res9_h $tmp468_res9_l $TMP468_Channel8_name convert_tmp468_data $tmp468_res9_h $tmp468_res9_l "$TMP468_Channel8_name"
} }
process_tmp468(){ process_tmp468(){
@ -977,7 +953,7 @@ read_tmp112_value(){
format_log_print $INFO "Tmp112 raw data: $res_tmp112" format_log_print $INFO "Tmp112 raw data: $res_tmp112"
format_print $INFO "Tmp112 read result:" format_print $INFO "Tmp112 read result:"
convert_tmp112_data $res_tmp112 $TMP112_Sensor_name convert_tmp112_data $res_tmp112 "$TMP112_Sensor_name"
} }
process_tmp112(){ process_tmp112(){

@ -17,7 +17,7 @@
### 正文 ### 正文
一、脚本使用方法 Version1.2 一、脚本使用方法 Version1.3
1.1、修改项目专属配置 1.1、修改项目专属配置
针对不同项目,请先修改脚本中的部分变量(ADC128电压传感器的分压系数,INA3221的分流精密电阻阻值) 针对不同项目,请先修改脚本中的部分变量(ADC128电压传感器的分压系数,INA3221的分流精密电阻阻值)
@ -25,6 +25,8 @@
5280m7 5280m7
5468m7 5468m7
donghu donghu
yichun
qiandaohu
1.2、增加脚本可执行权限 1.2、增加脚本可执行权限
@ -42,6 +44,9 @@
举例说明:读取PCIE 1 上网卡的adc128芯片, 芯片slave地址为0x1f 举例说明:读取PCIE 1 上网卡的adc128芯片, 芯片slave地址为0x1f
./nicsensor.sh 1 adc128 0x1f ./nicsensor.sh 1 adc128 0x1f
如果需要读取OCP 0上网卡的adc128芯片则命令需要写为
./nicsensor.sh ocp0 adc128 0x1f
1.4、特殊命令 1.4、特殊命令
1.4.1 Detect命令 1.4.1 Detect命令
@ -50,6 +55,9 @@
命令: ./nicsensor.sh detect 命令: ./nicsensor.sh detect
如果需要扫描OCP上的I2C设备执行
./nicsensor.sh detect ocp
1.4.2 fru命令 1.4.2 fru命令
命令: ./nicsensor.sh <pcie_slot> fru <chip_slave> read 命令: ./nicsensor.sh <pcie_slot> fru <chip_slave> read