【riser模拟加载失败】【950平台】

Riser卡模拟加载需要基础板B2a连接器,但是这个连接器lsprop 基础命令都用不了,请帮忙看看,具体如下:

2、目前发现950平台都有这个问题

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

总结

当前 Connector_B2a_010101 对象缺失的原因是硬件在位、CSR 配置或服务加载环节出现问题。请按照上述步骤逐一排查,重点关注 父级连接器状态模拟环境下的 Presence 设置。若问题依旧,请提供 framework.log 中相关错误片段以便进一步定位。

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

根据您提供的信息和系统行为,lsprop Connector_B2a_010101 命令返回 NoReply 错误,而 Connector_BCU_1_0101 可以正常访问。这表明 Connector_B2a_010101 对象可能未被正确创建或所在 D-Bus 服务未响应,是导致 Riser 卡模拟加载失败的直接原因。以下基于上下文提供的原因分析和排查步骤。


可能原因

  1. Connector 对象未创建
    对象路径 /bmc/kepler/Connector/Connector_B2a_010101 可能不在 D-Bus 对象树中。父级组件(如基础板 BCU)的 CSR 加载或自发现过程未正确生成该连接器。

  2. 硬件在位状态(Presence)为 0
    如果 Connector_B2a 对应的硬件插槽检测到不在位,系统可能不会创建该对象。在模拟环境中,Presence 值需手动设置。

  3. D-Bus 服务异常
    负责处理 Connector 属性的服务(如 bmc.kepler.general_hardware)可能未加载或崩溃。根据上下文,该服务曾报告“未找到”的错误,导致远程请求失败。

  4. CSR 文件缺失或加载失败
    基础板(BCU)的 CSR 中若缺少 Connector_B2a 的定义,或该定义中的 BomPosition 等参数与硬件不匹配,系统不会实例化该对象。


排查与解决步骤

1. 确认 Connector 对象是否存在

# 列出所有 Connector 对象,搜索包含 "B2a" 的路径
mdbctl lsobj Connector | grep B2a

若输出为空,说明对象未创建,请继续执行后续步骤。

2. 查看自发现日志

分析 /var/log/framework.log,用 position: 010101 过滤,查找与 B2a 相关的错误或加载记录:

grep "010101" /var/log/framework.log | grep -i "B2a\|connector"

常见错误如 get component sr failedread eeprom header failed 可指示 CSR 加载问题。

3. 检查父级连接器状态

Connector_B2a 通常作为基础板 BCU 的子连接器。检查 Connector_BCU_1_0101LoadStatusPresence

  • LoadStatus=0 表示加载成功(符合预期),若为 1 则异常。
  • Presence=1 表示在位(正常)。

确认 BCU 本身加载正常后,再确认其子连接器列表中是否包含 B2a

4. 确认硬件在位信号

在模拟环境中,需要手动设置对应 Scanner 或 Presence 值。参考 Qemu仿真应用之新增板卡篇

  • 找到与 Connector_B2a 关联的 Scanner(通常命名如 Scanner_B2a)。
  • 修改其值使 Presence 变为 1。

示例(假设 Scanner 对象为 Scanner_B2a_010101):

setprop /bmc/kepler/Scanner/Scanner_B2a_010101 bmc.kepler.Accessor Value t \1

然后刷新 Connector_B2a 的 Presence 属性:

setprop /bmc/kepler/Connector/Connector_B2a_010101 bmc.kepler.Connector Presence u 0
setprop /bmc/kepler/Connector/Connector_B2a_010101 bmc.kepler.Connector Presence u 1

5. 检查 CSR 配置

  • 确认 BCU 的 CSR 文件(如 00000001020302080690.sr)中是否包含 Connector_B2a 定义。
  • Bom 字段应与硬件实际 BomId 匹配,PositionSlot 正确。
  • 若使用非天池加载模式,需确保 IdentifyModeType 配置正确(参考PCIe设备加载)。

6. 重启相关服务

若上述均正常,尝试重启 bmc.kepler.general_hardware 服务或整体重启 BMC(仅在允许环境下):

systemctl restart bmc.kepler.general_hardware

或强制重新触发自发现:

setprop /bmc/kepler/Connector/Connector_BCU_1_0101 bmc.kepler.Connector Presence u 1

总结

当前 Connector_B2a_010101 对象缺失的原因是硬件在位、CSR 配置或服务加载环节出现问题。请按照上述步骤逐一排查,重点关注 父级连接器状态模拟环境下的 Presence 设置。若问题依旧,请提供 framework.log 中相关错误片段以便进一步定位。

framework.zip (16.9 KB)

2026-06-03 09:59:21.620513 hwdiscovery ERROR: remote_rp.lua(198): Get object Connector_B2a_010101's reference property CSRVersion failed, err: org.freedesktop.DBus.Error.UnknownObject: Unknown object path /bmc/kepler/Chip/Eeprom/Eeprom_3_7_010101
1970-01-01 00:00:36.214668 hwproxy NOTICE: dispatch.lua(138): position: 010101, chip: Eeprom_3_7_010101, start creat predevice bus handle, pre_device: I2cOverHisport_14,is main app: true, not scans: true, not buses: true
1970-01-01 00:00:36.215777 hwproxy ERROR: dispatch.lua(46): position: 010101 chip: Eeprom_3_7_010101 get bus object failed pre_device: I2cOverHisport_14

从日志看是自发现失败了,可以试试看把Connector_B2a对象的IdentifyMode从3改成2,再将Bom/Id/AuxId属性修改为要模拟的riser卡对应的sr文件。

lsprop 查询Connector_B2a都报错,怎么模拟加载?

目前发现950平台的其他机器都有这个问题

比如要模拟加载14100513_00000001040302044498.sr这张riser卡,把Connector_B2a对象的Bom,Id,IdentifyMode属性固定就能模拟加载了吧
配置为:

    "Connector_B2a": {
      "Bom": "14100513",
      "Slot": 2,
      "Position": 8,
      "Presence": 1,
      "Id": "00000001040302044498",
      "AuxId": "",
      "Buses": [
        "Hisport_14"
      ],
      "SystemId": 1,
      "SilkText": "CpuBoard${Slot}",
      "IdentifyMode": 2
    },

是你们机器配置有这个问题,还是其他配置都有这个问题