From d91a9f87aef01e6904f6f9ecfa7ce06971cbd603 Mon Sep 17 00:00:00 2001 From: leimingsheng Date: Mon, 5 Jan 2026 14:36:18 +0800 Subject: [PATCH] feat(master : nicsensor) Release Version 1.9 --- docs/change_list.txt | 7 +++++ nicsensor.sh | 2 +- readme.md | 67 +++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 74 insertions(+), 2 deletions(-) diff --git a/docs/change_list.txt b/docs/change_list.txt index e17376c..30d7763 100644 --- a/docs/change_list.txt +++ b/docs/change_list.txt @@ -1,3 +1,10 @@ +# Script Verison 1.9 + Release Note + 1.[新增功能]添加pmbus插件功能, 可支持对VR芯片的pmbus测试 + 2.[功能优化]fru size支持在属性配置功能中通过命令配置大小 + 3.[功能优化]对于 DISABLE_DETECT 的简写由 detect 变更为 n_detect, 便于理解 + 4.[问题修复]修复nicsensor_v2中5280m7平台的detect功能不显示插槽信息的问题 + # Script Version 1.8 Release Note 1.[新增功能]默认server type调整为auto, 通用服务器可自动检索boardid,确认服务器类型 diff --git a/nicsensor.sh b/nicsensor.sh index 7067c31..11e7f60 100755 --- a/nicsensor.sh +++ b/nicsensor.sh @@ -1,5 +1,5 @@ #!/bin/sh -SCRIPT_VERSION="1.8.9" +SCRIPT_VERSION="1.9" # --------------------------------------------------------- # Project Feature Varible (Change if need) # --------------------------------------------------------- diff --git a/readme.md b/readme.md index 3e02d8a..9a86569 100644 --- a/readme.md +++ b/readme.md @@ -16,6 +16,7 @@ - [2.5 调试模式使用](#2_5_调试模式使用) - [2.6 扩展功能](#2_6_扩展功能) - [2.7 设定配置功能](#2_7_设定配置功能) + - [2.8 PMBUS功能测试](#2_8_pmbus功能) - [3.常见问题](#3_常见问题) - [3.1 ADC128传感器读值为0](#3_1_adc128传感器读值为0) - [3.2 脚本执行时出现大批量语法错误](#3_2_脚本执行时出现大批量语法错误) @@ -27,6 +28,8 @@ - [6.附录](#6_附录) - [6.1 Project变量说明](#6_1_project变量说明) + + ## 1_简介 nicsensor工具是在带有i2ctool工具(i2ctransfer、i2cdetect)的BMC下用于测试网卡I2C功能的工具。 @@ -37,6 +40,7 @@ nicsensor工具是在带有i2ctool工具(i2ctransfer、i2cdetect)的BMC下用于 - 透传I2C命令到网卡的芯片上 - 遍历服务器上的PCIE插槽的I2C信息 - 部分服务器类型支持读取OCP卡 +- 支持测试PMBUS功能**(new)** **当前支持测试的传感器类型** - adc128 @@ -48,11 +52,15 @@ nicsensor工具是在带有i2ctool工具(i2ctransfer、i2cdetect)的BMC下用于 > [!tip] > 每次执行脚本都可以在 `/tmp/nicsensor_debug.log` 查询详细的命令执行记录 + + ## 2_使用方法 > [!warning] > 在使用时针对网卡的硬件特性需要定制化修改脚本的 `Project Varible` ,变量的对应关系及说明见[Project变量说明](#6_1_project变量说明) + + ### 2_1_传感器读取 **命令格式** @@ -74,6 +82,8 @@ nicsensor工具是在带有i2ctool工具(i2ctransfer、i2cdetect)的BMC下用于 ./nicsensor.sh ocp0 tmp112 0x48 ``` + + ### 2_2_FRU相关操作 > [!warning] @@ -102,6 +112,8 @@ nicsensor工具是在带有i2ctool工具(i2ctransfer、i2cdetect)的BMC下用于 ./nicsensor.sh pcie2 fru 0x50 write fru.bin ``` + + ### 2_3_命令透传 **命令格式** @@ -119,6 +131,8 @@ nicsensor工具是在带有i2ctool工具(i2ctransfer、i2cdetect)的BMC下用于 ./nicsensor.sh pcie2 chip 0x11 "i2ctransfer -y 12 w2@0x11 0x00 0x00 r2" ``` + + ### 2_4_插槽I2C信息遍历 **命令格式** @@ -134,6 +148,8 @@ nicsensor工具是在带有i2ctool工具(i2ctransfer、i2cdetect)的BMC下用于 ./nicsensor.sh detect pcie ``` + + ### 2_5_调试模式使用 > 关联变量 `DEBUG_MODE`, 启用调试模式时需要将该变量的值配置为1 @@ -145,18 +161,23 @@ nicsensor工具是在带有i2ctool工具(i2ctransfer、i2cdetect)的BMC下用于 > 关联变量 `DISABLE_DETECT`, 启用时配置为1, 将不会在切换PCA9641和PCA9548时进行i2cdetect + + ### 2_6_扩展功能 脚本中预留了函数 `handle_reserve` 用于扩展功能。针对有特殊需求的项目可能会使用。 在 `handle_reserve` 中可以自定义需要对网卡实现的功能。在调用该函数之前脚本会将 PCA9641及PCA9548选通。扩展功能时无需考虑PCA9641和PCA9548的状态。 + + ### 2_7_设定配置功能 可以通过一组名为 `get/set` 的指令对脚本中的如下变量做即时修改而无需修改脚本(下电后恢复默认)。支持修改的变量如下: - `server_type` : 对应属性值缩写 `server` - `DEBUG_MODE` : 对应属性值缩写 `debug` -- `DISABLE_DETECT` : 对应属性值缩写 `detect` +- `DISABLE_DETECT` : 对应属性值缩写 `n_detect` +- `fru_size` : 对应属性值缩写`fru_size` **命令格式** ``` shell @@ -170,40 +191,84 @@ nicsensor工具是在带有i2ctool工具(i2ctransfer、i2cdetect)的BMC下用于 ./nicsneosr.sh get debug ``` + + +### 2_8_PMBUS功能 + +> [!warning] +> 支持的脚本版本:v1.9 +> PMBUS功能属于额外的功能,需要将 [pmbus_cmd_list.sh](./pmbus_cmd_list.sh) 拷贝到和nicsensor脚本相同的目录。 +> 如果不添加该脚本, 该功能无法正常使用 + +**命令格式** +``` shell +./nicsensor.sh pmbus +``` + +**参数说明** +- `pcie slot`: 网卡位于的PCIE SLOT槽位,需要指定pcie/ocp, 不指定时默认为pcie类型 +- `chip slave`: 芯片的slave地址 +- `pmbus cmd`: 要读取的pmbus命令码, 支持列表请使用命令 `./nicsensor.sh help` 查询 + +**命令示例** +``` shell +./nicsensor.sh pcie1 pmbus 0x60 READ_TEMPERATURE_1 +``` + + + ## 3_常见问题 + + ### 3_1_ADC128传感器读值为0 ADC128传感器在使用时需要初始化, 因此第一次读取时传感器可能并未完成初始化, 所以读值为0 + + ### 3_2_脚本执行时出现大批量语法错误 通常是因为服务器上含有PCA9641切断了BMC的I2C控制权导致, 重试即可 + + ### 3_3_传感器读值不正确 常见于ina3221传感器读值明显不正确, 因为ina3221的i2c slave地址比较敏感, 容易和pca9641产生冲突, 可首先按照i2c地址冲突的方向去排查问题。 ## 4_附属工具 + + ### 4_1_FruParse + 提供了一个简单python脚本用于解析FRU的数据, 将nicsensor读取到的FRU数据拷贝到frudata.txt后, 执行 `python fru_parse.py`即可将读取到的数据转化为FRU内容 **工具路径**:[fru_parse.py](./tool/fru_parse/fru_parse.py) + + ### 4_2_nicsensor_s + 基于脚本版本1.8, 剔除了所有记日志的操作, 用于加速i2c的执行, 确保在9641工作的生命周期内尽快完成i2c任务 **工具路径**:[nicsensor_s.sh](./nicsensor_s.sh) + + ## 5_关于nicsensor_v2 nicsensor_v2将服务器选通channel和读取传感器数值的功能解耦, 因此在单独使用某个功能时可以直接找到对应的脚本进行测试。 详见[nicsensor_v2](./nicsensor_v2/readme.md) + + ## 6_附录 + + ### 6_1_Project变量说明 > [!important]