当前位置: 首页 > 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.dtcms.com/a/222987.html

相关文章:

  • 若依项目天气模块
  • PHP中文网文章内容提取免费API接口教程
  • Cypress API 中文详解
  • Python基于Django的校园打印预约系统(附源码,文档说明)
  • LangChain实战:MMR和相似性搜索技术应用
  • 01 redis 的环境搭建
  • 第六章 进阶14 项目周报的妙用
  • 湖北理元理律师事务所:债务优化服务的流程透明度建设
  • 基于Matlab实现卫星轨道模拟仿真
  • 抗辐照加固CANFD芯片:以车规级设计提升商业航天系统可靠性
  • MySQL高可用集群
  • 小黑大语言模型应用探索:langchain智能体构造源码demo搭建1(初步流程)
  • QEMU/KVM课程大纲暨学习路线(1)
  • 通义灵码2.5——基于编程智能体开发Wiki多功能搜索引擎
  • 多卡训练核心技术详解
  • 【Go语言】Fyne GUI 库使用指南 (面向有经验开发者)
  • 1,QT的编译教程
  • Go语言结构体:数据组织的艺术
  • STL_stack和queue(deque priority_queue)
  • HTML网页-练习float
  • Java 注解式限流教程(使用 Redis + AOP)
  • 【C++】C++面向对象设计的核心思想之一: 接口抽象、解耦和可扩展性
  • 【仿生机器人软件架构】通过整合认知系统实现自主精神性——认知系统非常具有可执行性
  • 深入解析 Redis Cluster 架构与实现(二)
  • python打卡day40@浙大疏锦行
  • AWS云创建安全审计用户组
  • 扫地机器人苦寻新引擎,大疆们却已攻入腹地
  • 基于微服务架构的社交学习平台WEB系统的设计与实现
  • 【交通 Traffic Transformer】同一篇文章,内容排版稍有不同 | 交通预测模型中,Transformer相比传统GCN模型有何优势?
  • 基于Vite的前端自动化部署方案