From 9eb8564b6cb2259cf0a5bc128c1413ab8cca7200 Mon Sep 17 00:00:00 2001 From: marcinlei Date: Thu, 28 Nov 2024 23:13:26 +0800 Subject: [PATCH] =?UTF-8?q?refactor(script=20:=20nicsensor.sh)Update=20to?= =?UTF-8?q?=20version=201.2=20Intest=20Rev7=201.=E9=87=8D=E6=9E=84detect?= =?UTF-8?q?=E9=83=A8=E5=88=86=E7=9A=84=E4=BB=A3=E7=A0=81=EF=BC=8C=E5=A2=9E?= =?UTF-8?q?=E5=BC=BA=E4=BB=A3=E7=A0=81=E5=8F=AF=E8=AF=BB=E6=80=A7=E4=B8=8E?= =?UTF-8?q?=E6=95=B4=E6=B4=81=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 02.nicsensor/nicsensor.sh | 206 ++++++++++---------------------------- 1 file changed, 53 insertions(+), 153 deletions(-) diff --git a/02.nicsensor/nicsensor.sh b/02.nicsensor/nicsensor.sh index 2fb3dcf..567ffd8 100644 --- a/02.nicsensor/nicsensor.sh +++ b/02.nicsensor/nicsensor.sh @@ -133,7 +133,7 @@ ina3221_ch2_volt="0" ina3221_ch0_current="0" ina3221_ch1_current="0" ina3221_ch2_current="0" -SCRIPT_VERSION="1.2 InTest Rev6" +SCRIPT_VERSION="1.2 InTest Rev7" fru_file_name=$option_data2 fru_write_size=0 @@ -189,6 +189,18 @@ format_log_print(){ echo "[$1] $2" >> $log } +# 切换一次9548的channel并进行一次标准的i2cdetect +# @Param1 i2c bus number +# @Param2 pca9548 slave address +# @Param3 pca9548 channel hex value +# @Param4 pca9548 channel +# @Param5 pcie slot number +do_i2c_detect(){ + format_print $INFO "PCIe slot $5 : bus$1 9548channel$4" + i2ctransfer -y $1 w1@$2 $3 + i2cdetect -y $1 +} + # 自查一些脚本中的属性配置 conf_pre_check(){ @@ -927,33 +939,17 @@ detect_on_5280m7(){ pca9641_slave="0x41" get_pca9641_controll - format_print $INFO "PCIe slot 0 : bus12 9548channel 1" - i2ctransfer -y $i2c_bus w1@0x72 0x02 - i2cdetect -y $i2c_bus - - format_print $INFO "PCIe slot 1 : bus12 9548channel 2" - i2ctransfer -y $i2c_bus w1@0x72 0x04 - i2cdetect -y $i2c_bus - - format_print $INFO "PCIe slot 2 : bus12 9548channel 3" - i2ctransfer -y $i2c_bus w1@0x72 0x08 - i2cdetect -y $i2c_bus + do_i2c_detect 12 0x72 0x02 1 0 + do_i2c_detect 12 0x72 0x04 2 1 + do_i2c_detect 12 0x72 0x08 3 2 i2c_bus=13 pca9641_slave="0x42" get_pca9641_controll - format_print $INFO "PCIe slot 3 : bus13 9548channel 1" - i2ctransfer -y $i2c_bus w1@0x72 0x02 - i2cdetect -y $i2c_bus - - format_print $INFO "PCIe slot 4 : bus13 9548channel 2" - i2ctransfer -y $i2c_bus w1@0x72 0x04 - i2cdetect -y $i2c_bus - - format_print $INFO "PCIe slot 5 : bus13 9548channel 3" - i2ctransfer -y $i2c_bus w1@0x72 0x08 - i2cdetect -y $i2c_bus + do_i2c_detect 13 0x72 0x02 1 3 + do_i2c_detect 13 0x72 0x04 2 4 + do_i2c_detect 13 0x72 0x08 3 5 } # 在 5468m7 上扫描每个pcie slot下的I2C设备 @@ -963,162 +959,66 @@ detect_on_5468m7(){ pca9641_slave="0x31" get_pca9641_controll - format_print $INFO "PCIe slot 0 : bus13 9548channel 0" - i2ctransfer -y $i2c_bus w1@0x70 0x01 - i2cdetect -y $i2c_bus - - format_print $INFO "PCIe slot 1 : bus13 9548channel 1" - i2ctransfer -y $i2c_bus w1@0x70 0x02 - i2cdetect -y $i2c_bus - - format_print $INFO "PCIe slot 2 : bus13 9548channel 2" - i2ctransfer -y $i2c_bus w1@0x70 0x04 - i2cdetect -y $i2c_bus - - format_print $INFO "PCIe slot 3 : bus13 9548channel 3" - i2ctransfer -y $i2c_bus w1@0x70 0x08 - i2cdetect -y $i2c_bus - - format_print $INFO "PCIe slot 4 : bus13 9548channel 4" - i2ctransfer -y $i2c_bus w1@0x70 0x10 - i2cdetect -y $i2c_bus + do_i2c_detect 13 0x70 0x01 0 0 + do_i2c_detect 13 0x70 0x02 1 1 + do_i2c_detect 13 0x70 0x04 2 2 + do_i2c_detect 13 0x70 0x08 3 3 + do_i2c_detect 13 0x70 0x10 4 4 i2c_bus=14 pca9641_slave="0x42" get_pca9641_controll - format_print $INFO "PCIe slot 5 : bus14 9548channel 0" - i2ctransfer -y $i2c_bus w1@0x71 0x01 - i2cdetect -y $i2c_bus - - format_print $INFO "PCIe slot 6 : bus14 9548channel 1" - i2ctransfer -y $i2c_bus w1@0x71 0x02 - i2cdetect -y $i2c_bus - - format_print $INFO "PCIe slot 7 : bus14 9548channel 2" - i2ctransfer -y $i2c_bus w1@0x71 0x04 - i2cdetect -y $i2c_bus - - format_print $INFO "PCIe slot 8 : bus14 9548channel 3" - i2ctransfer -y $i2c_bus w1@0x71 0x08 - i2cdetect -y $i2c_bus - - format_print $INFO "PCIe slot 9 : bus14 9548channel 4" - i2ctransfer -y $i2c_bus w1@0x71 0x10 - i2cdetect -y $i2c_bus - - format_print $INFO "PCIe slot 10 : bus14 9548channel 5" - i2ctransfer -y $i2c_bus w1@0x71 0x20 - i2cdetect -y $i2c_bus + do_i2c_detect 14 0x71 0x01 0 5 + do_i2c_detect 14 0x71 0x02 1 6 + do_i2c_detect 14 0x71 0x04 2 7 + do_i2c_detect 14 0x71 0x08 3 8 + do_i2c_detect 14 0x71 0x10 4 9 + do_i2c_detect 14 0x71 0x20 5 10 } # 在 donghu 上扫描每个pcie slot下的I2C设备 detect_on_donghu(){ - i2c_bus=3 - - format_print $INFO "PCIe slot 0 : bus3 9548channel 7" - i2ctransfer -y $i2c_bus w1@0x70 0x80 - i2cdetect -y $i2c_bus - - format_print $INFO "PCIe slot 1 : bus3 9548channel 6" - i2ctransfer -y $i2c_bus w1@0x70 0x40 - i2cdetect -y $i2c_bus - - format_print $INFO "PCIe slot 2 : bus3 9548channel 5" - i2ctransfer -y $i2c_bus w1@0x70 0x20 - i2cdetect -y $i2c_bus - - format_print $INFO "PCIe slot 3 : bus3 9548channel 4" - i2ctransfer -y $i2c_bus w1@0x70 0x10 - i2cdetect -y $i2c_bus - - format_print $INFO "PCIe slot 4 : bus3 9548channel 3" - i2ctransfer -y $i2c_bus w1@0x70 0x08 - i2cdetect -y $i2c_bus - - format_print $INFO "PCIe slot 5 : bus3 9548channel 2" - i2ctransfer -y $i2c_bus w1@0x70 0x04 - i2cdetect -y $i2c_bus - - format_print $INFO "PCIe slot 6 : bus3 9548channel 1" - i2ctransfer -y $i2c_bus w1@0x70 0x02 - i2cdetect -y $i2c_bus - - format_print $INFO "PCIe slot 7 : bus3 9548channel 0" - i2ctransfer -y $i2c_bus w1@0x70 0x01 - i2cdetect -y $i2c_bus + do_i2c_detect 3 0x70 0x80 7 0 + do_i2c_detect 3 0x70 0x40 6 1 + do_i2c_detect 3 0x70 0x20 5 2 + do_i2c_detect 3 0x70 0x10 4 3 + do_i2c_detect 3 0x70 0x08 3 4 + do_i2c_detect 3 0x70 0x04 2 5 + do_i2c_detect 3 0x70 0x02 1 6 + do_i2c_detect 3 0x70 0x01 0 7 } # 在 yichun 上扫描每个pcie slot下的I2C设备 detect_on_yichun(){ i2c_bus=12 - format_print $INFO "PCIe slot 0 : bus12 9546channel 2" - i2ctransfer -y $i2c_bus w1@0x74 0x02 - i2cdetect -y $i2c_bus + do_i2c_detect 12 0x74 0x02 2 0 i2c_bus=13 - format_print $INFO "PCIe slot 1 : bus13 9546channel 2" - i2ctransfer -y $i2c_bus w1@0x74 0x02 - i2cdetect -y $i2c_bus + do_i2c_detect 13 0x74 0x02 2 1 i2c_bus=14 - format_print $INFO "PCIe slot 2 : bus14 9546channel 2" - i2ctransfer -y $i2c_bus w1@0x74 0x02 - i2cdetect -y $i2c_bus + do_i2c_detect 14 0x74 0x02 2 2 } # 在 qiandaohu 上扫描每个pcie slot下的I2C设备 detect_on_qiandaohu(){ i2c_bus=3 - format_print $INFO "PCIe slot 0 : bus3 9548channel 3" - i2ctransfer -y $i2c_bus w1@0x70 0x08 - i2cdetect -y $i2c_bus - - format_print $INFO "PCIe slot 1 : bus3 9548channel 2" - i2ctransfer -y $i2c_bus w1@0x70 0x04 - i2cdetect -y $i2c_bus - - format_print $INFO "PCIe slot 2 : bus3 9548channel 0" - i2ctransfer -y $i2c_bus w1@0x70 0x01 - i2cdetect -y $i2c_bus - - format_print $INFO "PCIe slot 3 : bus3 9548channel 1" - i2ctransfer -y $i2c_bus w1@0x70 0x02 - i2cdetect -y $i2c_bus - - format_print $INFO "PCIe slot 4 : bus3 9548channel 7" - i2ctransfer -y $i2c_bus w1@0x70 0x80 - i2cdetect -y $i2c_bus - - format_print $INFO "PCIe slot 5 : bus3 9548channel 6" - i2ctransfer -y $i2c_bus w1@0x70 0x40 - i2cdetect -y $i2c_bus - - format_print $INFO "PCIe slot 6 : bus3 9548channel 4" - i2ctransfer -y $i2c_bus w1@0x70 0x10 - i2cdetect -y $i2c_bus - - format_print $INFO "PCIe slot 7 : bus3 9548channel 5" - i2ctransfer -y $i2c_bus w1@0x70 0x20 - i2cdetect -y $i2c_bus + do_i2c_detect 3 0x70 0x08 3 0 + do_i2c_detect 3 0x70 0x04 2 1 + do_i2c_detect 3 0x70 0x01 0 2 + do_i2c_detect 3 0x70 0x02 1 3 + do_i2c_detect 3 0x70 0x80 7 4 + do_i2c_detect 3 0x70 0x40 6 5 + do_i2c_detect 3 0x70 0x10 4 6 + do_i2c_detect 3 0x70 0x20 5 7 i2c_bus=6 - format_print $INFO "PCIe slot 8 : bus6 9548channel 3" - i2ctransfer -y $i2c_bus w1@0x71 0x08 - i2cdetect -y $i2c_bus - - format_print $INFO "PCIe slot 9 : bus6 9548channel 2" - i2ctransfer -y $i2c_bus w1@0x71 0x04 - i2cdetect -y $i2c_bus - - format_print $INFO "PCIe slot 10 : bus6 9548channel 0" - i2ctransfer -y $i2c_bus w1@0x71 0x01 - i2cdetect -y $i2c_bus - - format_print $INFO "PCIe slot 11 : bus6 9548channel 3" - i2ctransfer -y $i2c_bus w1@0x71 0x02 - i2cdetect -y $i2c_bus + do_i2c_detect 6 0x71 0x08 3 8 + do_i2c_detect 6 0x71 0x04 2 9 + do_i2c_detect 6 0x71 0x01 0 10 + do_i2c_detect 6 0x71 0x08 3 11 } # 搜索服务器所有PCIE插槽的I2C设备信息,仅支持特定Riser卡上的设备