SP226D网卡power fail 0x08000041告警

当前机器上面插了5张SP226D网卡,其中一张在UB riser上面,告警的为接在UB riser上面的卡,查看代码初步定位是Scanner_PowerGood的value获取失败:(01011502为UB riser上的网卡),

查看日志发现默认对应networkadapter_1_01011502的powerstatus的值为255,查看对应event发现值为0才会触发告警;

进行AC操作之后,发现networkadapter_1_01011502的powerstatus变成0,触发power fail告警

请问这个问题有解决思路吗?

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

总结

核心问题在于AC操作后 PowerStatus 从默认值 255 跳变为 0,触发了电源故障告警。根据知识库中的现有方案,建议:

  • 优化 Scanner_PowerGood.Value 的读取时机,在电源稳定后才输出有效值。
  • 参考文档8,将告警条件与BIOS启动状态绑定,避免AC上电瞬态导致误报。
  • 考虑在 NetworkAdapter 对象中增加私有属性 PowerScanner(如182x网卡的做法),明确电源状态的获取源和有效条件。
  • 检查UB Riser上的时序和MCU通信影响,确保电源状态读取与硬件状态同步。

如果以上方向仍无法解决,可能需要进一步获取硬件波形或更详细的日志(如 Scanner_PowerGood 信号波形、PowerStatus 变化前后的系统事件),以便准确定位。

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

基于您提供的上下文信息,针对SP226D网卡在UB Riser上出现的Power Fail告警(0x08000041),我们可以从以下几个方面梳理可能的解决思路。以下分析严格来源于知识库中的实体、关系及文档片段。


1. 理解告警触发逻辑与PowerStatus取值问题

  • 根据文档1(新增资源协作接口属性标识网卡电源健康状态),PowerStatus 属性用于表示网卡电源健康状态,取值范围为:

    • 1:正常
    • 0:异常(触发电源故障告警)
    • 255:默认值,表示不支持获取或未获取到网卡电源状态
      该属性是只读的,且持久化。
  • 您观察到:

    • 默认 networkadapter_1_01011502PowerStatus 值为 255(即未获取到有效状态)。
    • 进行AC操作后,该值变为 0,触发了 Power Fail 告警(对应事件 Event_PowerFail,关键标识 PCIeCard.PCIeCardPowerFail,参见实体 Event_PowerFail)。
  • 初步定位Scanner_PowerGoodvalue 获取失败。在知识库中,Scanner_PowerGood.Value 描述为“指示系统电源状态,用于控制设备使能或操作准备”,并且与 NetworkAdapter_1 有关联(关系:NetworkAdapter_1 监视电源状态通过 Scanner_PowerGood.Value 变量)。

可能原因:AC操作后网卡电源尚未稳定或硬件尚未准备好,导致 Scanner_PowerGood.Value 读到了 0(异常),从而 PowerStatus 变为 0 并触发告警。这可能是时序问题或硬件检测逻辑不完善所致。


2. 参考已有方案:新增私有属性 PowerScanner 用于电源故障告警

  • 文档8(支持自研网卡标卡PCIE卡电源故障08000041告警,新增私有属性)描述了针对182x网卡的类似场景:

    • 新增私有属性 PowerScanner,引用网卡GPIO管脚状态获取电源状态,用于 08000041 告警条件触发。
    • PowerScanner 取值范围与 PowerStatus 相同:1正常、0异常、255未知。
    • 特别强调:告警条件需关联BIOS启动状态和网卡电源状态,在BIOS启动完成后才认为获取的网卡电源状态是有效值
  • 您的 SP226D 网卡可能属于类似的自研网卡,但文档中并未明确提及 SP226D。若 SP226D 也采用类似的 GPIO 读取方式,则:

    • 需要确认 Scanner_PowerGood 对应的硬件检测机制是否正确(如GPIO管脚定义、读值稳定性)。
    • 考虑在告警触发条件中增加 BIOS启动状态 判断,避免在AC上电或系统引导过程中误报。

3. 时序与供电稳定性问题

  • 文档2(DC测试中产生和Riser上MCU的通信告警)提到一个相关现象:系统下电后访问网卡寄存器会导致与MCU通信失败,且上电后需要约1分钟MAC读取才正常。说明Riser上MCU与网卡之间存在时序依赖
  • 您的场景是AC操作后 PowerStatus 立即变为 0,可能是在电源尚未稳定(如 PowerGood 信号尚未置位)时读取了状态。此时应:
    • 检查 Scanner_PowerGood 信号的采样时机是否合理。
    • 参考文档6中网卡温度与上下电状态的绑定方法,将传感器 ReadingStatus 与电源状态用表达式关联,例如仅在系统上电且电源稳定后才读取有效值。

4. UB Riser上电源控制相关属性

  • 文档10(新增私有属性,实现riser卡具体槽位电源状态控制)描述了为 PCIeSlot 新增私有属性 PowerOnSwitch,用于单独控制Riser卡Standby供电能力。如果 UB Riser 支持独立供电控制,可能涉及:

    • 确保AC操作后Riser上对应槽位正确上电。
    • 检查 PowerOnSwitch 的状态是否与 Scanner_PowerGood 信号同步。
  • 但您的问题似乎是状态读取错误而非控制失败,所以更可能还是状态获取逻辑的问题。


5. 综合解决思路建议

基于以上信息,您可以考虑以下排查方向:

  1. 确认 Scanner_PowerGood 的硬件连接与配置

    • 检查UB Riser上对应网卡的 Scanner_PowerGood 信号来源(如GPIO或CPLD寄存器),确保其在AC上电后能稳定输出正确的电源良好信号。
    • 核实 Scanner_PowerGood.Value 的读取方式是否合理(如是否在电源稳定后才进行读取,是否有去抖或重试机制)。
  2. 分析 PowerStatus 数值变化的时间点

    • 从系统日志(实体 System Log)和事件日志中找出 PowerStatus255 变为 0 的具体时刻,判断该变化是否发生在电源完全稳定之前。
    • 参考文档8,检查告警事件触发条件中是否绑定了BIOS启动状态。若未绑定,可以考虑添加,避免在BIOS启动未完成时误报。
  3. 复用或适配已评审的方案

    • 对于 08000041 告警,已有标准方案(文档8)适用于182x网卡。若SP226D网卡硬件特性类似,可参考其设计,在 NetworkAdapter 对象中新增私有属性 PowerScanner 或复用现有的 PowerStatus,并确保取值逻辑与电源状态正确关联。
    • 文档1中 PowerStatus 属性已是标准协作接口,可以检查其值是否由 Scanner_PowerGood 动态更新。如果更新不及时或未关联电源稳定条件,建议参考文档6中的表达式绑定方式,将 PowerStatus 与系统上电状态(如 PowerState)联动。
  4. 检查Riser上MCU通信的影响

    • 文档2显示,访问网卡寄存器可能触发与MCU的通信告警。AC操作后,如果 Scanner_PowerGood 的读取操作扰乱了MCU通信,也可能导致电源状态误判。需要验证读取 Scanner_PowerGood 是否涉及i2c访问,以及是否与MCU通信检测存在冲突。
  5. 验证硬件规格与文档一致性

    • 确认SP226D网卡是否属于文档8中描述的“182x网卡”类型或相似实现。如果不是,可能需要单独评估其电源状态获取机制。

总结

核心问题在于AC操作后 PowerStatus 从默认值 255 跳变为 0,触发了电源故障告警。根据知识库中的现有方案,建议:

  • 优化 Scanner_PowerGood.Value 的读取时机,在电源稳定后才输出有效值。
  • 参考文档8,将告警条件与BIOS启动状态绑定,避免AC上电瞬态导致误报。
  • 考虑在 NetworkAdapter 对象中增加私有属性 PowerScanner(如182x网卡的做法),明确电源状态的获取源和有效条件。
  • 检查UB Riser上的时序和MCU通信影响,确保电源状态读取与硬件状态同步。

如果以上方向仍无法解决,可能需要进一步获取硬件波形或更详细的日志(如 Scanner_PowerGood 信号波形、PowerStatus 变化前后的系统事件),以便准确定位。