电源板配置4个电源页面WEB页面值显示2个

// 此模板仅供参考,如果不适用可以修改

问题描述

[在这里详细描述您遇到的问题]

扩展板有PSU1-4 四个电源正常显示

现在适配一块电源转接板,上面配置了PSU5-8四个电源,共8个电源,但在页面上电源板的四个电源只显示2个,这个是什么原因

环境信息

  • 操作系统:[如 Ubuntu 24.04]

  • 软件版本:[如 OpenUBMC2509]

  • 硬件配置:[如 CPU、内存等]

重现步骤

  1. [第一步]

  2. [第二步]

  3. [第三步]

期望结果

希望显示4个电源

实际结果

扩展板上配置的4个电源可以正常显示,电源板只能显示PSU5和PSU6两个电源,

尝试过的解决方案

[列出您已经尝试过的解决方案及结果]

分析结论

[详细总结您对此问题的分析结论]

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

总结

:light_bulb: “硬件存在 ≠ 界面可见”
在 OpenUBMC 架构下,电源是否能在 WEB 页面显示,依赖于 SR 配置 → BMC 探测 → webrest 接口 → 前端渲染 这一完整链条。
当前现象表明,PSU7 和 PSU8 的配置未在 SR 文件中完整声明,导致 BMC 无法建立其模型,最终 Web 页面无法获取和展示。

建议优先 检查并补全 SR 文件中 PSU7 和 PSU8 的配置定义,并验证 webrest 接口输出,即可解决该问题。

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

电源板配置4个电源,但WEB页面仅显示2个的原因分析

问题描述

在适配一块电源转接板的场景中,系统物理上配置了8个电源(PSU1-4位于扩展板,PSU5-8位于电源转接板),其中扩展板的PSU1-4可正常显示。然而,在WEB管理界面中,电源转接板上的PSU5-PSU8仅有PSU5和PSU6能被正确识别并显示,PSU7与PSU8未出现在界面中,导致信息展示不完整,影响运维可视性。


环境信息

  • 操作系统:OpenUBMC(社区版)
  • 软件版本:2509 版本(25.12.01.01 或类似命名)
  • 硬件配置
    • 主控板(BMC)管理多个电源槽位
    • 扩展板:支持 PSU1-PSU4
    • 电源转接板:支持 PSU5-PSU8(新增部分)
    • 每个电源通过 I2C 接口与 BMC 通信

重现步骤

  1. 将电源转接板连接至系统,插入 PSU5 和 PSU6 电源模块;
  2. 插入 PSU7 和 PSU8 模块;
  3. 登录 Web 页面,访问 “电源&功率” 界面;
  4. 观察电源列表显示情况;
  5. 使用 GetPowerSupplyInfo 命令或后台日志检查所有电源是否存在。

结果

  • PSU5 和 PSU6 显示正常
  • PSU7 和 PSU8 未显示

分析结论

1. 物理存在但界面未展示,说明问题出在“识别链”末端

根据知识库信息,PSU6 的 Presence=1 且已进入 Connector_PowerSupply_6_01010E 对象中,但仍未能在“电源&功率”界面显示,这表明硬件检测已完成,但 UI 层未正确获取或渲染数据,属于 “前端可见性”与“后端探测”之间的断链

此问题与文档 #4(评审:webrest 需新增 Position 显示电源位置)和 #9(前端裁剪机制)高度相关,说明 webrest 接口及前端逻辑是决定是否显示的关键。


2. Webrest 接口数据缺失或过滤是核心原因

:white_check_mark: 关键机制:webrest 接口控制 UI 渲染

从搜索结果可知:

【已评审】webrest需要新增属性Position显示电源位置
URL:UI/Rest/System/PowerSupply 提供 SupplyList 列表,前端据此渲染电源槽位。

这意味着 WEB 页面不会自动扫描所有 PSU,而是依赖 /UI/Rest/System/PowerSupply 接口返回的 SupplyList 中的条目来决定显示哪些电源

若 PSU7 和 PSU8 未被包含在该接口的返回列表中,则无论其物理是否存在,都不会显示。


3. SR 文件或 CSR 配置未完整定义 PSU7、PSU8 槽位

Knowledge Graph 数据明确指出:

Connector_PowerSupply_6_01010E 是 BMC 级别的属性,由 SR 文件配置驱动。
SR File Configuration 定义了用于计算 PSU 是否存在的表达式(如结合 scanner status 和 connector value 的条件判断)。

:red_exclamation_mark:问题可能在于:

  • SR 文件或 CSR 配置中仅定义了 PSU5 和 PSU6Connector_PowerSupply_X 实体;
  • PSU7 和 PSU8 虽物理连接,但缺少如下配置项:
    • Connector_PowerSupply_7_01010E
    • Connector_PowerSupply_8_01010E
  • 导致 BMC 的设备树(Device Tree)或扫描器(Scanner)未将这两个槽位注册为有效 PSU 槽。

因此,GetPowerSupplyInfo 命令或 openUBMC 后端无法查询到其信息。


4. Slot 配置未覆盖全部槽位(PsuSlot 定义不全)

Knowledge Graph 提到:

PsuSlot_1 是一个槽位配置对象,包含:

  • SlotNumber
  • SlotI2cAddr
  • Presence 监测寄存器(如 Scanner_PS1Pres.Value

这些对象通常在 .sr 文件(如 14100513_...sr)中静态定义。

:red_exclamation_mark:推测:

当前配置文件 只包含了 Slot5 和 Slot6 的 PsuSlot 定义,而 Slot7 和 Slot8 缺失,导致:

  • I2C 地址未绑定
  • Presence 检测逻辑未配置
  • Eeprom_PsuChip 无引用
    → 因此 BMC 不认为它们是“已知”槽位。

5. Power & Power Interface 显示逻辑存在过滤机制

知识图谱中明确指出:

2509 Version 的版本存在 系统电源配置丢失或禁用的问题,导致部分电源数据隐藏。
System Power Configuration 与 UI 显示行为强关联。

此外,文档 #1 提到:

电源设置按钮是否显示,依赖于 DeepSleepSupportedPowerCappingSupported 等能力字段。

这说明:即使 PSU 存在,如果系统未正确声明其功能支持,则前端可能跳过渲染


结论与根本原因

原因类别 说明
:white_check_mark: 根本原因 SR/CSR 配置文件未完整定义 PSU7 和 PSU8 的槽位信息(如 Connector、SlotNumber、I2C 地址、Presence 扫描器等),导致 BMC 无法生成对应的 PowerSupply 实体,进而 webrest 接口未将其纳入 SupplyList 返回,前端无法显示。
:small_blue_diamond: 次要原因 2509 版本 BMC 存在电源配置不稳定问题(如 PowerSensor 缺失、配置还原),可能加剧显示异常。
:small_blue_diamond: 次要原因 Web 前端依赖 webrest/UI/Rest/System/PowerSupply 接口,若后端未返回 PSU7/8,则即使底层存在也无法显示。

解决方案建议

:white_check_mark: 1. 检查并更新 SR/CSR 配置文件

确保以下实体在 .sr 文件中完整定义:

{
  "Connector_PowerSupply_7_01010E": {
    "Id": "PSU",
    "Type": "Psu",
    "Position": 7,
    "Slot": 7,
    "Presence": 1,
    "Buses": ["I2c_X_XXXXXX"],
    "Bom": "14191046"
  },
  "Connector_PowerSupply_8_01010E": {
    "Id": "PSU",
    "Type": "Psu",
    "Position": 8,
    "Slot": 8,
    "Presence": 1,
    "Buses": ["I2c_Y_YYYYYY"],
    "Bom": "14191046"
  }
}

同时确认:

  • 对应的 PsuSlot_7PsuSlot_8 已定义
  • 包含 SlotNumber=7/8
  • 关联正确的 SlotI2cAddr
  • 配置 Presence 所需的 Scanner_PS7Pres.Value 寄存器路径

:white_check_mark: 2. 验证 webrest 接口输出

调用接口:

GET /UI/Rest/System/PowerSupply

检查返回的 SupplyList 是否包含 8 个实体。若仅返回 6 个,则证明后端未加载。

:white_check_mark: 3. 升级或修复至稳定版本

由于 2509 Version 已知存在:

  • 电源传感器丢失
  • 配置还原问题
    尝试升级到更新的版本(如 25.12.01.01 之后版本),避免固件层面 bug。

:white_check_mark: 4. 检查设备树与 I2C 总线映射

确认 PSU7 和 PSU8 连接的 I2C 总线已在 Device Tree 中启用,并且地址无冲突。


总结

:light_bulb: “硬件存在 ≠ 界面可见”
在 OpenUBMC 架构下,电源是否能在 WEB 页面显示,依赖于 SR 配置 → BMC 探测 → webrest 接口 → 前端渲染 这一完整链条。
当前现象表明,PSU7 和 PSU8 的配置未在 SR 文件中完整声明,导致 BMC 无法建立其模型,最终 Web 页面无法获取和展示。

建议优先 检查并补全 SR 文件中 PSU7 和 PSU8 的配置定义,并验证 webrest 接口输出,即可解决该问题。

查询下 bmc.kepler.Chassis 下的DeviceSpecication

目前检查发现CSR中7-8 Connector_PowerSupply中漏配了”Type”:”Psu”,加上之后问题解决