feat(master : nicsensor) Release Version 1.9

This commit is contained in:
leimingsheng 2026-01-05 14:36:18 +08:00
parent cdb7b9ef5c
commit d91a9f87ae
3 changed files with 74 additions and 2 deletions

@ -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,确认服务器类型

@ -1,5 +1,5 @@
#!/bin/sh
SCRIPT_VERSION="1.8.9"
SCRIPT_VERSION="1.9"
# ---------------------------------------------------------
# Project Feature Varible (Change if need)
# ---------------------------------------------------------

@ -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 <pcie slot> pmbus <chip slave> <pmbus cmd>
```
**参数说明**
- `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]