答案内容由AI生成,仅供参考:
解决方案
1. VPD配置支持
920s模组已获得官方支持:
- 已有名为"Support 920s Modul"的Pull Request合并到
openUBMC/vpd: main分支
- 该提交包含了对920s模组的支持文件:
vendor/Huawei/TianChi/EXU/14100513_920s.sr
vendor/Huawei/TianChi/EXU/14100513_920s_soft.sr
2. CPU与内存信息获取配置
要使openUBMC获取CPU和内存信息,必须确保正确的硬件连接器配置:
**关键步骤**:
1. 确认920s模组的CSR(Component Specific Resource)文件中配置了connector,连接到VPD对应的memory CSR
2. 在相关模组的.sr文件中添加内存连接器connector配置
3. 示例配置应包含:
Connector Memory_1: {
“Bom”: “memory”,
“Slot”: 1,
“Position”: 7,
“Presence”: 1,
“Id”: “920”,
“AuxId”: “0”,
“Buses”: ,
“IdentifyMode”: 2
}
3. 电源控制配置
电源控制功能由fructl组件和VPD组件共同实现:
**VPD配置要点**:
- 配置`FruCtrl`对象相关属性
- 需要正确设置以下关键对象:
- `PGSignal_1_0101`: 电源正常信号
- `ButtonEvt_1_0101`: 按钮事件
- `ACCycle_1_0101`: AC循环控制
- `PowerButton_1_0101`: 电源按钮
**配置方式**:
这些对象应配置在对应硬件的.soft.sr文件中,如:
`vendor\openUBMC\14060876_00000001020302031825_soft.sr`
4. 构建与部署流程
**构建步骤**:
1. 修改`mds/service.json`,设置默认board_name:
```json
"board_name": {
"option": ["common", "openUBMC", "S920H20", "S920X20"],
"default": "S920X20" // 或对应920s型号
}
-
本地构建命令:
bingo build --stage=stable -o vpd/*:board_name=S920X20
-
在manifest.yml中指定VPD版本:
- conan: "vpd/1.80.192@openubmc/stable"
options:
board_name: S920X20
-
构建最终固件包:
SIGN_PASSWORD=*** bmcgo build -b openUBMC
[details="点击此处查看详细分析解答"]
# 920s模组升级openUBMC后配置VPD以支持CPU、内存信息获取和电源控制
根据您的问题,920s模组在升级到openUBMC后,需要正确配置VPD(Vital Product Data)才能正常获取CPU、内存信息并实现电源控制功能。
## 核心问题分析
920s模组(具体型号为KP920S08)使用Hi1711 BMC,升级到openUBMC后无法正常显示CPU、内存、硬盘、电源等相关信息。这通常是VPD配置不完整导致的,尽管相关特性已通过提交支持。
## 解决方案
### 1. VPD配置支持
**920s模组已获得官方支持**:
- 已有名为"**Support 920s Modul**"的Pull Request合并到`openUBMC/vpd: main`分支
- 该提交包含了对920s模组的支持文件:
- `vendor/Huawei/TianChi/EXU/14100513_920s.sr`
- `vendor/Huawei/TianChi/EXU/14100513_920s_soft.sr`
### 2. CPU与内存信息获取配置
要使openUBMC获取CPU和内存信息,必须确保正确的硬件连接器配置:
```markdown
**关键步骤**:
1. 确认920s模组的CSR(Component Specific Resource)文件中配置了connector,连接到VPD对应的memory CSR
2. 在相关模组的.sr文件中添加内存连接器connector配置
3. 示例配置应包含:
Connector Memory_1: {
“Bom”: “memory”,
“Slot”: 1,
“Position”: 7,
“Presence”: 1,
“Id”: “920”,
“AuxId”: “0”,
“Buses”: ,
“IdentifyMode”: 2
}
3. 电源控制配置
电源控制功能由fructl组件和VPD组件共同实现:
**VPD配置要点**:
- 配置`FruCtrl`对象相关属性
- 需要正确设置以下关键对象:
- `PGSignal_1_0101`: 电源正常信号
- `ButtonEvt_1_0101`: 按钮事件
- `ACCycle_1_0101`: AC循环控制
- `PowerButton_1_0101`: 电源按钮
**配置方式**:
这些对象应配置在对应硬件的.soft.sr文件中,如:
`vendor\openUBMC\14060876_00000001020302031825_soft.sr`
4. 构建与部署流程
**构建步骤**:
1. 修改`mds/service.json`,设置默认board_name:
```json
"board_name": {
"option": ["common", "openUBMC", "S920H20", "S920X20"],
"default": "S920X20" // 或对应920s型号
}
-
本地构建命令:
bingo build --stage=stable -o vpd/*:board_name=S920X20
-
在manifest.yml中指定VPD版本:
- conan: "vpd/1.80.192@openubmc/stable"
options:
board_name: S920X20
-
构建最终固件包:
SIGN_PASSWORD=*** bmcgo build -b openUBMC
## 常见问题排查
### 信息不显示的可能原因
- VPD配置文件未正确应用到构建流程
- .sr文件未包含必要的connector配置
- BIOS未通过IPMI正确上报CPU和内存静态信息
- 构建时board_name选项设置错误
### 验证方法
- 使用`cat /etc/package_info | grep vpd`确认VPD版本正确
- 检查构建临时目录中是否包含正确的.sr文件
- 确认web界面中"系统信息"下的"资产摘要"、"处理器"、"内存"等子标签页是否能显示数据
## 参考资料
- [920s模组参考代码链接](https://gitcode.com/AtomGit)
- OpenUBMC Documentation ([https://www.openubmc.cn/docs/zh/development/](https://www.openubmc.cn/docs/zh/development/))
- openUBMC论坛相关讨论话题 #5462, #3743, #4453
按上述步骤配置后,应能解决920s模组在openUBMC下无法获取CPU、内存信息及电源控制的问题。
[/details]