MCU升级
【Q1】 VRD正在升级,无法升级MCU
上电升级VRD,下电后升级MCU返回失败:
- 当前MCU和VRD走的是一个升级通道,做了互斥限制
- VRD作为二级电源,只能在下电情况下进行升级,在os上电时缓存升级文件,返回升级成功,下电取升级文件,开始生效
需要等VRD下电生效后升级MCU,才能返回成功。 5.2最新版本更新了错误码,在VRD生效期间升级MCU返回特殊的失败提示:
【Q2】 升级riser卡MCU升级失败
storage组件使用插件式访问调用I2C,如果没有加载raid卡,在获取不到预期信息时会长时间独占总线,导致命令阻塞
【Q3】 如何查询BCU的MCU和VRD的版本号
命令查询版本号: mcu: busctl --user call bmc.kepler.hwproxy /bmc/kepler/Chip/Smc/Smc_CpuBrdSMC_010101 bmc.kepler.Chip.BlockIO Read a{ss}uu 0 0x00018500 7
VRD: busctl --user call bmc.kepler.hwproxy /bmc/kepler/Chip/Smc/Smc_CpuBrdSMC_010101 bmc.kepler.Chip.BlockIO Read a{ss}uu 0 0x00018501 7 busctl --user call bmc.kepler.hwproxy /bmc/kepler/Chip/Smc/Smc_CpuBrdSMC_010101 bmc.kepler.Chip.BlockIO Read a{ss}uu 0 0x00018502 7 busctl --user call bmc.kepler.hwproxy /bmc/kepler/Chip/Smc/Smc_CpuBrdSMC_010101 bmc.kepler.Chip.BlockIO Read a{ss}uu 0 0x00018503 7 busctl --user call bmc.kepler.hwproxy /bmc/kepler/Chip/Smc/Smc_CpuBrdSMC_010101 bmc.kepler.Chip.BlockIO Read a{ss}uu 0 0x00018504 7 busctl --user call bmc.kepler.hwproxy /bmc/kepler/Chip/Smc/Smc_CpuBrdSMC_010101 bmc.kepler.Chip.BlockIO Read a{ss}uu 0 0x00018505 7 busctl --user call bmc.kepler.hwproxy /bmc/kepler/Chip/Smc/Smc_CpuBrdSMC_010101 bmc.kepler.Chip.BlockIO Read a{ss}uu 0 0x00018506 7 busctl --user call bmc.kepler.hwproxy /bmc/kepler/Chip/Smc/Smc_CpuBrdSMC_010101 bmc.kepler.Chip.BlockIO Read a{ss}uu 0 0x00018507 7 busctl --user call bmc.kepler.hwproxy /bmc/kepler/Chip/Smc/Smc_CpuBrdSMC_010101 bmc.kepler.Chip.BlockIO Read a{ss}uu 0 0x00018508 7
VRD升级
【Q4】 没有找到对应的升级文件
日志打印如下:对应的bin文件规则为VRD_厂商_SKU_NO.bin 厂商和SKU如下(当前B830版本只支持00_00和01_00):
CSR升级
【Q5】 BC83PRUU(蝴蝶卡)CSR为1.17之前的版本升级出现升级失败
1.17版本CSR的port配置有问题,会导致raid卡无法正常加载,BMC会占用总线通道一直访问Raid,导致CSR升级时总线被占用,访问超时,会出现概率性升级失败的情况,需要重试几次
CPLD升级
【Q6】 获取厂商信息
下一步是获取芯片的厂商信息,根据厂商选择升级方式,在/logDump/app.log中筛选general_hardware:
大概率是ChipInfo无法获取,该Chip是挂在Jtag链路上的,有三种情况:
1、jtag链路没有切过去,在BMC中输入一下命令,看看是否可以获取到版本信息:
busctl --user set-property bmc.kepler.hwproxy /bmc/kepler/Accessor/Accessor_JtagSwitch_010101 bmc.kepler.Accessor Value t _( _ 为对应的链路,当前EXU为0,BCU为1,具体查看CSR的FirmwareRoute属性)
设置后查看信息,value是否改变:
busctl --user call bmc.kepler.hwproxy /bmc/kepler/Chip/Cpld/Cpld_1_0101 bmc.kepler.Chip.JtagTarget GetChipIdcode a{ss} 0(0101为EXU,010101为BCU,具体查看板卡的position)
以基础板为例子,正常获取到chip信息:
2、cpld扫链失败,输入dmesg驱动日志查看,可能是扩展板CPLD的版本问题,或者BMC测链路未通,未将CPLD和1711选通
3、jtag链路异常,测波形排查Jtag链路
【Q7】紫光CPLD的IIC升级失败(二盘背板)
在驱动日志中出现如下打印:
传输数据时出现丢失的情况,大概率是有毛刺影响,建议更换线缆
【Q8】 主板SVF格式升级成功后版本不变
- 查看升级的framework.log日志,发现升级时间很短就返回send data成功
- 查看linux_kenl日志(环境上输入dmesg),发现文件校验失败