【求助】AC或者DC时,出现获取不到cpu和内存温度的告警

// 此模板仅供参考,如果不适用可以修改

问题描述

AC或者DC时出现failed to obtain of the memory/cpu1 core temperature获取不到cpu和内存温度的告警

环境信息

  • 软件版本:[OpenUBMC2603]

  • 硬件配置:[S950]

重现步骤

  1. 运行DC cycle或AC cycle

  2. 检查bmc日志

期望结果

无告警信息

实际结果

有告警产生并快速解除

尝试过的解决方案

分析结论

ac/dc过程中bmc通过imu没有获取到信息,可能imu还未就绪

诉求

涉及闭源compute组件帮忙定位下具体原因,以及如何解决呢?

R220KV3_2102315QYM10RC100301_20260514-0913.zip (4.8 MB)

附件为一键收集日志

答案内容由AI生成,仅供参考:
根据您提供的回答内容,原样提取“结论”章节的内容如下:

分析与结论

根据上下文信息,问题已被初步分析,并指向了具体原因:

  1. 根本原因: 在AC/DC过程中,BMC通过IMU(Intelligent Management Unit)没有获取到信息。这很可能是由于在电源切换或重启的瞬间,IMU尚未就绪,导致通信链路暂时不可用。
  2. 现象关联: 此问题与已知的 Temperature Access Failure 概念相符,即BMC无法从相关传感器(CPU, Memory, VRD等)检索温度数据。文档中明确指出,BMC failed to obtain CPU temperature dataBMC failed to obtain memory temperature data 是已知的硬件监控问题,通常与 IPMB message transmission failures 相关。此外,CPU和内存温度数据获取失败的情况在 long-stability testing 中也偶有发生。

总结

项目 内容
问题场景 AC/DC Cycle操作
软件版本 OpenUBMC2603
硬件平台 S950
主要告警 CPU核心温度、CPU1内存温度获取失败
分析结论 AC/DC过程中,IMU未就绪导致BMC无法获取数据
下一步 需要与闭源 compute 组件团队协同,明确根本原因(BMC vs BIOS),并修复IMU通信的启动时序或容错逻辑。
点击此处查看详细分析解答

根据您提供的上下文信息,关于“AC或DC时,出现获取不到CPU和内存温度的告警”问题,以下是基于现有知识的分析和总结。

问题概述

根据文档记录,在S950硬件平台上运行 OpenUBMC2603 版本时,执行AC Cycle(交流电循环)或DC Cycle(直流电循环)操作,会概率性地出现无法获取CPU和内存温度的告警。告警会短暂出现(Asserted)后快速解除(Deasserted)。

告警详情

从事件日志中可以识别出以下具体告警事件码和描述:

  • CPU 温度告警
    • 事件描述: Failed to obtain data of the CPU 1(CpuBoard1 CPU1) core temperature.
    • 事件码: Asserted (0x00000023), Deasserted (0x00000024)
    • 相关实体: Core TemperatureBMC
  • 内存温度告警
    • 事件描述: Failed to obtain data of the memory (CPU1) temperature.
    • 事件码: Asserted (0x0100003F), Deasserted (0x01000040)
    • 相关实体: Memory TemperatureBMC

分析与结论

根据上下文信息,问题已被初步分析,并指向了具体原因:

  1. 根本原因: 在AC/DC过程中,BMC通过IMU(Intelligent Management Unit)没有获取到信息。这很可能是由于在电源切换或重启的瞬间,IMU尚未就绪,导致通信链路暂时不可用。
  2. 现象关联: 此问题与已知的 Temperature Access Failure 概念相符,即BMC无法从相关传感器(CPU, Memory, VRD等)检索温度数据。文档中明确指出,BMC failed to obtain CPU temperature dataBMC failed to obtain memory temperature data 是已知的硬件监控问题,通常与 IPMB message transmission failures 相关。此外,CPU和内存温度数据获取失败的情况在 long-stability testing 中也偶有发生。

诉求与待解决问题

用户提出,该问题可能涉及闭源的 compute 组件,因此请求帮助:

  1. 界定问题归属: 当前问题应定位为 BMC问题 还是 BIOS问题(因为涉及到与带内通信的 compute 闭源组件)?
  2. 寻求解决方案: 如果确认为BMC问题,应如何解决?

已知的解决方案或建议

虽然上下文中没有提供最终的解决方案代码,但基于其他类似问题的处理经验,可以进行以下尝试:

  • 检查IPMB通道: 有用户通过 ipmb 通道从带内获取CPU温度信息。在类似问题中,怀疑与ipmb通道相关,建议使用调试命令跟踪ipmb通道的运行状态,以验证通信是否正常。
  • 分析日志: 检查 app.log 等BMC系统日志中是否持续出现与IMU通信相关的异常打印,以进一步确认通信失败的具体环节。
  • 关注IMU启动时序: 解决方案可能涉及调整系统上电时序,确保在BMC读取温度数据前,IMU已经完全初始化并准备好响应请求。这可能需要对 general_hardware 模块中的硬件初始化流程进行review。

总结

项目 内容
问题场景 AC/DC Cycle操作
软件版本 OpenUBMC2603
硬件平台 S950
主要告警 CPU核心温度、CPU1内存温度获取失败
分析结论 AC/DC过程中,IMU未就绪导致BMC无法获取数据
下一步 需要与闭源 compute 组件团队协同,明确根本原因(BMC vs BIOS),并修复IMU通信的启动时序或容错逻辑。

请注意: 以上所有信息均严格基于您提供的“Context”内容。关于根本原因的明确归属和具体修复代码,上下文中未提供。

imu应该还没准备好,可在reading中增加过滤,比如检查pmu的status