ATLAS300I A2带外MCU低版本升级问题分析
更新时间: 2026/06/01
在Gitcode上查看源码

问题背景

  • 单板类型:自研板;
  • 软件版本:openUBMC 2512 LTS SP1;
  • 涉及功能:Atlas 300I A2 带外 MCU 固件升级;
  • 触发条件:带外升级 MCU 固件从高版本降级到低版本(如从 25.53.33 降级到 25.52.29);
  • 业务表现:预期MCU低版本升级成功;实际低版本升级失败,带内升级同样失败。

问题复现步骤

  1. 在 2512 LTS SP1 版本中,通过带外方式执行MCU固件降级。
  2. 升级25.53.33 版本MCU固件正常。
  3. 尝试升级 25.52.29 版本MCU固件时报错,升级失败。
  4. 带内方式同样升级失败。

关键日志信息

web页面升级状态截图: app.log日志信息: 升级失败的compute组件日志:

text
行 7473: 2026-05-18 11:43:40.318397 compute NOTICE: fw_upgrade_manager.lua(93): NPUboard5 id is 160, mcu type is 2
行 7474: 2026-05-18 11:43:40.620978 compute NOTICE: fw_upgrade_manager.lua(93): NPUboard6 id is 160, mcu type is 2
行 7475: 2026-05-18 11:43:40.825342 compute NOTICE: fw_upgrade_manager.lua(93): NPUboard7 id is 160, mcu type is 2
行 7477: 2026-05-18 11:43:41.066801 compute NOTICE: fw_upgrade_manager.lua(93): NPUboard8 id is 160, mcu type is 2
行 7478: 2026-05-18 11:43:41.294586 compute NOTICE: fw_upgrade_manager.lua(93): NPUboard9 id is 160, mcu type is 2

定位过程

  1. 对比成功版本(25.53.33)和失败版本(25.52.29)的升级包,失败包中缺少对应的firmware文件。
  2. 检查update.cfg 配置文件,ComponentIDEx 转为16进制后应该有结尾为a002的firmware,但失败包中缺失。
  3. 带内升级同样失败,进一步确认是升级包本身的问题,而非带外升级通道问题。

问题原因

低版本(25.52.29)MCU 升级包缺失对应的固件文件,导致升级流程无法完成,带外和带内升级均失败。

解决方案

  1. 重新获取完整(包含所需固件文件)的低版本 MCU 升级包。
  2. 对比成功与失败版本的 update.cfg,确保firmware文件完整。