BIOS 固件升级自动切换通道失败

我在验证 BIOS 固件升级自动切换通道功能 时遇到了一个升级失败问题,特此求助。

1. 问题描述

在执行 BIOS 固件升级操作时,升级进程中断并报错,导致功能验证失败。

核心报错信息:

ERROR: spi_flash.lua(301): [spi]check_device_ready: ready fail

2. BIOS升级过程的详细日志

3. 问题分析

根据错误信息 [spi]check_device_ready: ready fail,可否认为问题出在底层 SPI Flash 操作层面:

  1. 固件通道切换机制问题: 由于是在验证“自动切换通道”功能,作为对比手动切换通道时可以正常检测到设备,bios NOTICE: spi_flash.lua(294): [spi]check_device_ready: device /dev/mtd0 ready

手动加载sfc0_drv驱动时候dmesg出现报错:

目前发现 MUX 通道的切换逻辑是通过与 bmdfx 工具来实现的。但是,在我们当前编译和部署的 openUBMC 版本中,bmcdfx 工具文件缺失
manifest版本基于0630版本,bios组件的版本为:1.80.22@openUBMC.release/rc,
bmcdfx 这个工具是否是 openUBMC 标准发布的一部分?如果不是,它通常属于哪个组件包或特殊配置?我们该如何获取或编译出包含 bmcdfx 工具的 BMC 固件版本?是否需要在编译配置(如 menuconfig.config 文件)中开启特定的选项?

Bmcdfx工具是SDK测试、调试、定位问题的一款内部开发使用工具,不交付产品使用。

后面怎么解决的?手动加载驱动报错后如何解决。

报错是因为硬件上没有把SFC切换的控制信号接到BMC,调整硬件后bios组件的升级流程即可实现通道切换。

1 个赞