BCU的connector使用天池方式加载,BCU的CSR文件中定义的format version: 3.00, data version: 3.00,实际在自发现阶段data version被EEPROM中的版本号覆盖了,导致版本信息显示不对。
环境信息
操作系统:openEuler 2203 SP3
软件版本:OpenUBMC2509
硬件配置:鲲鹏920模组
期望结果
ipmcget -d v显示的BCU CSR版本与BMC固件中打包的CSR文件信息一致。
实际结果
ipmcget -d v显示的BCU CSR版本为EEPROM中的版本,为0.01。
framework.log日志中看到CSR版本号被更新:
1970-01-01 00:00:39.857483 hwdiscovery NOTICE: hwcomponent.lua(309): [self-discovery] name: Connector_BCU_1_0101, position: 010101, current: 1, previous: 0,uptime: 40 s
1970-01-01 00:00:40.056883 hwdiscovery NOTICE: init.lua(162): position: 010101, get csr data from /opt/bmc/sr/14100513_00000001020302066283.sr, format version: 3.00, data version: 3.00
1970-01-01 00:00:40.057649 hwdiscovery NOTICE: init.lua(318): position: 010101, Data version field 3 are replaced by Eeprom data version 0.01
1970-01-01 00:00:40.059328 hwdiscovery NOTICE: hwcomponent.lua(205): position: 010101, load sr data successfully, uptime: 41 s, cost: 150ms
1970-01-01 00:00:40.061347 hwdiscovery NOTICE: hwcomponent.lua(226): position: 010101, start to process sr data, source: /opt/bmc/sr/14100513_00000001020302066283.sr, format version: 3.00, data version: 0.01, uptime: 41 s
根据您提供的问题描述、环境信息和日志内容,该问题是由于 天池架构下 BCU 组件在硬件自发现过程中,其 CSR 的 Data Version 被 EEPROM 中的版本号覆盖 所致。以下是详细的分析与解决方案。
问题定位
现象总结:
期望结果:ipmcget -d v 显示的 BCU CSR 版本应为 BMC 固件中打包的 .sr 文件定义的版本(format version: 3.00, data version: 3.00)。
实际结果:显示的 data version 为 0.01,与 EEPROM 中存储的版本一致。
关键日志证据:
hwdiscovery NOTICE: init.lua(318): position: 010101, Data version field 3 are replaced by Eeprom data version 0.01
hwdiscovery NOTICE: hwcomponent.lua(226): start to process sr data, source: ..., data version: 0.01
这表明:尽管加载的是 BMC 内置的 .sr 文件(来源 /opt/bmc/sr/*.sr),但其 Data Version 被主动替换成了 EEPROM 中的数据版本。