导入社区Atlas 300I A2卡适配方案,温度读取失败

导入代码库中适配Atlas 300I A2卡的csr文件后,温度、功耗都读取不到,从日志中可以看到读取返回失败,请问是否是要等待更新compute组件,才能正常监控

答案内容由AI生成,仅供参考:

Atlas 300I A2卡适配与监控问题分析

根据知识库信息,Atlas 300I A2卡的适配和监控涉及多个组件协同工作,包括CSR配置文件、compute组件以及底层的带外管理协议。在导入CSR文件后,若温度、功耗等关键监控信息无法读取,通常表明系统未能正确建立与NPU卡的通信或数据映射关系。

CSR配置与硬件监控的依赖关系

Atlas系列NPU卡(如Atlas 300I Duo)的监控数据(如温度、功耗、内存容量)依赖于CSR配置文件中对NPUCard对象的正确定义。例如,Core0TemperatureCelsiusPowerWatts等属性需通过带外管理协议从NPU卡的MCU获取。CSR文件定义了这些属性的来源和关联对象(如RefChipRefEeprom)。若仅导入CSR文件而未确保底层组件支持相应的通信协议或对象实现,监控数据将无法正常读取。

compute组件的关键作用

compute组件负责管理计算板和NPU卡的生命周期及监控数据采集。日志中出现读取失败的情况,很可能是因为compute组件未适配Atlas 300I A2卡的特定通信协议或对象接口。例如,bmc.kepler.Systems.NPUCard接口需要实现从NPU卡MCU读取Core0TemperatureCelsius等属性的方法。如果compute组件未更新以支持A2卡的固件版本或通信指令,即使CSR配置正确,数据读取也会失败。

解决方案建议

  1. 确认compute组件适配:必须检查compute组件的代码是否已更新以支持Atlas 300I A2卡。这包括:

    • 确认NPUCard类是否已添加对A2卡BoardID的支持。
    • 验证带外管理协议(如SMBus)的驱动是否能与A2卡的MCU成功通信。
    • 检查compute组件的日志,确认在尝试读取温度时是否调用了正确的底层接口。
  2. 验证CSR配置:确保CSR文件中的NPUCard_1对象正确配置了BoardIDModelRefChip等关键字段,并且FruData_NPUCardStorageType设置为MCU,以指示数据来源。

  3. 检查固件兼容性:确认NPU卡的MCU固件版本与compute组件和CSR配置文件兼容。不匹配的固件可能导致通信协议不一致,从而引发读取失败。

综上所述,仅导入CSR文件是不够的。必须同时更新compute组件,以确保其具备与Atlas 300I A2卡通信并解析其监控数据的能力,才能实现正常的温度和功耗监控。

麻烦发一下日志

你好,请问后续怎么解决的,我这边也遇到a2卡温度、功耗都读取不到的情况

当时我用的openUBMC 25.06基线,升级到25.09基线就可以了,25.09基线的闭源组件compute有适配

我升级到25.09版本后,还是a2卡温度、功耗都读取不到。

以下是相关日志

log里找不到对象,是不是CSR文件没有引用或者没配置好

2509不是已经对a2进行适配了吗,vpd组件的对应的sr文件也写好了,直接用不就行了吗,还是需额外配置什么吗。

社区导入没有直接将CSR写入到机型对应的profile.txt中,需要自己添加下

这个我添加了,sr文件有被加载。有传感器但是没有数据。

NPU驱动都装好了吗,没有驱动也读取不到数据

确实没有装驱动,我等下试试看。