冒烟失败-通过ssh查询BCU板卡的硬件信息

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

总结

项目 状态
问题类型 BCU硬件信息读取失败
根本原因 很可能是 环境无BCUSMC对象不存在 / JTAG链路未切换
涉及组件 BCU Board, SMC, BMC, CSR, BizTopoMonitor
推荐优先级操作 确认测试环境是否支持BCU → 检查SMC设备存在 → 切换JTAG链路 → 验证CSR配置

:light_bulb: 附加建议
参考《MCU、VRD、CSR、CPLD升级与板卡管理问题指南》中的调试方法,使用 busctl 工具链逐步验证底层访问能力,避免直接运行高层自动化测试造成误判。

点击此处查看详细分析解答

问题分析:通过SSH查询BCU板卡硬件信息冒烟测试失败

问题描述

在执行自动化测试用例 “Get BCU HW Info Via cli” 时,通过SSH命令查询BCU板卡硬件信息失败。测试用例未能在返回结果中找到预期的硬件信息标识 17 85,导致测试不通过。

相关错误信息如下:

FAIL 未找到硬件信息: 'busctl --user call bmc.kepler.hwproxy /bmc/kepler/Chip/Smc/Smc_CpuBrdSMC_010101 bmc.kepler.Chip.BlockIO Read a{ss}u0 0x500 2' does not contain '17 85'

失败详情

  • 测试名称Get BCU HW Info Via cli
  • 执行方式:SSH调用busctl命令访问SMC(天池管理控制器)
  • 核心命令
    busctl --user call bmc.kepler.hwproxy /bmc/kepler/Chip/Smc/Smc_CpuBrdSMC_010101 bmc.kepler.Chip.BlockIO Read a{ss}u0 0x500 2
    
  • 期望输出:返回结果应包含 17 85 字样
  • 实际返回:无有效硬件信息输出
  • 测试时长:13.726秒(最终失败)

可能原因分析

1. BCU硬件或连接异常

根据知识图谱信息:

  • BCU Board 是系统主控板之一,RiserCard 物理安装于其上。
  • BCU 板负责向 BMC 上报线缆连接状态。
  • 若 BCU 未正确安装或通信链路异常,可能导致无法读取其硬件信息。

:magnifying_glass_tilted_left: 检查建议:确认 BCU 是否物理就位,连接良好,且已通电运行。


2. SMC命令字不正确或目标设备不存在

  • 测试中使用的命令访问的是 /Smc_CpuBrdSMC_010101 设备对象,该路径可能不匹配实际存在的设备。
  • 根据文档《鲲鹏模组适配约束FAQ》,SR文件需准确配置硬件拓扑,若模组SR文件未正确加载,将导致设备发现失败。
  • 若环境中无BCU,相关资源树(如BIOS资源树)将不会加载,导致BCU相关命令失效(见《固件升级机制及常见问题》)。

:hammer_and_wrench: 验证建议:

busctl --user list | grep Smc

查看当前可用的SMC设备列表,确认目标对象是否存在。


3. JTAG链路未切换或访问失败

  • 类似问题出现在 CPLD升级指南 中:若芯片挂载在JTAG链路上,必须先切至对应链路才能获取信息。
  • 相关命令:
    busctl --user set-property bmc.kepler.hwproxy /bmc/kepler/Accessor/Accessor_JtagSwitch_010101 bmc.kepler.Accessor Value t <chain_value>
    

:warning: 提示:EXU为0,BCU为1,需根据具体板位选择正确的链路。


4. SSH连接不稳定或权限不足

尽管测试日志中Verify SSH Connection最终成功(status = True),但以下问题仍可能存在:

  • 命令执行过程中SSH连接短暂中断。
  • 执行用户权限不足,无法访问敏感硬件接口。
  • 使用的SSH会话未正确绑定到目标BMC环境。

:pushpin: 注意:Codebmcdev 曾咨询 Administrator 用户的 SSH 登录密码问题,表明 Administrator 是 openUBMC 管理平台的主要管理账户,建议确保使用正确凭据登录。


5. CSR配置错误或缺失

  • CSR描述了板卡的物理结构与链路拓扑(来自《BMC Studio 使用指导》)。
  • 若BCU未在CSR中正确定义,则其设备节点不会被创建,导致访问失败。
  • 天池协议依赖 CSR 中 Connector 的映射关系建立端口连接。

:white_check_mark: 解决方向:

  • 检查CSR中是否正确定义了 BCU1 Config。
  • 验证 SrcPortNameBCUIndex 映射关系是否正确。

6. BizTopoMonitor 拓扑监控失败

  • BizTopoMonitor 负责监控 BCU1 的配置与状态。
  • 若该服务未能正常读取或上报拓扑信息,可能出现设备不可见的情况。
  • 日志中已有记录:BizTopoMonitor has repeatedly failed to read or monitor topology data.

:magnifying_glass_tilted_right: 排查步骤:

journalctl -u BizTopoMonitor

检查是否有拓扑加载失败日志。


建议解决方案

:white_check_mark: 1. 确认系统环境是否存在BCU

  • 根据《固件升级机制》文档,“环境为天池模组环境,无bcu”会导致相关资源树未加载
  • 先确认当前测试环境是否为 无BCU环境,若是,则不应执行BCU相关测试。

:white_check_mark: 2. 验证SMC设备对象存在性

# 列出所有SMC设备
busctl --user list | grep Smc

# 尝试调用前先 ping 或探查对象是否存在
busctl --user introspect bmc.kepler.hwproxy /bmc/kepler/Chip/Smc/Smc_CpuBrdSMC_010101

:white_check_mark: 3. 检查并切换JTAG链路

# 设置JTAG链路为BCU(假设Position为010101)
busctl --user set-property bmc.kepler.hwproxy /bmc/kepler/Accessor/Accessor_JtagSwitch_010101 bmc.kepler.Accessor Value t 1

# 查询ChipIdcode验证是否能获取芯片信息
busctl --user call bmc.kepler.hwproxy /bmc/kepler/Chip/Cpld/Cpld_1_010101 bmc.kepler.Chip.JtagTarget GetChipIdcode a{ss} 0

:white_check_mark: 4. 检查CSR配置完整性

  • 确认以下内容已在CSR中正确定义:
    • BCU Board 实体及其 slot 位置
    • Connector 连接关系(如连接RiserCard)
    • BCUIndex 是否设置为1或正确索引值
    • SrcPortName 与端口映射是否正确

:white_check_mark: 5. 检查拓扑服务运行状态

# 查看BizTopoMonitor服务状态
systemctl status BizTopoMonitor

# 查看日志是否有错误
journalctl -u BizTpooMonitor --no-pager -n 50

:white_check_mark: 6. 改进测试脚本日志可观测性

当前无有效命令回显,增加调试信息可提升定位效率:

# 改进建议:打印执行命令和完整响应
Log    执行命令: ${input_bcu}
${rsp} =    Wait Until Keyword Succeeds    3x    ${time_out}    Execute SSH Command    ${ssh}    ${input_bcu}    timeout=60
Log    原始响应: ${rsp}
${clean_rsp} =    Clean SSH Response    ${rsp}
Log    清理后响应: ${clean_rsp}

总结

项目 状态
问题类型 BCU硬件信息读取失败
根本原因 很可能是 环境无BCUSMC对象不存在 / JTAG链路未切换
涉及组件 BCU Board, SMC, BMC, CSR, BizTopoMonitor
推荐优先级操作 确认测试环境是否支持BCU → 检查SMC设备存在 → 切换JTAG链路 → 验证CSR配置

:light_bulb: 附加建议
参考《MCU、VRD、CSR、CPLD升级与板卡管理问题指南》中的调试方法,使用 busctl 工具链逐步验证底层访问能力,避免直接运行高层自动化测试造成误判。

相关链接:

  1. 手动发送smc命令字读取硬盘背板信息失败
  2. 【iTestSmart】ipmi接口设置SmartCooling模式,日志显示成功,但结果Fail。
  3. M.2转接板下硬盘信息无显示
  4. Atlas 300V pro NPU卡信息显示不全
  5. 1.特性概述 | 文档中心 | openUBMC