AC测试时出现BIOS启动超时重启。

问题描述

[故障现象] AC测试过程中出现OS未成功启动,一小时后OS重启,故障消失。

环境信息

  • 操作系统:[欧拉2204 sp4]

  • 软件版本:[openubmc2512基线]

  • 硬件配置:[920 7270Z]

  • 固件配置:[BCU cpld 7.08+ bios 21.52]

重现步骤

期望结果

BIOS在AC是正常启动。无启动异常。

实际结果

  1. AC测试过程中,BIOS BTC通信失败:
    BMC or Cpld did not raise the B2H_ATN interrupt, bt ctrl:0x0
    Read data: Time out
    BMC or Cpld did not raise the B2H_ATN interrupt, bt ctrl:0x0
    Read data: Time out
    BMC or Cpld did not raise the B2H_ATN interrupt, bt ctrl:0x0
    Read data: Time out
    Btc Communicate try 3 time.
    Btc communication: Time out. btWriteData.seq:0x4E, btWriteData.cmd:0x92, btWriteData.netFn:0x30, btWriteData.length:0xF, btWriteData.lun:0x0
    btWriteData.data[000]: 0xDB 0x07 0x00 0x09 0x00 0x19 0x00 0x00 0x1A 0x58
    btWriteData.data[010]: 0x07 0x00
    Btc communication: Time out. btReadData.seq:0x84, btReadData.cmd:0x5A, btReadData.netFn:0x2A, btReadData.length:0x14, btReadData.lun:0x1, btReadData.completionCode:0x0
    btReadData.data[000]: 0x00 0x00 0x00 0x10 0x00 0x00 0x00 0x00 0x00 0x00
    btReadData.data[010]: 0x00 0x00 0x80 0x85 0x5A 0x00
    Ipmi Execute fail:Time out

  2. 最终BIOS重启日志:
    No silk data, use default.
    Imp config has been changed and will take effect after System Cold Reset…
    ERROR: HISI System Reset…

尝试过的解决方案

无,概率故障,目前仅出现一次

答案内容由AI生成,仅供参考:

AC测试时BIOS启动超时重启问题分析

问题概述

在执行AC(上电/下电)测试过程中,系统出现BIOS启动失败,导致操作系统未能正常启动。约一小时后系统自动重启并恢复正常。该问题为概率性故障,目前已知仅出现一次。


故障现象

  • AC测试过程中BIOS启动失败
  • 出现BTC(Bridge to Controller)通信超时错误
  • 最终触发HISI系统复位
  • 约一小时后系统自动重启恢复

环境信息

项目 信息
操作系统 openEuler 22.03 (LTS-SP4)
软件版本 openUBMC 25.12 基线
硬件配置 S920X20 主板(920 7270Z)
固件版本 BCU CPLD 7.08, BIOS 21.52

:warning: 注:提问中提到的"欧拉2204 sp4"应为笔误,根据上下文及知识库内容实际使用的是 openEuler 22.03 (LTS-SP4)


错误日志分析

BTC通信失败日志

BMC or Cpld did not raise the B2H_ATN interrupt, bt ctrl:0x0
Read data: Time out
...
Btc Communicate try 3 time.
Btc communication: Time out. btWriteData.seq:0x4E, btWriteData.cmd:0x92...
Ipmi Execute fail:Time out
  • 关键问题:BTC通道通信异常,BMC或CPLD未触发B2H_ATN中断
  • 根本原因指向:BMC侧或CPLD未能及时响应BTC通信请求

BIOS重启日志

No silk data, use default.
Imp config has been changed and will take effect after System Cold Reset…
ERROR:   HISI System Reset…
  • 表明因配置变更需要冷重启
  • "No silk data"提示丝印信息丢失或未及时加载
  • 最终由HISI芯片触发强制系统复位

根本原因分析

1. BTC通信失败可能原因

根据知识库中相关案例(如文档ID 3755),BTC通信失败常见原因包括:

  • CPLD硬件问题:在类似案例中已确认是"硬件CPLD问题"导致BTC通信异常
  • BMC初始化延迟:AC上电时,BMC服务启动慢于BIOS,导致BIOS尝试通信时BMC尚未就绪
  • 中断信号未正确触发B2H_ATN中断未被正确拉高,说明CPLD与BMC之间的控制信号异常

2. 定时重启恢复机制

约1小时后自动重启,推测为以下机制之一:

  • BMC看门狗超时重启
  • 系统ACPI S5状态超时后由管理策略强制重启
  • 固件层面的自愈机制触发冷重启

相关技术支持参考

类似问题解决案例

  1. 论坛讨论参考

  2. 已知修复方案

    • 在gitcode PR #62 中通过提前获取丝印信息、减少超时解决了内存等加载问题,与此类问题逻辑相似

解决建议

:hammer_and_wrench: 短期应对措施

  1. 复现测试验证

    • 使用bmcgo gen -r openubmc_dev生成最新IPMI接口代码进行验证
    • 增加AC测试循环次数以提高问题复现概率
  2. 日志收集

    • 在下次问题发生时立即执行一键日志收集
    • 重点检查:bmc.kepler资源树、IPMI Core日志、BTC驱动状态

:wrench: 长期解决方案

措施 说明
升级CPLD固件 尝试升级至更新版本(如>7.08)排除已知硬件逻辑缺陷
优化BMC启动时序 fructrl组件中增加延迟机制,确保BMC服务完全启动后再允许BIOS通信
增强错误处理机制 修改BIOS重试策略,避免无限等待BTC响应导致启动阻塞
持久化配置管理 确保"丝印数据"等关键信息可靠存储,防止"No silk data"问题

预防性配置建议

# 检查BMC电源状态
ipmcget -d powerstate

# 验证IPMI Core是否正常运行
systemctl status ipmi_core

# 检查BTC服务状态
ps aux | grep btc

:light_bulb: 最佳实践:对于关键生产环境,建议在AC测试前确保所有固件版本处于推荐稳定版本,并关闭非必要的自启动服务以降低初始化竞争风险。


结论

该问题主要原因极可能是CPLD硬件或固件缺陷导致BTC通信中断,结合BIOS端无有效降级处理机制,最终引发系统级重启。虽然当前为偶发问题,但存在较大稳定性隐患。

建议优先排查并升级BCU CPLD固件版本,同时参考openUBMC社区已知修复方案进行预防性优化。

相关链接:

  1. AC后与BIOS交互的信息概率性获取不到
  2. web查询传感器,部分传感器数值显示为空
  3. BIOS启动失败,BTC is busy ,BTC bt ctrl:0x80
  4. X20 AC 测试过程中 产生core dump 导致bmc 重启
  5. bios | 文档中心 | openUBMC

你好,是否能提供一份一键收集日志定位下问题?

邮箱麻烦私信发一下

1、从 bmc 侧的操作日志分析,此次 AC 后是有部分命令执行成功的,是在中途突然发生中断异常,而后间隔约 1h 后,再次启动并能成功执行

2026-01-24 05:01:07 CLI,Administrator@10.1.16.46:58606,fructrl,Set FRU0 to ACCycle successfully
2026-01-24 05:04:07 IPMI,N/A@HOST,BIOS,Set BIOS version to 21.52
2026-01-24 05:04:07 IPMI,N/A@HOST,ipmi_core,Set watchdog timer use to (BIOS/POST), action to (Hard Reset), timeout to (900) seconds, stop running successfully
2026-01-24 05:04:27 IPMI,N/A@HOST,fault_diagnosis,BIOS report memory SPPR resource info
2026-01-24 05:04:29 IPMI,N/A@HOST,fault_diagnosis,BIOS report memory ACLS resource info
2026-01-24 05:04:37 IPMI,N/A@HOST,BIOS,No need to apply patch!  ,
2026-01-24 05:04:37 IPMI,N/A@HOST,BIOS,Set TeeOS version to --
2026-01-24 06:01:03 IPMI,N/A@HOST,BIOS,Set BIOS version to 21.52
2026-01-24 06:01:03 IPMI,N/A@HOST,ipmi_core,Set watchdog timer use to (BIOS/POST), action to (Hard Reset), timeout to (900) seconds, stop running successfully
2026-01-24 06:01:17 IPMI,N/A@HOST,fault_diagnosis,BIOS report memory SPPR resource info
2026-01-24 06:01:18 IPMI,N/A@HOST,fault_diagnosis,BIOS report memory ACLS resource info
2026-01-24 06:01:26 IPMI,N/A@HOST,BIOS,No need to apply patch!  ,
2026-01-24 06:01:27 IPMI,N/A@HOST,BIOS,Set TeeOS version to --
2026-01-24 06:01:30 IPMI,N/A@HOST,Compute,BIOS set chip bitwidth successfully
2026-01-24 06:01:34 IPMI,N/A@HOST,BIOS,The request for getting BIOS Supervisor password is delivered
2026-01-24 06:01:34 IPMI,N/A@HOST,BIOS,The request for getting BIOS UserPassword password is delivered

2、分析 bmc 侧的系统日志,无明显异常信息

基于 “OS 侧重新启动后就能恢复” ,当前怀疑 cpld 硬件处理或 bios 侧处理可能存在异常,而非 bmc 软件的处理问题。
建议下一步联合硬件与系统侧分析,添加可定位性手段并尝试复现

好的,感谢答复。后续会将问题反馈到硬件同事继续跟进。

当前更换了CPLD,BIOS等配套固件版本后,仍出现相同故障现象(3.0.7故障出现两次,3.0.5故障出现一次),且更换版本配套ibmc复现无类似问题,目前怀疑与社区版本有关。

好的。麻烦明确提供下存在问题的版本与无问题的版本,以便做版本间排查

故障固件配套版本:

3.0.5(BIOS v21.23 + BCU cpld v6.12)+ openUBMC 2512基线版本

3.0.7(BIOS v21.52 + BCU cpld v7.08)+ openUBMC 2512基线版本

目前未出现故障的配套版本:

3.0.5(BIOS v21.23 + BCU cpld v6.12 + IBMC)(验证AC次数300次)

3.0.7.1(BIOS v21.52 + BCU cpld v7.09)+ openUBMC 2512基线版本(验证AC次数超2000次)

3.1.0(BIOS v32.64 + BCU cpld v7.12)+ openUBMC 2512基线版本(验证AC次数300次)

这问题必现吗

不是必现的,故障配套环境是在300次ACcycle中大概率会出现的。目前已在不同设备上出现了三次了。

cpld bios 是你们这边出的版本 还是 社区给的呢

BIOS,CPLD配套版本是2U2P在support官网上发布的商用配套版本。

好的,我们定位下