# 硬件错误信息分类标识 ## 概述 Xid 消息是墨芯 AI 计算卡驱动程序生成的错误报告,这些报告通常被记录在操作系统的内核日志或事件日志中。当 SPU(特定处理单元)发生错误时,就会生成 Xid 消息。 此类错误最常见的原因在于驱动程序对 SPU 的编程不正确,或者发送到 SPU 的命令损坏。这些消息对于诊断硬件问题、墨芯软件故障或用户应用程序的潜在问题具有重要意义。您可以利用这些消息中的诊断信息,来深入分析并解决与 SPU 相关的各类问题。 ## 查看 Xid 信息方式 在 Linux 下,您可以执行以下命令,查看所有 Xid 消息: ```Bash $ dmesg | grep "MFRM" ``` 示例如下: ```Bash [119480.065134]MFRM:xid(0000:31:80):10,(6016)host kmd: send response msg fail ``` | **参数** | **说明** | | ---------------------------------------------------------- | ----------------------------------------------------------- | | […] MFRM:xid | 日志前缀,可不关注 | | ( pcie domain number: pcie bus number: pcie device number) | 结合 PCIE 拓扑信息,可以定位到具体是哪颗芯片发生了 Xid 错误 | | Xid-Value | Xid 值,例如 10 | | Xid-message | Xid 错误的详细信息 | **说明**:*Xid 消息的主要目的是作为调试过程中的重要指南。由于许多系统问题可能源于多种不同的根本原因,因此仅仅依赖Xid 值来完全理解每个问题并不总是可行的,您还需要结合其他系统日志、配置信息以及实际运行环境进行综合分析,以便准确识别问题的根源,并采取相应的解决措施。* *例如,某个 Xid 值可能指示用户程序存在非法访问内存的情况。然而,在实际操作中,由于 PCIE 配置不当或缓冲区管理不当导致的内存错误,同样可能损坏发送给 SPU 的命令,进而引发其他看似不相关的错误。* ## Xid 错误问题建议操作 下表针对可能遇到的各种问题列出了建议采取的操作: | **问题类型** | **建议操作** | | --------------------- | ------------------------------------ | | 疑似用户编程问题 | 请联系开发人员进行分析。 | | 疑似硬件问题 | 请联系硬件供应商,执行硬件诊断流程。 | | 疑似 MOFFETT 驱动问题 | 请联系开发人员进行分析。 | ## Xid 错误列表 下表列出了 Xid 错误以及每个错误的潜在原因: | **XID** | **问题** | **硬件错误** | **驱动错误** | **用户应用程序错误** | **系统内存错误** | **总线错误** | **过温错误** | | ------- | -------------------------- | ------------ | ------------ | -------------------- | ---------------- | ------------ | ------------ | | 1 | 地址无效或损坏 | | X | | | X | | | 2 | SPU 停止运行 | | X | X | | X | X | | 3 | 驱动对 SPU 编程出错 | | X | | | | | | 4 | 驱动处理 SPU 异常出错 | | X | | | | | | 5 | PCI 配置空间中禁用总线主控 | | X | | | | | | 6 | SPU 内存页错误 | | X | X | | | | | 7 | SPU 内部微控制器错误 | | X | | | | | | 8 | SPU 内部微控制器断点/警告 | | | | | | | | 9 | SPU 内部微控制器停止工作 | X | X | | | | X | | 10 | 驱动/固件错误 | | X | X | X | X | | | 11 | 资源抢占/冲突 | | X | | | | | | 12 | 辅助电源未连接到 SPU 板 | | | | | | | | 13 | 双位 ECC 错误 | X | | | | | | | 14 | EDC 错误 | X | | | | | | | 15 | 高单比特位 ECC 错误率 | X | X | | | | | | 16 | 受控的 ECC 错误 | X | X | | | | | | 17 | 不受控的 ECC 错误 | X | X | | | | | | 17 | 不受控的 ECC 错误 | X | X | | | | | | 18 | 驱动非法存取 | | X | X | | | | | 19 | PCIE 或 NETLINK 出错 | X | X | | | X | | | 20 | SPU 脱离总线 | X | X | | X | X | X | | 21 | 发送到 SPU 的数据损坏 | X | X | | X | X | | | 22 | SMBPBI 测试消息 | | | X | | | | | 23 | SMBPBI 测试消息无回应 | | | X | | | | | 24 | 安全性故障 | X | | | | | | | 25 | 推理引擎异常 | | X | X | X | X | X | | 26 | 消息队列异常 | X | X | | X | | | | 27 | SPU 状态监控器异常 | | X | | X | | | | 28 | MFDEC0 异常 | X | X | | | | | | 29 | MFDEC1 异常 | X | X | | | | | | 30 | MFDEC2 异常 | X | X | | | | | | 31 | MFDEC3 异常 | X | X | | | | | | 32 | MFJPG0 异常 | X | X | | | | | | 33 | MFJPG1 异常 | X | X | | | | | | 34 | MFJPG2 异常 | X | X | | | | | | 35 | MFJPG3 异常 | X | X | | | | | | 36 | MFPPB0 异常 | X | X | | | | | | 37 | MFPPB1 异常 | X | X | | | | | | 38 | MFPPB2 异常 | X | X | | | | | | 39 | MFPPB3 异常 | X | X | | | | | | 40 | DVFS 异常 | X | X | | | | | | 41 | GENETLINK 异常 | | X | X | X | X | | | 42 | PCIe DMA 异常 | X | X | X | X | X | | | 43 | IPC 异常 | X | X | X | X | | | ## 常见的 Xid 错误 下表提供了一些常见 Xid 错误的说明信息: | **错误码** | **信息** | **说明** | | ---------- | -------------------------------- | ------------------------------------------------------------ | | XID 11 | OS: Preemptive Channel Removal | 当用户应用程序因各种原因中止,并且内核驱动程序开始卸载 SPU 上正在运行的应用程序时,系统会记录这一事件。这种事件可以由多种操作触发,
例如使用`Control+C`命令中断程序、执行 SPU 重置操作或发送 sigkill 信号等在多数情况下,此类事件并不表示存在系统错误,而是反映了用户或系统层面的正常操作。 | | XID 13 | DBE (Double Bit Error) ECC Error | 当 SPU 检测到自身发生了无法纠正的错误时,系统会记录这一事件,并同时向用户应用程序报告。在这种情况下,您需要重置 SPU 以清除此错误。 | | XID 16, 17 | CONTAINED/UNCONTAINED ECC ERRORs | 当支持 ECC 错误控制功能的 SPU 处理 ECC 内存错误时,系统会记录这些事件。 | | XID 19 | PCIE NETLINK ERROR | 当 SPU 检测到用户进程与内核进程之间通信出现问题时,系统会记录此事件,您需要重置 SPU 以清除此错误。此事件可能反映出链路本身存在硬件故障,
也可能是链路终端设备出现问题。如果此错误频繁出现,并且即使重置 SPU 也无法解决问题,建议您及时联系硬件供应商寻求技术支持。 | | XID 20 | SPU has fallen off the bus | 当 SPU 驱动程序试图通过 PCI Express 链路访问 SPU 时,如果遭遇无法访问的情况,系统会记录这一事件。此事件通常指向 PCI Express 链路上的硬件故障,
导致 SPU 因链路中断而无法被访问。此时建议您查看系统事件日志和内核 PCI 事件日志,这些日志可以提供链路故障源的线索。此事件也可能是由于 SPU 硬件故障或其他驱动程序问题引起的。 | | XID 24 | SECURITY FAULT ERROR | 除非发生硬件故障,此事件通常应该是较为罕见的。若遇到此问题,请首先尝试撤销最近对系统硬件所做的任何更改,并进行冷重置系统。冷重置可以通过关闭
系统电源,等待片刻后再重新开机来实现。如果上述操作无法解决问题,建议联系硬件供应商以获取专业帮助。 | | XID 42 | PCIE DMA Exception | 当 DMA 控制器报告故障时,会记录此事件。DMA 控制器通过 PCI-E 总线管理 MOFFETT 驱动程序和 SPU 之间的通信流。这类故障通常与 PCI 总线的质量问题相关,而非用户应用程序直接导致。 |