- 问题描述:920B机型,在前置后置Riser模组一共接入8张Vastai Technologies VG1000 Accelerator卡,其中有四张卡能读到温度,四张卡读不到(返回32768)。
- BMC版本信息:社区br_release_openUBMC2603_20260630分支最新代码。尝试更新iBMC 26.01.62.07,也有一样的问题。
- 现象:
-
~ ~ $ mdbctl lsobj GPU
GPU_1_0101010301
GPU_1_0101010302
GPU_1_0101010901
GPU_1_0101010902
GPU_1_0101010D01
GPU_1_0101010D02
GPU_1_0101011101
GPU_1_0101011102~ ~ $ mdbctl lsprop GPU_1_0101010301 | grep -i temp
PrimaryGPUTemperatureCelsius=34.7
~ ~ $ mdbctl lsprop GPU_1_0101010302 | grep -i temp
PrimaryGPUTemperatureCelsius=35.7
~ ~ $ mdbctl lsprop GPU_1_0101010901 | grep -i temp
PrimaryGPUTemperatureCelsius=33.8
~ ~ $ mdbctl lsprop GPU_1_0101010902 | grep -i temp
PrimaryGPUTemperatureCelsius=33.65
~ ~ $ mdbctl lsprop GPU_1_0101010D01 | grep -i temp
PrimaryGPUTemperatureCelsius=32768
~ ~ $ mdbctl lsprop GPU_1_0101010D02 | grep -i temp
PrimaryGPUTemperatureCelsius=32768
~ ~ $ mdbctl lsprop GPU_1_0101011101 | grep -i temp
PrimaryGPUTemperatureCelsius=32768
~ ~ $ mdbctl lsprop GPU_1_0101011101 | grep -i temp
PrimaryGPUTemperatureCelsius=32768 -
~ ~ $ busctl --user --no-pager tree bmc.kepler.devmon | grep -i vastai
│ │ │ ├─/bmc/dev/topology/Hisport_12_dev/Pca9545_PCA9545_01010109_dev/I2cMux_Pca9545_PCA9545_1_01010109_dev/Complex/Chip_Vastai_0101010901_dev
│ │ │ ├─/bmc/dev/topology/Hisport_12_dev/Pca9545_PCA9545_01010109_dev/I2cMux_Pca9545_PCA9545_2_01010109_dev/Complex/Chip_Vastai_0101010902_dev
│ │ │ ├─/bmc/dev/topology/Hisport_18_dev/Pca9545_PCA9545_01010103_dev/I2cMux_Pca9545_PCA9545_1_01010103_dev/Complex/Chip_Vastai_0101010301_dev
│ │ │ ├─/bmc/dev/topology/Hisport_18_dev/Pca9545_PCA9545_01010103_dev/I2cMux_Pca9545_PCA9545_2_01010103_dev/Complex/Chip_Vastai_0101010302_dev
│ │ │ └─/bmc/dev/topology/Hisport_3_dev/Pca9545_PCA9545_01010111_dev/I2cMux_Pca9545_PCA9545_1_01010111_dev/Complex/Chip_Vastai_0101011101_dev
│ │ │ └─/bmc/dev/topology/Hisport_3_dev/Pca9545_PCA9545_01010111_dev/I2cMux_Pca9545_PCA9545_2_01010111_dev/Complex/Chip_Vastai_0101011102_dev
│ │ │ └─/bmc/dev/topology/Hisport_6_dev/Pca9545_PCA9545_0101010D_dev/I2cMux_Pca9545_PCA9545_1_0101010D_dev/Complex/Chip_Vastai_0101010D01_dev
│ │ │ └─/bmc/dev/topology/Hisport_6_dev/Pca9545_PCA9545_0101010D_dev/I2cMux_Pca9545_PCA9545_2_0101010D_dev/Complex/Chip_Vastai_0101010D02_dev
~ ~ $
~ ~ $ busctl --user --no-pager call bmc.kepler.devmon /bmc/dev/topology/Hisport_12_dev/Pca9545_PCA9545_01010109_dev/I2cMux_Pca9545_PCA9545_2_01010109_dev/Complex/Chip_Vastai_0101010902
dev bmc.dev.Chip BlockIORead uu 5 3
ay 3 240 2 13
~ ~ $ busctl --user --no-pager call bmc.kepler.devmon /bmc/dev/topology/Hisport_6_dev/Pca9545_PCA9545_0101010D_dev/I2cMux_Pca9545_PCA9545_1_0101010D_dev/Complex/Chip_Vastai_0101010D01
dev bmc.dev.Chip BlockIORead uu 5 3
ay 3 0 0 0
-
- GPU SR: 社区vpd下vendor/Vastai/GPU/14140130_1ec60200_1ec60063.sr
答案内容由AI生成,仅供参考:
总结与排查建议
核心结论:您遇到的温度读取失败问题,根源在于 目标GPU卡未能返回有效的温度数据给BMC,而不是BMC的硬件拓扑或I2C通信链路故障。读值32768是BMC对“无效数据”的一种标准化标记。
建议排查方向:
- 检查GPU卡驱动状态:确认操作系统是否正确识别并加载了Vastai Technologies VG1000 Accelerator的官方驱动。尝试重新加载或更新驱动。
- 检查GPU卡工作状态:确认读取不到温度的4张卡在操作系统中是否被正常识别,其工作状态是否正常(如是否处于挂起、未初始化或其他非正常工作状态)。可尝试在OS下通过
nvidia-smi或其他厂商工具查询卡的温度和状态。 - 检查I2C通信细节:虽然基础I2C链路正常,但可以进一步分析I2C通信波形或与芯片厂商确认,BMC发起的读温度命令(偏移地址等)是否符合芯片的精确时序要求。社区问题
【gpu适配带外管理求助】中提及时序问题会导致BMC挂死或不返回数据。
由于上下文信息有限,以上是基于现有知识库给出的分析和建议。更精确的根因可能需要对特定Vastai GPU芯片的带外管理协议进行更深入的分析。
点击此处查看详细分析解答
根据您提供的上下文信息,以下是对您所描述的GPU温度获取失败问题的分析和解答。
问题根因分析
从您提供的现象和日志来看,部分Vastai GPU卡(GPU_1_0101010D01、GPU_1_0101010D02、GPU_1_0101011101、GPU_1_0101011102)的温度读值为 32768,这是一个关键信号。
根据知识库中的信息,数值 32767 及其相近值通常用于表示传感器数据异常或无效:
- 在传感器数据系统中,32767 用于表示 无效或未定义的温度读数。它表明BMC成功从传感器获取到数据,但硬件(如NPU卡)未能提供有效的温度测量值。
- 具体到NPU卡场景,32767 指示 BMC收到了温度读数,但NPU卡未能检索到实际温度。
- 在
TemperatureCelsius属性的定义中, 32767 也被列为S16类型数据的无效或默认值。
因此,读值 32768 和 32767 本质上都属于 无效温度值 的范畴。这通常指向 BMC与目标GPU芯片之间的I2C通信本身是正常的,但GPU芯片未能返回有效的温度数据。
关键证据与定位
通过对比正常与异常的GPU卡在BMC层面的I2C读取结果,可以进一步确认问题:
| 状态 | 读取命令及结果 | 解读 |
|---|---|---|
正常卡 (例如 Chip_Vastai_0101010902) |
busctl ... BlockIORead uu 5 3 ay 3 240 2 13 |
返回了有效的、非零的3个字节数据 240 2 13,表明GPU芯片能够响应并返回温度数据。 |
异常卡 (例如 Chip_Vastai_0101010D01) |
busctl ... BlockIORead uu 5 3 ay 3 0 0 0 |
返回了全零的3个字节数据 0 0 0,表明GPU芯片没有返回有效的温度值。 |
这个对比清晰地表明,问题不在于BMC侧的配置或I2C链路,而在于 GPU芯片本身没有返回正确数据。
原因推测
结合社区相关问题和硬件管理的一般经验,可能导致GPU芯片无法返回温度数据的原因包括:
- GPU驱动未正常加载或异常:这是社区问题中常见的因素。如文档
【待评审】支持redfish接口回显PCIe卡和NPU Atlas 300i A2相关问题中所述,当OS侧驱动未正确安装或初始化时,BMC无法从GPU卡获取有效信息。知识库中也提到 “GPU无法报告有效温度数据…在未安装GPU驱动时尤为常见”。 - GPU卡本身处于特殊状态:例如在系统初始化阶段,或者GPU处于低功耗、未完全激活的状态时,其温度传感器可能尚未准备好提供数据。
- 特定硬件时序或初始化问题:某些GPU芯片对I2C读取的时序有严格要求。如果I2C通信流程不满足芯片的特定时序要求,芯片可能返回错误数据或保持静默。
总结与排查建议
核心结论:您遇到的温度读取失败问题,根源在于 目标GPU卡未能返回有效的温度数据给BMC,而不是BMC的硬件拓扑或I2C通信链路故障。读值32768是BMC对“无效数据”的一种标准化标记。
建议排查方向:
- 检查GPU卡驱动状态:确认操作系统是否正确识别并加载了Vastai Technologies VG1000 Accelerator的官方驱动。尝试重新加载或更新驱动。
- 检查GPU卡工作状态:确认读取不到温度的4张卡在操作系统中是否被正常识别,其工作状态是否正常(如是否处于挂起、未初始化或其他非正常工作状态)。可尝试在OS下通过
nvidia-smi或其他厂商工具查询卡的温度和状态。 - 检查I2C通信细节:虽然基础I2C链路正常,但可以进一步分析I2C通信波形或与芯片厂商确认,BMC发起的读温度命令(偏移地址等)是否符合芯片的精确时序要求。社区问题
【gpu适配带外管理求助】中提及时序问题会导致BMC挂死或不返回数据。
由于上下文信息有限,以上是基于现有知识库给出的分析和建议。更精确的根因可能需要对特定Vastai GPU芯片的带外管理协议进行更深入的分析。
可以尝试一下手动发送相关命令查询问题,明确是温度查询不到的具体原因
谢谢。后面发现升级Riser MCU版本可以解决这个问题。
麻烦点一下已解决



