openUBMC是否有数码管故障码定义文档

openUBMC是否有数码管故障码的定义文档?表示哪些故障会触发对应的故障码。如下所示,是之前《TaiShan 机架服务器 iBMC 告警处理 17》文档中的部分定义。

A00 进风口温度超过
服务器工作温度
范围
● 3.4 ALM-0x12000001 进风口温度过高
( Chassis,轻微告警)
● 3.5 ALM-0x12000003 进风口温度过高
( Chassis,严重告警)
A0N
说明
N表示
CPU编
号。
CPUN温度超过
CPU工作温度范
● 3.11 ALM-0x00000005 CPU VDDQ温度
过高( CPU,轻微告警)
● 3.12 ALM-0x00000007 CPU VRD温度过
高( CPU,轻微告警)

目前虽然可以从代码中找到对应事件的故障码,通过触发CPU VRD过温告警数码管不会显示故障码。但是感觉缺少一个总的定义文档用来指导故障码适配和测试用来输出测试用例。

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

:white_check_mark: 结论

项目 状态
是否存在数码管故障码文档 :white_check_mark: 存在,名为《LED数码管错误码汇总》
文档是否公开 :cross_mark: 未公开,仅限内部使用
是否影响测试与适配 :white_check_mark: 建议申请获取以提升效率
当前可替代方案 通过日志和元数据逆向分析映射规则

建议行动:联系 openUBMC 社区或 PAE 团队,申请开放《LED数码管错误码汇总》,以便系统性开展故障码适配与测试用例设计。

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

openUBMC 数码管故障码定义文档说明

根据您提供的信息和上下文分析,目前关于 openUBMC 是否存在数码管故障码的完整、公开定义文档,结论如下:

:white_check_mark: 当前状态:文档未公开发布

openUBMC 项目中确实存在数码管错误码(LED Fault Code)的配置与使用,但相关文档并未在公开的文档中心或论坛中发布

该文档的正式名称为《LED数码管错误码汇总》,在 CSR 配置字典的 Event 类中有明确引用:

LedFaultCode: String
  取值范围: 配置值详见《LED数码管错误码汇总》

这表明该项目团队在设计上是计划通过统一文档来维护和指导故障码定义的(参考资料 ID 6 和 7)。


:red_question_mark: 文档状态与可获取性

尽管文档未公开:

  • 内部存在:在 openUBMC 社区中已有用户反馈,该文档在内部已被找到归档链接,说明文档是真实存在的,但尚未开源。
  • 正在推动开放:社区成员已着手联系项目组(PAE)推动该文档的公开,以支持更高效的开发、适配和测试工作。
  • 获取建议:建议您联系 openUBMC 的 SIG(特别兴趣小组)或 PAE(平台架构工程师)团队,申请访问该内部文档。

:link: 参考链接:https://www.openubmc.cn/docs/zh/development/specifications/csr_conf_dict/object/Event.html


:wrench: openUBMC 中数码管故障码的工作机制

尽管缺乏完整文档,仍可从现有信息中总结其工作原理:

1. 故障码来源

  • 故障码由硬件设备(如 CPU、NPU、风扇、电源等)在检测到异常时上报。
  • 上报的原始故障码以 FaultCode 字段表示,通常为 U16 类型的数字或字符串(如 "Error code: NA")。
  • 典型示例(来自 NPU 卡):
    FaultCode = "7502" → MCU访问LM75A失败
    FaultCode = "7551" → 12V电源功率超门限
    

2. 数码管显示逻辑

  • Chassis 软件模块负责收集系统告警事件。
  • 通过 Led数码管显示 功能,将当前最高优先级的 FaultCode 映射为两位或三位十六进制码(如 A00, A01, F1),并在前面板数码管上显示。
  • 显示逻辑由 CSR 配字典中的 LedFaultCode 字段控制,配置规则如下:
    • 每个事件类型(如 Event_HardwareFail)可配置对应的 LedFaultCode
    • 映射通过 Event 类与 FaultCode 关联。

:puzzle_piece: 为何触发 CPU VRD 过温 时数码管无码?

您提到“触发 CPU VRD 过温告警,数码管无显示”,可能原因如下:

可能原因 解释
未配置 LedFaultCode 该告警事件未在 Event 配置中设置 LedFaultCode 字段。
优先级不足 存在更高优先级告警,当前告警未被选中显示。
触发方式非标准 通过软件模拟(如 ipmcset)触发,未经过完整硬件上报路径。
数码管功能未启用 该硬件平台或项目未启用数码管显示功能(manufacture flag 未开启)。

:books: 推荐解决方案与建议

1. 获取文档方法

建议通过以下方式推动获取《LED数码管错误码汇总》:

  • openUBMC 论坛 提问并引用 CSR Configuration Dictionary
  • 联系 SIG-Hardware 或 PAE 成员,请求开放该文档。
  • 参考已有案例:用户 yelmh_kno07 已通过内部渠道获取。

2. 替代性测试方法

在缺乏正式文档时,可通过以下方式辅助分析:

# 查看 NPU 故障码(示例)
mdbctl lsprop NPU_1_Die0_01010301 | grep FaultCode

# 查看事件配置
cat /etc/obmc/events.json | grep -A5 -B5 "LedFaultCode"

3. 构建测试用例建议

用例类别 检查项
配置完整性 所有 Event 是否都配置了 LedFaultCode
映射一致性 FaultCodeLedFaultCode 是否一对一
优先级测试 多告警并存时,优先级高的是否显示正确
恢复显示 故障恢复后,数码管是否清码或回 00

:white_check_mark: 结论

项目 状态
是否存在数码管故障码文档 :white_check_mark: 存在,名为《LED数码管错误码汇总》
文档是否公开 :cross_mark: 未公开,仅限内部使用
是否影响测试与适配 :white_check_mark: 建议申请获取以提升效率
当前可替代方案 通过日志和元数据逆向分析映射规则

建议行动:联系 openUBMC 社区或 PAE 团队,申请开放《LED数码管错误码汇总》,以便系统性开展故障码适配与测试用例设计。