升级VRD失败问题分析
更新时间: 2026/05/28
在Gitcode上查看源码问题背景
- 单板类型:NA;
- 软件版本:NA;
- 涉及功能:升级VRD;
- 触发条件: 多次升级VRD,查询升级状态返回异常。
- 业务表现:预期正常升级,日志中显示正常的升级状态,升级之后版本号正常;实际VRD升级过程中,有一个出现查询VRD升级状态返回75,导致升级之后版本成为32.29.29.32.32.32.32.32.。
问题复现步骤
升级VRD,通过日志观察VRD的升级状态,升级结束后查询VRD的版本
关键日志信息
查看日志,确认报错如下:
定位过程
- 查看日志,确认查询VRD升级状态返回75, 看开源代码是通过std_smbus发送请求返的:
- 定界为mcu出现问题,联系mcu继续分析问题。
问题原因
已知的概率性问题,GD mcu读版本概率返回有问题。
读取VRD版本号:
text
busctl --user call bmc.kepler.hwproxy /bmc/kepler/Chip/Smc/Smc_CpuBrdSMC_010101 bmc.kepler.Chip.BlockIO Read a{ss}uu 0 0x0018501 7从 18501-18508,对应8个VRD
异常码包括: 25 33 75 88,其中 33 表示版本过低。
解决方案
BMC通过二值一致防抖策略来处理这次异常状态。