当前位置: 首页 > news >正文

espefuse.py烧录MAC地址

确保在ESP-IDF 开发环境安装正确的情况下:

输入命令查询芯片信息:espefuse.py --port /dev/ttyUSB0 summary 


(idf4.2_py3.7_env) raylee@raylee:~$ espefuse.py --port /dev/ttyUSB0 summary
/home/raylee/esp/esp-idf-v4.2/components/esptool_py/esptool/espsecure.py:28: CryptographyDeprecationWarning: Python 3.7 is no longer supported by the Python core team and support for it is deprecated in cryptography. The next release of cryptography will remove support for Python 3.7.
  from cryptography import exceptions
Connecting........_
Detecting chip type... ESP32
espefuse.py v3.0
EFUSE_NAME (Block)                       Description  = [Meaningful Value] [Readable/Writeable] (Hex Value)
----------------------------------------------------------------------------------------
Calibration fuses:
BLK3_PART_RESERVE (BLOCK0):              BLOCK3 partially served for ADC calibration data   = False R/W (0b0)
ADC_VREF (BLOCK0):                       Voltage reference calibration                      = 1079 R/W (0b10011)

Config fuses:
XPD_SDIO_FORCE (BLOCK0):                 Ignore MTDI pin (GPIO12) for VDD_SDIO on reset     = False R/W (0b0)
XPD_SDIO_REG (BLOCK0):                   If XPD_SDIO_FORCE, enable VDD_SDIO reg on reset    = False R/W (0b0)
XPD_SDIO_TIEH (BLOCK0):                  If XPD_SDIO_FORCE & XPD_SDIO_REG                   = 1.8V R/W (0b0)
CLK8M_FREQ (BLOCK0):                     8MHz clock freq override                           = 56 R/W (0x38)
SPI_PAD_CONFIG_CLK (BLOCK0):             Override SD_CLK pad (GPIO6/SPICLK)                 = 0 R/W (0b00000)
SPI_PAD_CONFIG_Q (BLOCK0):               Override SD_DATA_0 pad (GPIO7/SPIQ)                = 0 R/W (0b00000)
SPI_PAD_CONFIG_D (BLOCK0):               Override SD_DATA_1 pad (GPIO8/SPID)                = 0 R/W (0b00000)
SPI_PAD_CONFIG_HD (BLOCK0):              Override SD_DATA_2 pad (GPIO9/SPIHD)               = 0 R/W (0b00000)
SPI_PAD_CONFIG_CS0 (BLOCK0):             Override SD_CMD pad (GPIO11/SPICS0)                = 0 R/W (0b00000)
DISABLE_SDIO_HOST (BLOCK0):              Disable SDIO host                                  = False R/W (0b0)

Efuse fuses:
WR_DIS (BLOCK0):                         Efuse write disable mask                           = 0 R/W (0x0000)
RD_DIS (BLOCK0):                         Efuse read disable mask                            = 0 R/W (0x0)
CODING_SCHEME (BLOCK0):                  Efuse variable block length scheme
   = 3/4 (BLK1-3 len=192 bits) R/W (0b01)
KEY_STATUS (BLOCK0):                     Usage of efuse block 3 (reserved)                  = False R/W (0b0)

Identity fuses:
MAC (BLOCK0):                            Factory MAC Address
   = 7c:c2:94:fb:5a:c8 (CRC 0x56 invalid - calculated 0x7f) R/W
MAC_CRC (BLOCK0):                        CRC8 for factory MAC address                       = 86 R/W (0x56)
CHIP_VER_REV1 (BLOCK0):                  Silicon Revision 1                                 = True R/W (0b1)
CHIP_VER_REV2 (BLOCK0):                  Silicon Revision 2                                 = False R/W (0b0)
CHIP_VERSION (BLOCK0):                   Reserved for future chip versions                  = 2 R/W (0b10)
CHIP_PACKAGE (BLOCK0):                   Chip package identifier                            = 3 R/W (0b011)
MAC_VERSION (BLOCK3):                    Version of the MAC field                           = 77 R/W (0x4d)

Security fuses:
FLASH_CRYPT_CNT (BLOCK0):                Flash encryption mode counter                      = 0 R/W (0b0000000)
UART_DOWNLOAD_DIS (BLOCK0):              Disable UART download mode (ESP32 rev3 only)       = False R/W (0b0)
FLASH_CRYPT_CONFIG (BLOCK0):             Flash encryption config (key tweak bits)           = 0 R/W (0x0)
CONSOLE_DEBUG_DISABLE (BLOCK0):          Disable ROM BASIC interpreter fallback             = True R/W (0b1)
ABS_DONE_0 (BLOCK0):                     Secure boot V1 is enabled for bootloader image     = False R/W (0b0)
ABS_DONE_1 (BLOCK0):                     Secure boot V2 is enabled for bootloader image     = False R/W (0b0)
JTAG_DISABLE (BLOCK0):                   Disable JTAG                                       = False R/W (0b0)
DISABLE_DL_ENCRYPT (BLOCK0):             Disable flash encryption in UART bootloader        = False R/W (0b0)
DISABLE_DL_DECRYPT (BLOCK0):             Disable flash decryption in UART bootloader        = False R/W (0b0)
DISABLE_DL_CACHE (BLOCK0):               Disable flash cache in UART bootloader             = False R/W (0b0)
BLOCK1 (BLOCK1):                         Flash encryption key
   = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 R/W
BLOCK2 (BLOCK2):                         Secure boot key
   = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 R/W
BLOCK3 (BLOCK3):                         Variable Block 3
   = 00 00 00 00 1f e1 1c c8 34 31 4e 55 4c 6c 43 77 32 6b 68 78 54 31 6e 4d R/W

Flash voltage (VDD_SDIO) determined by GPIO12 on reset (High for 1.8V, Low/NC for 3.3V).
(idf4.2_py3.7_env) raylee@raylee:~$

你的 efuse 信息如下:

  • MAC (BLOCK0):

Factory MAC Address = 7c:c2:94:fb:5a:c8 (CRC 0x56 invalid - calculated 0x7f)

说明出厂 MAC 地址的 CRC 校验失败,数据损坏。

  • MAC_VERSION (BLOCK3):

Version of the MAC field = 77 (0x4d)

这个值严重异常,正常应为 0 或 1。


结论

  1. 芯片的 MAC 区域已经损坏,而且 MAC_VERSION 字段被写成了非法值(77),这不是正常出厂的 ESP32 芯片会出现的情况。
  1. 你无法用 espefuse.py 正常烧录 MAC 地址,因为工具会检测 MAC_VERSION,发现异常就会拒绝操作。
  1. 这颗芯片很可能是工程样片、仿品,或者之前被错误写入过 efuse,导致不可逆损坏。
http://www.xdnf.cn/news/738163.html

相关文章:

  • leetcode1201. 丑数 III -medium
  • (23)JNI 内存泄漏诊断
  • day16 数组的常见操作和形状
  • ES6解构赋值与传统数据提取方式的对比分析
  • LangChain-Tool和Agent结合智谱AI大模型应用实例2
  • 数据库笔记
  • 近屿智能第六代 AI 得贤招聘官首秀 —— 解锁「拟人化智能交互」AI面试新体验
  • 《计算机操作系统-慕课版》期末复习题库与内容梳理
  • 5G 核心网 NGAP UE-TNL 偶联和绑定
  • azure web app创建分步指南系列之一
  • Bootstrap:精通级教程(VIP10万字版)
  • Splunk Attack Analyzer 深度解析:技术、技巧与最佳实践
  • 目标人群精准洞察,打造超差异化内容
  • 投稿 IEEE Transactions on Knowledge and Data Engineering 注意事项
  • RAG中的chunk以及评测方法
  • 详解Seata的四种事务模式:AT、TCC、SAGA、XA
  • 深入浅出网络分析与故障检测工具
  • Chrome插件学习笔记(二)
  • C++核心编程_赋值运算符重载
  • 2025最新Nginx安装配置保姆级教程(Windows)
  • 《JavaScript高级程序设计》读书笔记 34 - 代理基础
  • 【术语扫盲】BSP与MSP
  • FreeRTOS多任务系统①
  • Vector - VT System - 板卡_VT板卡使用介绍目录
  • 【Redis】hash
  • LevelDB、BoltDB 和 RocksDB区块链应用比较
  • 前端基础之《Vue(17)—路由集成》
  • 【C/C++】无限长有序数组中查找特定元素
  • 语音通信接通率、应答率和转化率有什么区别?
  • (20)Java 在 AI ML 领域应用