// 此模板仅供参考,如果不适用可以修改
问题描述
现在测试发现AI卡MCU只能在带内升级,带外升级会直接报失败。
应该是社区版本没有适配A2卡的带外mcu升级功能
环境信息
OpenUBMC 25.12
重现步骤
NA
期望结果
希望社区可以答复下有没有计划上带外升级MCU功能
实际结果
[实际发生了什么,包含错误信息]
尝试过的解决方案
[列出您已经尝试过的解决方案及结果]
// 此模板仅供参考,如果不适用可以修改
现在测试发现AI卡MCU只能在带内升级,带外升级会直接报失败。
OpenUBMC 25.12
NA
希望社区可以答复下有没有计划上带外升级MCU功能
[实际发生了什么,包含错误信息]
[列出您已经尝试过的解决方案及结果]
答案内容由AI生成,仅供参考:
目前 openUBMC 社区版本(如 25.12)尚未支持 Atlas 300I A2 系列 AI 卡的 MCU 带外升级功能。
尽管系统具备带外管理能力与MCU升级服务框架,但由于缺乏针对A2卡的CSR配置与状态感知机制,导致BMC无法正确发起和管理该类设备的固件升级。
根据您提出的问题,即 AI卡(如Atlas 300I A2 32G/64G)是否支持MCU带外升级,以及当前测试中发现“带外升级会直接报失败”的现象,本文基于现有知识库内容进行综合分析与回答。
npu-smi upgrade命令),而带外升级(经BMC)失败。25.52.38 或 25.53.33)。
来自文档《NPU卡适配指南》:“
McuFirmwareVersion:MCU版本,通过带外管理协议获取。”
upgrade_service_mcu.luamcu_upg_service.luasmbus_interface.lua
来自
general_hardware文档:MCU升级通过smbus_interface.lua或smc_interface.lua实现,表明硬件层面支持此类通信方式。
虽然系统具备带外管理硬件通道能力,但当前行为表明:
| 证据来源 | 内容摘要 |
|---|---|
| 日志记录(参考Document Chunk 1) | 升级AI卡MCU时会上报告警,BMC检测到通信中断(CpldStatus变化触发事件)。但BMC无法感知该中断是否由带内升级引起。 |
| 官方回复(User: Longbow) | > “当下BMC无法感知AI卡MCU通信异常是否是带内升级导致的,且该告警属于正常上报状态,不需要和带内升级MCU状态耦合。” |
| 代码结构分析(general_hardware) | 存在 mcu_upg_service.lua 和 upgrade_service_mcu.lua,说明框架支持MCU升级服务,但是否适配特定设备需依赖CSR配置。 |
| CSR配置文档(板卡适配指南) | 明确指出,MCU升级需要在CSR文件中配置: |
"MCUFirmware_xxx": {
"UID": ...,
"RefChip": ...,
"Protocol": ...,
"LockChip": ...
}
如果A2卡未正确配置此类对象,则BMC无法发起带外升级。
openUBMC 25.09 和 25.03 发布说明):| 版本 | 特性 |
|---|---|
| openUBMC 25.09 | 新增支持:NPU模组、NPU升级过程中禁止主机上电、关键部件固件升级 |
| openUBMC 25.03 | 重构MCU/VRD升级架构,支持HPM标准化升级包格式 |
这些信息表明,openUBMC社区已重视并逐步完善MCU升级机制。
npu-smi 工具)。action.lua(44): Firmware: ... 错误堆叠,说明升级流程在校验或执行阶段失败。| 对比项 | 带内升级(In-band) | 带外升级(Out-of-band) |
|---|---|---|
| 控制主体 | OS主机(如openEuler) | BMC(独立于OS) |
| 工具 | npu-smi upgrade |
Web界面 / Redfish API / IPMI |
| 通信方式 | PCIe + Host Driver | SMBus/SMC/PLDM 等带外总线 |
| 是否影响告警 | 是,会误触发通信异常告警 | 否,应具备状态感知避免误报 |
| 场景适用性 | 主机运行时维护 | 主机宕机或OS异常时升级 |
| 当前支持情况 |
目前没有公开信息表明openUBMC社区已将A2卡MCU带外升级列入近期路线图。
但以下几点可作为推动依据:
McuFirmwareVersion 已通过带外协议暴露(参考NPU卡接口定义);upgrade_service_mcu.lua 已存在,说明服务层已准备就绪;建议采取以下行动:
| 步骤 | 操作 |
|---|---|
| 1 | 在 discuss.openubmc.cn 创建正式议题,引用本问题 |
| 2 | 提供详细的错误日志与A2卡的CSR配置样例需求 |
| 3 | 引用 general_hardware 中的MCU升级实现路径,说明框架已支持 |
| 4 | 请求 hardware-sig 或 Component Driver SIG 成员协助评估实现难度 |
参考话题:https://discuss.openubmc.cn/t/topic/4839(关于CPLD固件包的问题讨论)
目前 openUBMC 社区版本(如 25.12)尚未支持 Atlas 300I A2 系列 AI 卡的 MCU 带外升级功能。
尽管系统具备带外管理能力与MCU升级服务框架,但由于缺乏针对A2卡的CSR配置与状态感知机制,导致BMC无法正确发起和管理该类设备的固件升级。
标题:请求支持 Atlas 300I A2 系列 AI 卡 MCU 带外升级功能
背景:
当前 AI 卡(300I A2 32G/64G)MCU 仅支持带内升级(npu-smi),带外升级失败。
问题:
Firmware Mgmt 服务无法识别AI卡MCU固件包,日志报错多层嵌套错误,疑似未注册设备UID或缺少MCUFirmware对象配置。
依据:
- NPU卡接口已定义 `McuFirmwareVersion` 支持带外获取;
- general_hardware 提供了完整的MCU升级服务(upgrade_service_mcu.lua);
- 需补充CSR中MCUFirmware_xxx对象配置。
诉求:
社区能否评估在后续版本中增加对 Atlas 300I A2 的MCU带外升级支持?
建议后续关注:
如有进一步日志或CSR配置片段,也可继续补充以深入分析。
test
支持的,你用最新的固件包试一下
带内和带外的hpm是同一个吗?我就是在2512上升级的,报错invalid firmware type
是同一个,是最新的NPU卡固件包,不是bmc包
看起来是的
我重新再验证了一次,还是一样的报错,等下我把日志传递一下,帮忙确认下呢,多谢
AI卡升级MCU失败.z01.txt (9 MB)
AI卡升级MCU失败.zip.txt (8.3 MB)
把txt后缀名去掉,放在一个路径下解压 AI卡升级MCU失败.zip 即可
是环境上有多张A2卡吗,是的话目前该问题已经在3月份的sdk修复,待发布
没有就一张ai卡,我看日志不是在升级的时候报错,感觉就是解析hpm就报错了
包有问题,出包的时候没配置相应的cfg
这是从华为官网下载的hpm包,带内os升级是ok的
能发下这个包吗,我们这边看看包结构
我邮件发给pae,让pae转给你,帮忙看下呢
有发送吗
已经发给殷建了
好的