bios版本号获取不到问题分析
更新时间: 2026/05/28
在Gitcode上查看源码

问题背景

  • 单板类型:NA;
  • 软件版本:openUBMC 25.06;
  • 涉及功能:bios版本号显示;
  • 触发条件:bios上报的版本号为不可见字符。
  • 业务表现:预期bios版本号正常显示;实际读取BIOS版本号为空。

问题复现步骤

升级25.06版本,读取BIOS版本号为空。

关键日志信息

查看日志,确认报错如下:

text
11858:2025-09-10 15:44:15.113339 bios NOTICE: bios_service.lua(1296): [bios] system 1 read file(42) success 
11861:2025-09-10 15:44:18.124674 bios NOTICE: bios_service.lua(432): set bios version to successfully, system is 1 
11862:2025-09-10 15:44:18.169435 bios NOTICE: upgrade_service.lua(863): [bios]clear system 1 slave upgrade flag

定位过程

  1. 查看资源树

    text
    ~ ~ # busctl --user tree bmc.kepler.bios
    └─/bmc
      └─/bmc/kepler
        ├─/bmc/kepler/IpmiCmds
        │ ├─/bmc/kepler/IpmiCmds/00
        │ │ ├─/bmc/kepler/IpmiCmds/00/08
        │ │ │ ├─/bmc/kepler/IpmiCmds/00/08/SetBootOption
        │ │ │ ├─/bmc/kepler/IpmiCmds/00/08/SetBootOptionPowerOnDelay0
        │ │ │ └─/bmc/kepler/IpmiCmds/00/08/SetBootOptionPowerOnDelay1
        │ │ └─/bmc/kepler/IpmiCmds/00/09
        │ │   ├─/bmc/kepler/IpmiCmds/00/09/GetBootOption
        │ │   ├─/bmc/kepler/IpmiCmds/00/09/GetBootOptionPowerOnDelay0
        │ │   └─/bmc/kepler/IpmiCmds/00/09/GetBootOptionPowerOnDelay1
        │ ├─/bmc/kepler/IpmiCmds/06
        │ │ ├─/bmc/kepler/IpmiCmds/06/58
        │ │ │ ├─/bmc/kepler/IpmiCmds/06/58/SetBridgeSystemInfo
        │ │ │ ├─/bmc/kepler/IpmiCmds/06/58/SetChannelInfo
        │ │ │ ├─/bmc/kepler/IpmiCmds/06/58/SetDeviceSystemInfo
        │ │ │ ├─/bmc/kepler/IpmiCmds/06/58/SetOperatingSystemName
        │ │ │ ├─/bmc/kepler/IpmiCmds/06/58/SetPrimaryOperatingSystemName
        │ │ │ ├─/bmc/kepler/IpmiCmds/06/58/SetProgressSystemInfo
        │ │ │ ├─/bmc/kepler/IpmiCmds/06/58/SetSystemFirmwareVersion
        │ │ │ ├─/bmc/kepler/IpmiCmds/06/58/SetSystemName
        │ │ │ ├─/bmc/kepler/IpmiCmds/06/58/WriteOcpCardBdfToBmc
        │ │ │ ├─/bmc/kepler/IpmiCmds/06/58/WritePcieCardBdfToBmc
        │ │ │ └─/bmc/kepler/IpmiCmds/06/58/WritePcieDiskBdfToBmc
        │ │ └─/bmc/kepler/IpmiCmds/06/59
        │ │   ├─/bmc/kepler/IpmiCmds/06/59/GetBridgeSystemInfo
        │ │   ├─/bmc/kepler/IpmiCmds/06/59/GetChannelInfo
        │ │   ├─/bmc/kepler/IpmiCmds/06/59/GetDeviceSystemInfo
        │ │   ├─/bmc/kepler/IpmiCmds/06/59/GetOperatingSystemName
        │ │   ├─/bmc/kepler/IpmiCmds/06/59/GetPrimaryOperatingSystemName
        │ │   ├─/bmc/kepler/IpmiCmds/06/59/GetProgressSystemInfo
        │ │   ├─/bmc/kepler/IpmiCmds/06/59/GetSystemFirmwareVersion
        │ │   └─/bmc/kepler/IpmiCmds/06/59/GetSystemName
        │ └─/bmc/kepler/IpmiCmds/30
        │   ├─/bmc/kepler/IpmiCmds/30/90
        │   │ ├─/bmc/kepler/IpmiCmds/30/90/GetAllowedPackageType
        │   │ ├─/bmc/kepler/IpmiCmds/30/90/GetBiosGoldValid
        │   │ └─/bmc/kepler/IpmiCmds/30/90/SetAllowedPackageType
        │   ├─/bmc/kepler/IpmiCmds/30/92
        │   │ ├─/bmc/kepler/IpmiCmds/30/92/AddBiosLogEntry
        │   │ ├─/bmc/kepler/IpmiCmds/30/92/GetBiosBootInfo
        │   │ ├─/bmc/kepler/IpmiCmds/30/92/GetCachedBiosUpgradeMode
        │   │ ├─/bmc/kepler/IpmiCmds/30/92/GetFileChanged
        │   │ ├─/bmc/kepler/IpmiCmds/30/92/GetSmBiosInfo
        │   │ ├─/bmc/kepler/IpmiCmds/30/92/ReadFileFromBmc
        │   │ ├─/bmc/kepler/IpmiCmds/30/92/ReportAlarm
        │   │ ├─/bmc/kepler/IpmiCmds/30/92/ReportVRStatus
        │   │ ├─/bmc/kepler/IpmiCmds/30/92/SetBaseOSBootEvent
        │   │ ├─/bmc/kepler/IpmiCmds/30/92/SetBiosBootInfo
        │   │ ├─/bmc/kepler/IpmiCmds/30/92/SetBiosVersion
        │   │ ├─/bmc/kepler/IpmiCmds/30/92/SetCachedBiosUpgradeMode
        │   │ ├─/bmc/kepler/IpmiCmds/30/92/SetCertificateAssertion
        │   │ ├─/bmc/kepler/IpmiCmds/30/92/SetCertificateDeassertion
        │   │ ├─/bmc/kepler/IpmiCmds/30/92/SetFileChanged
        │   │ ├─/bmc/kepler/IpmiCmds/30/92/SetKbcStatus
        │   │ ├─/bmc/kepler/IpmiCmds/30/92/SetSmBiosInfo
        │   │ ├─/bmc/kepler/IpmiCmds/30/92/SetTeeOSVersion
        │   │ ├─/bmc/kepler/IpmiCmds/30/92/SetVedioStatus
        │   │ ├─/bmc/kepler/IpmiCmds/30/92/UpdateBiosPassword
        │   │ ├─/bmc/kepler/IpmiCmds/30/92/UpdateBiosStatus
        │   │ ├─/bmc/kepler/IpmiCmds/30/92/UpdatePostStatus
        │   │ ├─/bmc/kepler/IpmiCmds/30/92/WriteFileToBmc
        │   │ └─/bmc/kepler/IpmiCmds/30/92/WriteSmbiosData
        │   └─/bmc/kepler/IpmiCmds/30/93
        │     └─/bmc/kepler/IpmiCmds/30/93/SetBiosConfigItem
        ├─/bmc/kepler/Systems
        │ └─/bmc/kepler/Systems/1
        │   ├─/bmc/kepler/Systems/1/Bios
        │   ├─/bmc/kepler/Systems/1/BiosUpgradeService
        │   ├─/bmc/kepler/Systems/1/BootOptions
        │   ├─/bmc/kepler/Systems/1/SecureBootOptions
        │   └─/bmc/kepler/Systems/1/SmBios
        └─/bmc/kepler/bios
          └─/bmc/kepler/bios/MicroComponent
  2. bios版本号依赖bios上报,从日志看来,bios有上报版本号,但上报的版本号为不可见字符。

    text
    11858:2025-09-10 15:44:15.113339 bios NOTICE: bios_service.lua(1296): [bios] system 1 read file(42) success 
    11861:2025-09-10 15:44:18.124674 bios NOTICE: bios_service.lua(432): set bios version to successfully, system is 1 
    11862:2025-09-10 15:44:18.169435 bios NOTICE: upgrade_service.lua(863): [bios]clear system 1 slave upgrade flag

问题原因

bios有上报版本号,但上报的版本号为不可见字符。

解决方案

升级BIOS就可以了。