|
|
||
|---|---|---|
| docs | ||
| nicsensor_v2 | ||
| tool | ||
| .gitignore | ||
| nicsensor.sh | ||
| readme.md | ||
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相关操作
Warning
在写入网卡FRU操作时,受限于服务器PCA9641的影响,需要将服务器关机后执行
命令格式
# 读取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_调试模式使用
关联变量
DEBUG_MODE, 启用调试模式时需要将该变量的值配置为1
如果不需要借助脚本来选通服务器上对应的channel, 仅需要做传感器数值测试, 可以启用调试模式。 在调试模式下, 脚本不会执行选通PCA9641以及PCA9546/9548的操作。仅直接测试传感器。因此,需要手动调整两个变量
DEBUG_MODEi2c_bus
关联变量
DISABLE_DETECT, 启用时配置为1, 将不会在切换PCA9641和PCA9548时进行i2cdetect
3_常见问题
3_1_ADC128传感器读值为0
ADC128传感器在使用时需要初始化, 因此第一次读取时传感器可能并未完成初始化, 所以读值为0
3_2_脚本执行时出现大批量语法错误
通常是因为服务器上含有PCA9641切断了BMC的I2C控制权导致,重试即可
4_附属工具
4_1_FruParse
提供了一个简单python脚本用于解析FRU的数据, 将nicsensor读取到的FRU数据拷贝到frudata.txt后, 执行
python fru_parse.py即可将读取到的数据转化为FRU内容
5_关于nicsensor_v2
nicsensor_v2将服务器选通channel和读取传感器数值的功能解耦,因此在单独使用某个功能时可以直接找到对应的脚本进行测试。 详见nicsensor_v2