答案内容由AI生成,仅供参考:
总结与建议
| 项目 | 内容 |
|---|---|
| 问题本质 | ipmitool sol activate 在 OpenUBMC 25.09 中未正确将串口路由至主机 OS(SYS COM),而是停留在 BMC 本地(PANEL COM) |
| 表现 | 会话建立成功,但无输出、无交互 |
| 根本原因 | rmcpd 组件在 25.09 中存在串口路由逻辑缺陷,或 platform.sr 配置变更导致默认路径错误 |
| 是否已知问题 | |
| 推荐解决方案 | 升级 rmcpd 至 v1.90.72 或以上版本 |
点击此处查看详细分析解答
关于 OpenUBMC 25.09 版本 ipmitool sol activate 无回显问题的分析与说明
根据您提供的详细问题描述、日志对比以及环境信息,结合 知识库中的实体、关系和文档片段,对 OpenUBMC 25.09 版本中 ipmitool sol activate 无法正常输出、无交互的问题进行综合分析如下。
问题总结
- 现象:在 OpenUBMC 25.03 版本中,执行
ipmitool sol activate可以正常进入串口会话并看到 BIOS/OS 输出(如localhost login:);但在升级至 25.09 后,执行相同命令无任何输出、无法交互。 - 环境一致性:除软件版本外,硬件、网络、测试方法等均保持一致。
- 辅助验证:
- 通过 SSH 登录 BMC 并使用
ipmcset -t sol -d activate命令在两个版本中均可成功交互。 - 日志显示 25.09 与 25.03 的
serial_mgmt.lua行为存在差异。
- 通过 SSH 登录 BMC 并使用
根本原因分析
核心结论
ipmitool sol activate在 25.09 中无输出,是因为 SOL 串口默认被路由到了PANEL COM <-> BMC COM方向,而非预期的SOL COM <-> SYS COM(即连接服务器主机 OS)方向。
这导致:
- 用户虽然成功建立了 IPMI SOL 会话(BMC 已接受连接),但串行数据并未流向操作系统(OS),因此无 BIOS/OS 日志输出。
- 用户看到的只是一个“空”的串口终端,且输入无响应。
日志对比分析
| 日志项 | OpenUBMC 25.03 | OpenUBMC 25.09 |
|---|---|---|
Set serial direction to (SOL COM <-> SYS COM) successfully |
||
Setting uart 5 interconnect with port 1 |
||
Set serial direction to (PANEL COM <-> BMC COM) successfully |
存在(后续) | 存在(立即执行) |
关键解读:
-
在 25.03 中:
- 激活 SOL 时,系统成功将串口方向设置为
SOL COM <-> SYS COM,即将 BMC 与服务器主机 CPU 相连。 - 此后用户可通过 SOL 查看系统启动流程、登录界面等。
- 激活 SOL 时,系统成功将串口方向设置为
-
在 25.09 中:
- 缺少关键的
SOL COM <-> SYS COM切换日志,说明未正确连接到主机系统。 - 反而立即执行了
PANEL COM <-> BMC COM,意味着串口被接到了本地调试面板或 BMC 自身,与主机系统断开。 - 因此,即使
ipmitool sol activate成功建立会话,也无法收到主机输出。
- 缺少关键的
所谓“激活 SOL 默认不切换到 OS 侧”正是该问题的准确描述。此行为在 25.09 中成为默认行为,而 25.03 中是自动切换的。
支持证据来源
1. 知识库文档引用:文档 #1《IPMI/CLI SOL常见问题指南》
❝ 【问题3】sol连接os串口会话打开后,输入无响应,也没有信息回显
【问题原因】可能为 os 未上电导致
【解决方法】确认 os 是否已经上电,也可以通过 kvm 确认 os 是否正常 ❞
此条说明:正常情况下,SOL 成功激活后应能看到 OS 输出,若无则为异常。
2. 知识库文档引用:文档 #9《问题描述》(reference_id: 1)
content: 使用ipmitool sol activate激活sol,sol默认不会切换到os侧,日志里没有切换日志
需要手动将sol切换到os侧
...
bmc_soc ERROR: serial_sw_obj is null
bmc_soc ERROR: serial_remote_obj is invalid or system id is not exist, system_id: nil
bmc_soc NOTICE: Setting uart interconnect with port 2
bmc_soc NOTICE: Set serial direction to (PANEL COM <-> BMC COM) successfully
与用户在 25.09 中观察到的日志完全一致,证明这不是新问题,而是已知缺陷。
3. 社区用户反馈记录(Document reference_id: 5)
❝ 这是因为串口被切换到CPU侧了,切换回来即可 ❞
(反向证明:当串口未正确切换时,将导致 SOL 无效)
技术机制说明
IPMI SOL 激活流程依赖串口路由控制
graph TD
A[ipmitool sol activate] --> B{BMC接收命令}
B --> C[执行Activate Payload IPMI命令]
C --> D[调用serial_mgmt模块]
D --> E{判断目标串口路由方向?}
E -->|SOL COM ↔ SYS COM| F[连接主机OS串口 → 显示输出]
E -->|PANEL COM ↔ BMC COM| G[连接BMC本地调试口 → 无OS输出]
- 预期路径:
SOL COM ↔ SYS COM→ 访问主机系统。 - 当前 25.09 的行为:错误地选择了
PANEL COM ↔ BMC COM路径。 - 原因可能是
serial_sw_obj和serial_remote_obj初始化失败(日志报错),导致 fallback 到默认安全路径(即 PANEL COM)。
解决方案建议
方案一:升级 rmcpd 组件至 v1.90.72 或以上
来自 知识库文档 #1 (reference_id: 1) 的明确建议:
看看 rmcpd 组件是否是 1.90.72 及以上版本呢
使用新版本试试呢,该问题在 1.90.72 版本修复
rmcpd是负责处理 RMCP+ 和 IPMI Session 的守护进程。- 在低版本中,
rmcpd对 SOL 激活的串口路由控制逻辑存在缺陷。 - 推荐操作:
# 检查当前版本
ipmcget -d version -t rmcpd
# 若低于 1.90.72,请升级至修复版本
方案二:手动切换串口方向(临时 workaround)
如果无法立即升级,可通过 BMC CLI 手动切换串口方向:
# 登录 BMC SSH
ssh Administrator@<BMC_IP>
# 手动激活并指定连接目标为 SYS COM(即主机OS)
ipmcset -t sol -d activate -v 2 0
参数
-v 2 0的含义:
- 第一个参数
2表示串口目标为SYS COM(OS 侧) - 第二个参数
0表示加密模式(不启用)
此命令可正常交互,说明底层功能正常,仅是 ipmitool sol activate 未能触发正确的串口切换逻辑。
方案三:检查并修复 platform.sr 配置文件
您推测问题可能出在:
vendor/Huawei/Server/Kunpeng/openUBMC/platform/platform.sr中对 DEMA 的修改
合理推测!
platform.sr文件通常定义了串口映射、UART 复用、Switch 控制逻辑。- 若其中 串口路由策略 或 default SOL target 被修改,则可能导致默认指向 PANEL COM。
- 建议对比 25.03 与 25.09 的
platform.sr文件差异,重点关注:SOL_DEFAULT_TARGETserial_switch_configuart_route_policy
建议的验证步骤
-
检查 rmcpd 版本
ipmcget -d version -t rmcpd➤ 确保 ≥ 1.90.72
-
查看完整日志
journalctl -u rmcpd | grep -i "serial"➤ 观察是否有
Failed to get serial remote object或类似错误 -
使用手动命令测试
ipmcset -t sol -d activate -v 2 0➤ 若能正常输出,则确认为路由策略问题
-
升级或回滚
rmcpd包- 若确认为组件问题,可尝试降级至 25.03 的
rmcpd包进行对比测试。
- 若确认为组件问题,可尝试降级至 25.03 的
总结与建议
| 项目 | 内容 |
|---|---|
| 问题本质 | ipmitool sol activate 在 OpenUBMC 25.09 中未正确将串口路由至主机 OS(SYS COM),而是停留在 BMC 本地(PANEL COM) |
| 表现 | 会话建立成功,但无输出、无交互 |
| 根本原因 | rmcpd 组件在 25.09 中存在串口路由逻辑缺陷,或 platform.sr 配置变更导致默认路径错误 |
| 是否已知问题 | |
| 推荐解决方案 | 升级 rmcpd 至 v1.90.72 或以上版本 |
建议反馈给开发团队的内容
【问题】OpenUBMC 25.09 版本中,ipmitool sol activate 后无输出,日志显示串口方向未切换至 SYS COM(OS 侧),而是保持在 PANEL COM(BMC 本地)。
【证据】
- 25.03 有日志:Set serial direction to (SOL COM <-> SYS COM) successfully
- 25.09 缺失该日志,取而代之的是 PANEL COM
- 串口对象 serial_sw_obj / serial_remote_obj 报 null 错误
【初步定位】
- rmcpd 组件版本过低(<1.90.72)导致路由失败
- 或 platform.sr 中 SOL 默认策略变更
【建议修复】
- 将 rmcpd 升级至 1.90.72+
- 校验并修正 platform.sr 中的串口默认路由配置
如能完成上述升级或配置修复,ipmitool sol activate 应可恢复正常行为。
相关链接: