微知-Bluefield DPU使用flint烧录固件报错MFE_NO_FLASH_DETECTED是什么?MFE是什么?

文章目录

背景

在DPU的fw操作flint的时候,很多命令都会报这个错误:MFE_NO_FLASH_DETECTED,早期很疑惑并且猜测MFE是Mellanox Firmware Engine。实际并不是,具体还得走到mellanox flash的代码,该部分代码是Mellanox flint的一个库。

一些报错场景

比如烧录错误的PSID的fw到DPU后,造成DPU无法启动,重新烧录报错:

比如下面这两个之所以报错是网卡secure功能,不允许查看。在ES上可以查看。

MFE是什么?

从下面这点代码可以得知,MFE,是Mellanox Flash Error的全称

bash 复制代码
typedef enum MfError
{
    MFE_OK = 0,
    MFE_ERROR,
    MFE_BAD_PARAMS,
    MFE_CR_ERROR,
    MFE_HW_DEVID_ERROR,

有哪些MFE

比如:MFE_NO_FLASH_DETECTED就在其中

bash 复制代码
typedef enum MfError
{
    MFE_OK = 0,
    MFE_ERROR,
    MFE_BAD_PARAMS,
    MFE_CR_ERROR,
    MFE_HW_DEVID_ERROR,
    MFE_INVAL,
    MFE_NOT_IMPLEMENTED,
    MFE_UNSUPPORTED_FLASH_TOPOLOGY,
    MFE_UNSUPPORTED_FLASH_TYPE,
    MFE_CFI_FAILED,
    MFE_TIMEOUT,
    MFE_ERASE_TIMEOUT,
    MFE_WRITE_TIMEOUT,
    MFE_ERASE_ERROR,
    MFE_WRITE_ERROR,
    MFE_BAD_ALIGN,
    MFE_SEM_LOCKED,
    MFE_VERIFY_ERROR,
    MFE_NOMEM,
    MFE_OUT_OF_RANGE,
    MFE_CMD_SUPPORTED_INBAND_ONLY,
    MFE_NO_FLASH_DETECTED,
    MFE_LOCKED_CRSPACE,
    MFE_CMDIF_BAD_STATUS_ERR,
    MFE_CMDIF_TIMEOUT_ERR,
    MFE_CMDIF_NOT_READY,
    MFE_CMDIF_UNKN_TLV,
    MFE_CMDIF_BAD_OP,
    MFE_MISMATCH_KEY,
    MFE_MISSING_KEY,
    MFE_UNKNOWN_REG,
    MFE_DIRECT_FW_ACCESS_DISABLED,
    MFE_MANAGED_SWITCH_NOT_SUPPORTED,
    MFE_NOT_SUPPORTED_OPERATION,
    MFE_FLASH_NOT_EXIST,
    MFE_MISMATCH_PARAM,
    MFE_EXCEED_SUBSECTORS_MAX_NUM,
    MFE_EXCEED_SECTORS_MAX_NUM,
    MFE_SECTORS_NUM_NOT_POWER_OF_TWO,
    MFE_SECTORS_NUM_MORE_THEN_0_LESS_THEN_4,
    MFE_UNKOWN_ACCESS_TYPE,
    MFE_UNSUPPORTED_DEVICE,
    MFE_UNSUPPORTED_ERASE_OPERATION,
    MFE_OLD_DEVICE_TYPE,
    MFE_ICMD_INIT_FAILED,
    MFE_ICMD_NOT_SUPPORTED,
    MFE_HW_ACCESS_NOT_SUPP,
    MFE_MAD_SEND_ERR,
    MFE_ICMD_BAD_PARAM,
    MFE_ICMD_INVALID_OPCODE,
    MFE_ICMD_INVALID_CMD,
    MFE_ICMD_OPERATIONAL_ERROR,
    MFE_DATA_IS_OTP,

    MFE_REG_ACCESS_BAD_METHOD,
    MFE_REG_ACCESS_NOT_SUPPORTED,
    MFE_REG_ACCESS_DEV_BUSY,
    MFE_REG_ACCESS_VER_NOT_SUPP,
    MFE_REG_ACCESS_UNKNOWN_TLV,
    MFE_REG_ACCESS_REG_NOT_SUPP,
    MFE_REG_ACCESS_CLASS_NOT_SUPP,
    MFE_REG_ACCESS_METHOD_NOT_SUPP,
    MFE_REG_ACCESS_BAD_PARAM,
    MFE_REG_ACCESS_RES_NOT_AVLBL,
    MFE_REG_ACCESS_MSG_RECPT_ACK,
    MFE_REG_ACCESS_UNKNOWN_ERR,
    MFE_REG_ACCESS_SIZE_EXCCEEDS_LIMIT,
    MFE_PCICONF,
    MFE_ILLEGAL_BANK_NUM,
    MFE_OCR_NOT_SUPPORTED,
    MFE_ACCESS_COMMANDS_NOT_INITIALIZED,

    MFE_LAST
} MfError;
相关推荐
北冥有鱼被烹17 天前
NVIDIA Bluefield DPU上的启动流程4个阶段分别是什么?作用是什么?
dpu·mellanox
yusur2 个月前
产品探秘|开物——面向AI原生和云原生网络研究的首选科研平台
网络·云原生·ai-native·dpu
yusur2 个月前
基于DPU与SmartNIC的K8s Service解决方案
网络·云原生·容器·kubernetes·云计算·dpu
I_belong_to_jesus2 个月前
NVDLA专题10:具体模块介绍——Planar Data Processor
算法·npu·ai芯片·dpu·nvdla
yusur4 个月前
中科驭数HADOS 3.0:以四大架构革新,全面拥抱敏捷开发理念,引领DPU应用生态
网络·计算机网络·云计算·dpu
yusur4 个月前
Spark基于DPU的Native引擎算子卸载方案
spark·dpu
yusur5 个月前
“Spark+Hive”在DPU环境下的性能测评 | OLAP数据库引擎选型白皮书(24版)DPU部分节选
数据库·hive·spark·dpu
北冥有鱼被烹6 个月前
【DPU系列之】Bluefield 2 DPU卡的功能图,ConnectX网卡、ARM OS、Host OS的关系?(通过PCIe Switch连接)
rdma·dpu·mellanox
北冥有鱼被烹6 个月前
【DPU系列之】如何通过带外口登录到DPU上的ARM服务器?(Bluefield2举例)
dpu