网页端读不到bios版本问题分析
更新时间: 2026/05/20
在Gitcode上查看源码问题背景
- 单板类型:自研板;
- 软件版本:openUBMC 25.09;
- 涉及功能:ipmi,升级,bios与BMC交互;
- 触发条件:升级bios版本后,登录BMC,首页查看设备信息,设备信息中的bios版本显示异常。
- 业务表现:预期显示bios版本为6.219;实际显示的bios版本为000。
问题复现步骤
升级bios后WEB登录BMC,查看首页的设备信息,设备信息中的bios版本显示为000.
关键日志信息
web页面bios版本信息查看结果: app.log日志如下:
定位过程
- 系统下通过dmidecode可以看到bios版本
text
dmidecode -t bios查询结果可知,bios的版本为6.219,并非web页面的000,截图如下:
- 确认bios版本来源;与bios开发沟通,bios版本来源为bios通过bt通道走ipmi命令上报;
- 确认bios上报给BMC版本号的ipmi命令,确认bios是否给BMC上报版本信息;具体方法如下:BMC侧启动trace命令跟踪ipmi后系统重启;重启完成后,在tmp目录下的ipmi.txt文件中搜索上报bios版本的ipmi命令;
shell
busctl --user call bmc.kepler.ipmi_core /bmc/kepler/Debug/IpmiCore/TraceIpmi bmc.kepler.Debug.IpmiCore.TraceIpmi Trace a{ss}bsyyss 0 true "bt" 0xff 0xff "" "file"在ipmi.txt文件中搜索如下关键字:
text
30 92 db 07 00 02- 按照上述方法,确认bios侧未正常上报bios版本;
问题原因
bios侧未上报bios版本,导致bmc侧的web页面显示的是默认值。
解决方案
bios侧添加BMC与bios交互的ipmi命令相关执行代码,在bios启动时上报bios版本到bmc侧。涉及的ipmi命令NetFn为0x30,Cmd为0x92,子命令为0x02,具体如下图: