bmc:IBMC 5.05.12.25
工具使用如下图:

工具显示成功但一键日志中fdm_log日志中相关与实际注错不一致
内存相关注错,fdm_log先显示地址错误
答案内容由AI生成,仅供参考:
根据您提供的信息,RASTools工具注入PCIe不可纠正错误(UE)后显示“Inject Success”,但在BMC的一键日志中未发现FDM(Fault Detection and Management)告警记录。以下是基于上下文信息的综合性分析和排查建议。
fdm_log中生成硬件错误日志。尽管工具返回成功,但可能注入的是仅触发驱动层处理而未生成AER(Advanced Error Reporting)硬件事件,或未被正确上报至BMC。
关键点:
- BMC通过
bmc.kepler.Systems.PCIeDevices.PCIeDevice.RAS接口监控 PCIe 设备的FatalError、SystemError等状态。PCIeRASCollector组件负责收集 PCIe 相关的 RAS 错误(如致命错误、非致命错误)并在 OS runtime 阶段上报。
若注入未引发真实的 AER 寄存器变化或未被 BIOS/BMC 感知,则不会触发 RAS 收集流程。
从知识图谱中可知:
PCIeRASCollector是一个系统组件,用于在 OS 运行期间收集并报告 PCIe 相关的错误状态。
若该组件加载失败或未启用,即使发生错误也无法上报。
建议排查:
/var/log/app.log 或 bmc.log 中搜索:grep "PCIeRASCollector" /var/log/app.log
"failed to load" 或 "collecting PCIe errors" 的日志条目。Write_Pcie_Card_Bdf_To_Bmc 方法由 BIOS 使用,用于将 PCIe 卡的 BDF(Bus, Device, Function)写入 BMC。如果此过程失败,BMC 将无法建立设备上下文,导致即使有错误也无法定位到具体设备对象进行告警。
建议检查:
bios service 日志中确认是否在启动时打印了 Disk PcieAddrInfo 信息:[2025-12-16 09:12:17.778573] Disk PcieAddrInfo: ...
bmc.kepler.Systems.PcieAddrInfo 属性是否包含目标 PCIe 设备的 Bus, Device, Function 等信息。
若
Pcie_Device fails to find matching PCIe address information for DeviceType 26类似错误存在,则说明地址映射失败。
BMC 需要为每个 PCIe RAID 卡加载对应的 SR(Schema Representation)文件 才能创建 PCIeDevice 对象并启用 RAS 监控。
建议排查:
/opt/bmc/sr/ 是否存在目标 RAID 卡的 SR 文件。app.log 中搜索:grep "Component_ComPCIeCard1_0101010D02" /var/log/app.log
Event_PCIeRAIDCardFault_0101010D02 注册失败的日志,如:
“failed to access property ‘Component’ of referenced object path”
这类错误通常意味着配置未加载或对象路径无效。
RASTool 命令:
./RASTool --ErrorType=0x32 --PcieDevNum=0x01
其中 --PcieDevNum=0x01 表示 PCIe 设备号为 1,但实际环境中该设备可能:
CpuId;
建议验证:
lspci | grep -i raid
lspci -s <BDF> -vv | grep -i aer
有时即使错误被正确上报,FDM(故障管理模块)可能因策略配置问题未触发告警。
排查方法:
fdm_log 中搜索其他类型的硬件错误,确认 FDM 模块是否正常工作。DiagnosticFault=0、PredictiveFault=0 的情况,表明设备健康状态未更新。| 步骤 | 操作 | 预期输出 |
|---|---|---|
| 1 | 检查 PCIeRASCollector 是否运行正常 |
app.log 中有无加载或错误收集日志 |
| 2 | 检查 bmc.kepler.Systems.PCIeDevices.PCIeDevice.RAS.FatalError 是否为1 |
可通过 Redfish 或 D-Bus 查询 |
| 3 | 确认 Write_Pcie_Card_Bdf_To_Bmc 是否执行成功 |
BIOS 启动日志中有 Disk PcieAddrInfo 打印 |
| 4 | 检查 /opt/bmc/sr/ 是否存在目标 RAID 卡 SR 文件 |
存在且正确命名 |
| 5 | 查询 app.log 是否有 Event_PCIeRAIDCardFault 注册失败日志 |
无报错,或提示缺失组件 |
| 6 | 检查 lspci 输出及设备 AER 支持情况 |
明确设备存在且支持 AER |
| 7 | 提供 一键日志 给支持团队 | 包含 app.log, fdm_log, bmc.log |
bmc.kepler.Systems.PCIeDevices.PCIeDevice.RAS 结构包含以下关键属性:
FatalError: U8 — 0表示无致命错误,1表示已发生FatalErrorCount: U32 — 致命错误计数器SystemError: U8 — 系统级错误标志Event_PCIeRAIDCardFault_0101010D02 是一个事件,用于上报 PCIe RAID 卡故障,但依赖于底层对象属性可访问UnknownPCIeRASCollector 负责收集未知 PCIe 设备的错误,可用于诊断未识别设备的异常工具显示 Success 不代表 BMC 收到了真实的硬件错误事件。
请优先执行以下操作:
PCIeRASCollector 是否运行正常app.log 和 fdm_log 确定错误是否被采集但未告警OpenUBMC_Assistant 在社区中的支持流程)如有需要,可使用 iTestSmart 工具执行标准用例测试,并附带 Tool Log 进行深度定位。
相关文档参考:
- 《openUBMC Qemu特性设计说明书》支持RAID卡仿真测试
- 《Event常见问题指南》提供事件生命周期排查流程
- BMC Studio 可用于查看 CSR 配置与接口映射是否正确
如仍无法定位,请将一键日志发送至技术支持邮箱。
相关链接:
请先联系RASTool工具方获取对应工具版本PCIe注错方法,实际要根据PCIe拓扑选择参数,随意填写PcieDevNum是无法注错成功的;
简单注错方法:./RASTool --E=0x0031 --Pa=0x01
这里的Pa指的是rootport 的bus号,要求有实际在位的PCIe插卡
请先联系RASTool工具方获取对应工具版本的注错指导!!不要自己肆意发挥 ![]()
问题1-1答复:是由于你–Pc=0x12没有对应的PCIE设备对应不存在,默认注入到第一个rootport上了,所以日志显示的bdf是1:0.0
问题1-2答复:注错结果是否正确,不是跟你的错误参数来决定,是在os下使用dmesg命令回显的AEPI日志对应为标准
问题2答复:内存注错请先合理选择操作系统用户态地址,你选择的0x28800000000地址,是CPU保留地址,导致注入到CPU核内L3故障了 ![]()
通过cat /proc/iomem | grep System会回显所有有效的系统地址,在高地址(数值大)范围区间选择一个地址,注意保持4K对齐(即最后3个数值需要是000),进行内存注错
你好我们是已经获取到注错,如下图这种情况


依然是注入到1:0.0,是哪里有什么问题吗
那是你觉得你已经获取了
你可以尝试下./RASTool -l看看你所使用的版本0x32到底支持哪些RP的BUS,RASTool不是BMC提供的软件,本身不提供技术支持的哈;疑问咨询最好与软件提供方沟通获取注错指导;
不用,选择地址时保持4字节对齐在显示区间添加一些数值,例如0x289000003000,还有记得要在BIOS Setup菜单下打开注错支持