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

news/2024/10/20 14:12:21/

文章目录

  • 背景
  • 一些报错场景
  • MFE是什么?
  • 有哪些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的全称

typedef enum MfError
{MFE_OK = 0,MFE_ERROR,MFE_BAD_PARAMS,MFE_CR_ERROR,MFE_HW_DEVID_ERROR,

有哪些MFE

比如:MFE_NO_FLASH_DETECTED就在其中

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;

http://www.ppmy.cn/news/1538710.html

相关文章

机器学习【金融风险与风口评估及其应用】

机器学习【金融风险与风口评估及其应用】 一、机器学习在金融风险评估中的应用1.提升评估准确性2.实现自动化和智能化3.增强风险管理能力4.信用评估5.风险模型6.交易策略7.欺诈检测 二、机器学习在金融风口评估中的应用1.识别市场趋势2.评估创新潜力3.优化投资策略4. 自然语言处…

各类排序详解

前言 本篇博客将为大家介绍各类排序算法,大家知道,在我们生活中,排序其实是一件很重要的事,我们在网上购物,需要根据不同的需求进行排序,异或是我们在高考完报志愿时,需要看看院校的排名&#…

【C++】--内存管理

👾个人主页: 起名字真南 👻个人专栏:【数据结构初阶】 【C语言】 【C】 目录 1 C/C内存分布2 C语言中动态内存管理方式 :3 C内存管理方式3.1 new/delete操作内置类型3.2 new和delete操作自定义类型 4 operator new与operator delete4.1 opera…

java项目之基于vue的工厂车间管理系统的设计源码(springboot+mysql+vue)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的基于vue的工厂车间管理系统的设计。项目源码以及部署相关请联系风歌,文末附上联系信息 。 项目简介: 基于vu…

鸿蒙Swiper动态加载翻页数据(等同于安卓动态加载viewPager)

我这里是加载一个实体类列表 类似 List 的数据,那么首先写一个dataSource: export class MyDataSource implements IDataSource {private list: MyBean[] []constructor(list: MyBean[]) {this.list list}totalCount(): number {return this.list.len…

Java JVM(Java虚拟机)启动参数的设置

Java JVM(Java虚拟机)启动参数的设置对于优化Java应用程序的性能至关重要。这些参数可以分为标准参数、非标准参数(也称为-X参数)和非Stable参数(以-XX为前缀)。以下是一些常用的JVM启动参数设置&#xff1…

element-plus 自定义列表(非table)实现分页功能

自定义列表实现分页功能增&#xff0c;删&#xff0c;改功能点击图片放大功能 template模块代码如下&#xff1a; <template> <div class"booth_manager"> <el-affix :offset"0"> <div class"sticky_top"> <div clas…

探索深度学习的奥秘:从理论到实践的奇幻之旅

目录 引言&#xff1a;穿越智能的迷雾 一、深度学习的奇幻起源&#xff1a;从感知机到神经网络 1.1 感知机的启蒙 1.2 神经网络的诞生与演进 1.3 深度学习的崛起 二、深度学习的核心魔法&#xff1a;神经网络架构 2.1 前馈神经网络&#xff08;Feedforward Neural Netwo…