Atlas 300I A2 64G
答案内容由AI生成,仅供参考:
NPU日志收集失败问题分析
根据用户界面截图和系统日志,NPU日志收集功能在执行时出现失败,特别是针对NPU2-1的收集操作。以下是对问题的综合分析。
问题现象
- 在IBMC管理界面中尝试收集NPU日志时,显示“收集失败”。
- 多个NPU设备(如NPU2-1)的日志收集均未能成功完成。
- 系统日志显示了一系列与IPMI通信相关的错误码和异常。
核心错误分析
从系统日志中可以定位到两个关键的错误信息:
1. IPMI通道获取失败
ipmi_core ERROR: ipmi_cmd.lua(825): get channel with chanType[1] and Instance[3] failed
该错误反复出现,表明系统在尝试通过IPMI协议访问NPU设备时无法获取指定类型的通信通道(chanType[1],实例为3)。这通常是底层通信链路或驱动配置问题所致。
2. IPMI命令发送失败
compute ERROR: imu_cmd.lua(501): [get_npu_log] ipmi send failed, error: 193
此错误表示在调用get_npu_log方法时,IPMI命令发送失败,返回错误码 193。此错误直接导致了NPU日志无法从目标芯片读取。
功能流程背景
NPU日志收集功能依赖于以下组件和流程:
DumpNpuLog方法:用于收集NPU芯片日志,接收NpuId参数以标识具体芯片,并返回TaskId跟踪任务状态。- IPMI通信机制:基于
ipmi.json中定义的命令集,由bmcgo gen -r openubmc_dev命令生成相应接口代码。 - IPMI核心模块:
ipmi_core负责处理所有IPMI命令的转发与执行。
关联关系:
DumpNpuLog方法属于bmc.kepler.Systems.Processor.NPUs命名空间,并通过IPMI通道实现与NPU硬件的通信。
可能原因
结合日志和架构信息,可能导致该问题的原因包括:
-
IPMI通道配置异常
chanType[1]对应某种特定通信类型(可能为KCS或SMIC),其驱动或初始化存在问题。- 目标实例(Instance 3)对应的NPU设备未正确注册或未响应。
-
硬件或固件不兼容
- 特定NPU卡(如NPU2-1)固件版本与BMC当前版本不兼容,导致IPMI命令无法被识别。
- NPU设备未上电或处于异常状态。
-
通信超时或中断
- BMC与NPU之间的物理连接(如I²C、PCIe)不稳定,导致命令超时。
- 总线访问被其他任务占用或锁死。
-
软件缺陷或服务异常
ipmi_core服务运行异常或资源不足。compute模块(负责NPU管理)中imu_cmd.lua脚本存在逻辑错误。
-
权限或认证问题
- 缺乏对目标NPU设备的访问权限。
- 安全模块未正确授权IPMI操作。
建议排查步骤
-
确认设备状态
- 检查NPU2-1是否在线并正常运行(可通过FRU信息或传感器状态判断)。
- 查看
FaultState和DiagnosticFault属性是否为0(无故障)。
-
验证IPMI通道
- 使用命令行工具测试基础IPMI命令(如
Get Device ID)是否可正常执行。 - 检查IPMI服务状态:
systemctl status ipmi_core。
- 使用命令行工具测试基础IPMI命令(如
-
检查日志上下文
- 定位首次出现
get channel failed的时间点,分析其前后的系统事件(如重启、升级等)。 - 查看是否有其他模块报告NPU通信异常。
- 定位首次出现
-
尝试手动调用
- 通过REST API或CLI手动调用
DumpNpuLog(NpuId=2),观察返回结果和详细日志。
- 通过REST API或CLI手动调用
-
版本一致性检查
- 确认BMC、BIOS、NPU固件版本是否匹配兼容列表要求。
-
重启相关服务
- 尝试重启
ipmi_core和compute服务以恢复临时性故障。
- 尝试重启
结论
NPU日志收集失败的根本原因在于 IPMI通信通道无法建立,进而导致日志读取命令发送失败(错误码193)。该问题涉及 ipmi_core 与 compute 模块间的协作,需重点排查底层通信配置、设备状态及服务运行情况。
参考知识图谱实体:
ipmi_core,DumpNpuLog,NpuId,TaskId,bmc.kepler.Systems.Processor.NPUs
相关链接:
目前看起来是ipmi命令发送不通,麻烦查看一下ipmi_core组件的资源协作接口,以及compute组件的资源协作接口
异常码193,应该是bmc这边的服务有问题,是不是其他的从npu获取的数据也有问题,软件版本啥的确定是配套的吗?有没有魔改过
1230的sdk版本才支持该特性,请使用1230的sdk版本验证。
可以传一份一键收集日志吗,后缀名改成txt可以传上来
我看第一份日志是有npu日志的,你这两份日志有什么区别吗?你们应该是对于csr有进行相关修改吧,我看npu卡日志文件路径不对
没有修改csr,两个文件是一份日志文件拆开压缩的 7zip一起解压即可
930的版本当时收集日志会直接报错,后面使用了1230版本验证,收集日志显示成功,但是打开里面npu日志文件全为空
这个路径下是你想要查询的文件吗
HuaKunAT525B2_20260313-1433.7z.001\HuaKunAT525B2_20260313-1433\dump_info\LogDump\pciecard\PCIeCard2(Atlas300IA264G)_Atlas300IA2(64G)InferenceCard
由于没有源码 不清楚这个web界面上npu收集日志会收集哪些信息
npu_device_log (4).tar.gz.txt (253 字节)
这个是收集的空日志
从日志来看,你在这次收集日志的时候mcu一直没有准备好,可以再尝试一次并查看是否有类似日志
2026-03-13 14:17:14.338771 compute NOTICE: NPUCard.lua(1575): log type 12, start send msg to mcu
2026-03-13 14:17:26.372358 compute ERROR: NPUCard.lua(1529): MCU is not ready, retry failed.
如果还有类似日志打印出现,建议找硬件侧同学询问一下
const npuSupportedPartNumber = [‘03029WRV’, ‘03028DFH’, ‘0302018194’, ‘0302034997’, ‘06030667’];
看样子A2不支持
已向A2卡硬件确认,暂时MCU不支持带外收集NPU日志,该问题可以关闭




