软件类告警定位-M.2转接卡ADC器件通道异常

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

问题描述

[在这里详细描述您遇到的问题]

环境AC启动,必现0x2D000033告警,1min左右消除

环境信息

  • 操作系统:[如 Ubuntu 24.04]

  • 软件版本:[如 OpenUBMC2509] OpenUBMC 25.04.22.55

  • 硬件配置:[如 CPU、内存等]950服务器+M.2转接卡

重现步骤

  1. [第一步]AC重启

  2. [第二步]查看告警

  3. [第三步]

期望结果

[您希望实现什么]

定位告警逻辑,CSR配置无该告警,看app.log应该是软件类告警,社区新增告警描述是UB接口卡带着上的(借单上库?) AtomGit - 全球开发者的开源社区,开源代码托管平台

代码未找到相关逻辑,M.2一般是在general_hardware下管理的,无产生该告警的动作

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

5. 总结

方面 内容
告警类型 ADC器件状态告警(精细化告警)
触发场景 AC启动过程中,ADC器件或通道未稳定
可能原因 瞬态告警(AC场景常见),器件初始化未完成导致短暂异常
定位方向 current_event.txt UID → app.log → general_hardware代码逻辑
社区参考 确认PR中告警是否为预期行为

由于知识库中未提供 0x2D000033 的具体定义和M.2转接卡的详细ADC逻辑,以上分析基于通用告警机制和AC场景经验。若您能提供更多日志片段或配置文件内容,可以进一步精确判断。

点击此处查看详细分析解答

根据您提供的问题背景,结合已有知识库(Context)中的信息,现对“M.2转接卡ADC器件通道异常”产生的 0x2D000033 告警进行综合分析。


1. 告警类型归属

  • ADC器件告警 属于系统精细化告警(event)中的一类。知识库提到:

    “event也叫做精细化告警,主要包括了sensor和BMC其他精细化告警,硬件sr里主要包括……ADC器件状态告警、Lm75器件告警”
    (见文档块1、2)

  • 知识图谱中明确描述了 ADC Chip → Event Alert 的关系:

    “ADC芯片生成事件告警当监测检测到不一致或阈值被超过时”

  • 同时存在专门的 ADC SensorThresholdSensor_Adc0_1Sensor_0101 等实体,用于监控特定电压并触发告警。

因此,0x2D000033 很可能属于 ADC 器件状态告警类别,由 M.2 转接卡上 ADC 芯片(或对应监控逻辑)上报。


2. AC启动场景与瞬态告警

您描述 “AC启动,必现0x2D000033告警,1min左右消除”,与知识库中 AC场景易产生瞬态告警 的观察高度吻合:

AC/DC/BMC重启场景容易出现瞬态告警问题
“AC/DC/BMC重启长时间脚本中检查……正常操作(非真实故障)不得出现告警信息或瞬态告警”
(文档块8:《openUBMC通用观察点分享》)

可能原因:AC上电过程中,M.2转接卡上的ADC器件或相关通信链路(如I2C通道)尚未完全初始化,导致短暂读取失败或阈值越限,待器件稳定后告警自动解除。这种“先产生后消除”的行为在其他问题(如CPU温度获取告警)中也有类似分析:

“AC/DC电源循环过程中,IMU短时间尚未完全就绪,BMC即尝试通过IPMB通道获取温度,通信链路暂时不可用导致读取失败并上报告警。IMU就绪后告警自动解除。”
(文档块3:《AC或者DC时出现获取不到cpu和内存温度的告警问题分析》)


3. 定位线索与建议

3.1 检查日志和UID映射

参考文档块1的定位方法:

  1. 查看 AppDump/event/current_event.txt,找到 0x2D000033 对应的 UID 和详细描述。
  2. AppDump/pcie_device/cable_info 或相应设备目录下,确认该UID对应的硬件连接(如M.2转接卡的ADC通道)。
  3. 搜索 app.log(或历史日志 app.log.1.gz)中与 0x2D000033 相关的打印,定位告警触发时刻的上下文。

3.2 代码逻辑排查方向

  • 您提到 CSR配置无该告警,说明告警不是由硬件SR定义,而是由 软件组件 主动生成。
  • M.2转接卡通常由 general_hardware 组件管理。建议检查该组件中与 ADC器件状态 相关的告警生成逻辑(例如 AlarmGenerationLogicReadingOperatorIdCondition 的判断)。
  • 知识图谱说明:

    “组件链接到警生成逻辑以识别告警对应的硬件实体。”

您可进一步搜索 general_hardware 代码中是否存在对 0x2D000033 或类似ADC告警码的生成路径。

3.3 社区跟进

  • 您提到“社区新增告警描述是UB接口卡带着上的”,建议按提供的 AtomGit 链接审查相关PR,了解该告警的引入背景、期望行为以及是否存在已知的瞬态问题。

4. 通用测试建议(参考文档块8)

  • AC循环测试 应作为必测场景,确保 无瞬态告警无异常告警产生/消失记录
  • 如果确认该告警为误报,可借鉴文档块3的处理方式:在温度/ADC读取函数中增加 前置条件判断(如检查器件就绪状态),避免在未初始化时读取并上报告警。

5. 总结

方面 内容
告警类型 ADC器件状态告警(精细化告警)
触发场景 AC启动过程中,ADC器件或通道未稳定
可能原因 瞬态告警(AC场景常见),器件初始化未完成导致短暂异常
定位方向 current_event.txt UID → app.log → general_hardware代码逻辑
社区参考 确认PR中告警是否为预期行为

由于知识库中未提供 0x2D000033 的具体定义和M.2转接卡的详细ADC逻辑,以上分析基于通用告警机制和AC场景经验。若您能提供更多日志片段或配置文件内容,可以进一步精确判断。

@yinjian @spjisgood_2lbdb help