A tool to test Nic's i2c function
Go to file
2025-04-10 20:24:27 +08:00
nicsensor_v2 refactor(plugin : arch) 重构platform脚本的异常退出功能 2025-03-27 09:43:19 +08:00
tool feat(plugin : release) release nicsensor v2 2025-03-13 16:40:53 +08:00
.gitignore create plugin branch 2025-01-06 09:10:08 +08:00
change_list.txt feat(master : nicsensor.sh)Update to version 1.5 Standard 2025-03-04 19:03:02 +08:00
code_structure.txt feat(master : nicsensor.sh)Update to 1.4 Standard 2025-01-10 14:14:13 +08:00
nicsensor.sh fix(master : nicsensor)修正detect操作后未恢复9548状态的问题 2025-03-26 15:21:18 +08:00
readme_old.txt feat(master : readme) 更新readme 2025-04-09 18:05:28 +08:00
readme.md feat(master : readme) update readme 2025-04-10 20:24:27 +08:00

nicsensor工具使用说明

本说明仅针对 nicsensorv1.x系列脚本

目录

1_简介

nicsensor工具是在带有i2ctool工具(i2ctransfer、i2cdetect)的BMC下用于测试网卡I2C功能的工具。

当前支持的功能有:

  • 读取网卡上的I2C传感器
  • 读取并修改网卡上的FRU
  • 透传I2C命令到网卡的芯片上
  • 遍历服务器上的PCIE插槽的I2C信息
  • 部分服务器类型支持读取OCP卡

当前支持测试的传感器类型

  • adc128
  • ina3221
  • emc1413
  • tmp468
  • tmp112

Tip

每次执行脚本都可以在 /tmp/nicsensor_debug.log 查询详细的命令执行记录

2_使用方法

Warning

在使用时针对网卡的硬件特性需要定制化修改脚本的 Project Varible

2_1_传感器读取

命令格式

./nicsensor.sh <pcie_slot> <sensor_tpye> <sensor_slave>

参数说明

  • pcie slot:网卡位于的PCIE SLOT槽位,需要指定pcie/ocp, 不指定时默认为pcie类型
  • sensor type:传感器类型
  • sensor slave:传感器的slave地址

命令示例

# 读取pcie2槽位上的adc128的信息, adc128芯片的地址为0x1f(7bit)
./nicsensor.sh pcie2 adc128 0x1f

2_2_FRU相关操作

命令格式

# 读取FRU
./nicsensor.sh <pcie_slot> fru <eeprom_slave>

# 写入FRU
./nicsensor.sh <pcie_slot> fru <eeprom_slave> write <filename>

参数说明

  • pcie slot:网卡位于的PCIE SLOT槽位,需要指定pcie/ocp, 不指定时默认为pcie类型
  • eeprom slave: FRU所在的eeprom芯片的slave地址
  • filename: 仅在写入FRU时提供, 要写入的FRU bin文件

命令示例

# 读取pcie2槽位上的fru信息, eeprom的芯片地址为0x50(7bit)
./nicsensor.sh pcie2 fru 0x50

# 写入pcie2槽位上网卡的fru
./nicsensor.sh pcie2 fru 0x50 write fru.bin

2_3_命令透传

命令格式

./nicsensor.sh <pcie_slot> chip <chip slave> <command>

参数说明

  • pcie slot:网卡位于的PCIE SLOT槽位,需要指定pcie/ocp, 不指定时默认为pcie类型
  • chip slave: 芯片的slave地址
  • command: 要透传执行的I2C命令

命令示例

# 对pcie2槽位上的chip透传命令 i2ctransfer -y 12 w2@0x11 0x00 0x00 r2 , 芯片地址为0x11(7bit)
./nicsensor.sh pcie2 chip 0x11 "i2ctransfer -y 12 w2@0x11 0x00 0x00 r2"

2_4_插槽I2C信息遍历

命令格式

./nicsensor.sh detect <nic_type>

参数说明

  • nic type:需要指定pcie/ocp, 不指定时默认为pcie类型

命令示例

./nicsensor.sh detect pcie

2_5_调试模式使用

3_常见问题

3_1_ADC128传感器读值为0

ADC128传感器在使用时需要初始化, 因此第一次读取时传感器可能并未完成初始化, 所以读值为0

3_2_脚本执行时出现大批量语法错误

通常是因为服务器上含有PCA9641切断了BMC的I2C控制权导致重试即可

4_附属工具