Warning: Permanently added '32.196.107.137' (ED25519) to the list of known hosts. You can reproduce this build on your computer by running: sudo dnf install copr-rpmbuild /usr/bin/copr-rpmbuild --verbose --drop-resultdir --task-url https://copr.fedorainfracloud.org/backend/get-build-task/11044382-fedora-rawhide-x86_64 --chroot fedora-rawhide-x86_64 Version: 1.10 PID: 11971 Logging PID: 11973 Task: {'allow_user_ssh': False, 'appstream': False, 'background': True, 'build_id': 11044382, 'buildroot_pkgs': [], 'chroot': 'fedora-rawhide-x86_64', 'enable_net': False, 'fedora_review': False, 'git_hash': 'b8323803c75c8d7d4898e4a47107a05b6b9db72c', 'git_repo': 'https://copr-dist-git.fedorainfracloud.org/git/thrnciar/python-pip/esptool', 'isolation': 'default', 'memory_reqs': 2048, 'package_name': 'esptool', 'package_version': '5.4.0-1', 'project_dirname': 'python-pip', 'project_name': 'python-pip', 'project_owner': 'thrnciar', 'repo_priority': None, 'repos': [{'baseurl': 'https://download.copr.fedorainfracloud.org/results/thrnciar/python-pip/fedora-rawhide-x86_64/', 'id': 'copr_base', 'name': 'Copr repository', 'priority': None, 'repo_gpgcheck': False}], 'sandbox': 'thrnciar/python-pip--https://src.fedoraproject.org/user/zbyszek', 'source_json': {}, 'source_type': None, 'ssh_public_keys': None, 'storage': 0, 'submitter': 'https://src.fedoraproject.org/user/zbyszek', 'tags': [], 'task_id': '11044382-fedora-rawhide-x86_64', 'timeout': 18000, 'uses_devel_repo': False, 'with_opts': [], 'without_opts': []} Running: git clone https://copr-dist-git.fedorainfracloud.org/git/thrnciar/python-pip/esptool /var/lib/copr-rpmbuild/workspace/workdir-1cd0olb5/esptool --depth 500 --no-single-branch --recursive cmd: ['git', 'clone', 'https://copr-dist-git.fedorainfracloud.org/git/thrnciar/python-pip/esptool', '/var/lib/copr-rpmbuild/workspace/workdir-1cd0olb5/esptool', '--depth', '500', '--no-single-branch', '--recursive'] cwd: . rc: 0 stdout: stderr: Cloning into '/var/lib/copr-rpmbuild/workspace/workdir-1cd0olb5/esptool'... Running: git checkout b8323803c75c8d7d4898e4a47107a05b6b9db72c -- cmd: ['git', 'checkout', 'b8323803c75c8d7d4898e4a47107a05b6b9db72c', '--'] cwd: /var/lib/copr-rpmbuild/workspace/workdir-1cd0olb5/esptool rc: 0 stdout: stderr: Note: switching to 'b8323803c75c8d7d4898e4a47107a05b6b9db72c'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by switching back to a branch. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -c with the switch command. Example: git switch -c Or undo this operation with: git switch - Turn off this advice by setting config variable advice.detachedHead to false HEAD is now at b832380 automatic import of esptool Running: dist-git-client sources cmd: ['dist-git-client', 'sources'] cwd: /var/lib/copr-rpmbuild/workspace/workdir-1cd0olb5/esptool rc: 0 stdout: stderr: INFO: Reading stdout from command: git rev-parse --abbrev-ref HEAD INFO: Reading stdout from command: git rev-parse HEAD INFO: Reading sources specification file: sources INFO: Downloading esptool-5.4.0.tar.gz INFO: Reading stdout from command: curl --help all INFO: Calling: curl -H Pragma: -H 'Accept-Encoding: identity' -o esptool-5.4.0.tar.gz --location --connect-timeout 60 --retry 3 --retry-delay 10 --remote-time --show-error --fail --retry-all-errors https://copr-dist-git.fedorainfracloud.org/repo/pkgs/thrnciar/python-pip/esptool/esptool-5.4.0.tar.gz/md5/b9e17e58e8fcb114d525962b58df4646/esptool-5.4.0.tar.gz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 5.88M 100 5.88M 0 0 266.7M 0 0 INFO: Reading stdout from command: md5sum esptool-5.4.0.tar.gz tail: /var/lib/copr-rpmbuild/main.log: file truncated Running (timeout=18000): unbuffer mock --spec /var/lib/copr-rpmbuild/workspace/workdir-1cd0olb5/esptool/esptool.spec --sources /var/lib/copr-rpmbuild/workspace/workdir-1cd0olb5/esptool --resultdir /var/lib/copr-rpmbuild/results --uniqueext 1790591952.012801 -r /var/lib/copr-rpmbuild/results/configs/child.cfg INFO: mock.py version 6.8 starting (python version = 3.14.5, NVR = mock-6.8-1.fc44), args: /usr/libexec/mock/mock --spec /var/lib/copr-rpmbuild/workspace/workdir-1cd0olb5/esptool/esptool.spec --sources /var/lib/copr-rpmbuild/workspace/workdir-1cd0olb5/esptool --resultdir /var/lib/copr-rpmbuild/results --uniqueext 1790591952.012801 -r /var/lib/copr-rpmbuild/results/configs/child.cfg Start(bootstrap): init plugins INFO: tmpfs initialized INFO: selinux enabled INFO: chroot_scan: initialized INFO: compress_logs: initialized Finish(bootstrap): init plugins Start: init plugins INFO: tmpfs initialized INFO: selinux enabled INFO: chroot_scan: initialized INFO: compress_logs: initialized Finish: init plugins INFO: Signal handler active Start: run INFO: Start(/var/lib/copr-rpmbuild/workspace/workdir-1cd0olb5/esptool/esptool.spec) Config(fedora-rawhide-x86_64) Start: clean chroot Finish: clean chroot Mock Version: 6.8 INFO: Mock Version: 6.8 Start(bootstrap): chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-rawhide-x86_64-bootstrap-1790591952.012801/root. INFO: calling preinit hooks INFO: enabled root cache INFO: enabled package manager cache Start(bootstrap): cleaning package manager metadata Finish(bootstrap): cleaning package manager metadata INFO: Guessed host environment type: unknown INFO: Using container image: registry.fedoraproject.org/fedora:rawhide INFO: Pulling image: registry.fedoraproject.org/fedora:rawhide INFO: Tagging container image as mock-bootstrap-e6ba5029-c23c-4f64-9aa7-eb975f65ff92 INFO: Checking that 572ead58d9bfdfc845f68c290b778f8dd566b9874244dace308cb7100d3fc02e image matches host's architecture INFO: Copy content of container 572ead58d9bfdfc845f68c290b778f8dd566b9874244dace308cb7100d3fc02e to /var/lib/mock/fedora-rawhide-x86_64-bootstrap-1790591952.012801/root INFO: mounting 572ead58d9bfdfc845f68c290b778f8dd566b9874244dace308cb7100d3fc02e with podman image mount INFO: image 572ead58d9bfdfc845f68c290b778f8dd566b9874244dace308cb7100d3fc02e as /var/lib/containers/storage/overlay/4a31e88fb045f32195d89c42840fdff65160f78f36772423fde700faeacaa190/merged INFO: umounting image 572ead58d9bfdfc845f68c290b778f8dd566b9874244dace308cb7100d3fc02e (/var/lib/containers/storage/overlay/4a31e88fb045f32195d89c42840fdff65160f78f36772423fde700faeacaa190/merged) with podman image umount INFO: Removing image mock-bootstrap-e6ba5029-c23c-4f64-9aa7-eb975f65ff92 INFO: Package manager dnf5 detected and used (fallback) INFO: Not updating bootstrap chroot, bootstrap_image_ready=True Start(bootstrap): creating root cache Finish(bootstrap): creating root cache Finish(bootstrap): chroot init Start: chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-rawhide-x86_64-1790591952.012801/root. INFO: calling preinit hooks INFO: enabled root cache INFO: enabled package manager cache Start: cleaning package manager metadata Finish: cleaning package manager metadata INFO: enabled HW Info plugin INFO: Package manager dnf5 detected and used (direct choice) INFO: Buildroot is handled by package management downloaded with a bootstrap image: rpm-6.1.0-1.fc46.x86_64 rpm-sequoia-1.10.3-1.fc46.x86_64 dnf5-5.4.6.0-1.fc46.x86_64 dnf5-plugins-5.4.6.0-1.fc46.x86_64 Start: installing minimal buildroot with dnf5 Updating and loading repositories: Copr repository 100% | 26.0 MiB/s | 8.8 MiB | 00m00s fedora 100% | 30.3 MiB/s | 21.9 MiB | 00m01s Repositories loaded. Package Arch Version Repository Size Installing group/module packages: bash x86_64 0:5.3.15-2.fc45 fedora 8.5 MiB bzip2 x86_64 0:1.0.8-24.fc45 fedora 95.0 KiB coreutils x86_64 0:9.12-1.fc46 fedora 6.3 MiB cpio x86_64 0:2.15-10.fc45 fedora 1.1 MiB diffutils x86_64 0:3.12-6.fc45 fedora 1.6 MiB fedora-release-common noarch 0:46-0.1 fedora 4.6 KiB findutils x86_64 1:4.11.0-2.fc45 fedora 1.9 MiB gawk x86_64 0:5.4.1-1.fc45 fedora 2.2 MiB glibc-minimal-langpack x86_64 0:2.44.9000-2.fc46 fedora 0.0 B grep x86_64 0:3.12-4.fc45 fedora 1.0 MiB gzip x86_64 0:1.14-4.fc45 fedora 401.6 KiB info x86_64 0:7.3-3.fc45 fedora 372.4 KiB patch x86_64 0:2.8-5.fc45 fedora 226.6 KiB redhat-rpm-config noarch 0:345-4.fc46 fedora 184.2 KiB rpm-build x86_64 0:6.1.0-1.fc46 fedora 312.1 KiB sed x86_64 0:4.10-2.fc45 fedora 866.5 KiB shadow-utils x86_64 2:4.20.0-1.fc45 fedora 3.9 MiB tar x86_64 2:1.35-9.fc45 fedora 3.0 MiB unzip x86_64 0:6.0-71.fc45 fedora 441.8 KiB util-linux x86_64 0:2.42.4-2.fc46 fedora 3.7 MiB which x86_64 0:2.25-2.fc45 fedora 83.6 KiB xz x86_64 1:5.8.4-1.fc46 fedora 1.4 MiB Installing dependencies: R-srpm-macros noarch 0:1.3.7-3.fc45 fedora 3.5 KiB add-determinism x86_64 0:0.7.3-3.fc45 fedora 2.2 MiB alternatives x86_64 0:1.33-6.fc45 fedora 62.1 KiB ansible-srpm-macros noarch 0:1-22.fc45 fedora 35.7 KiB audit-libs x86_64 0:4.2.1-2.fc45 fedora 390.5 KiB binutils x86_64 0:2.47.50-11.fc46 fedora 24.4 MiB build-reproducibility-srpm-macros noarch 0:0.7.3-3.fc45 fedora 1.2 KiB bzip2-libs x86_64 0:1.0.8-24.fc45 fedora 80.5 KiB ca-certificates noarch 0:2026.2.90_v9.0.317-1.fc46 fedora 2.6 MiB cmake-srpm-macros noarch 0:4.3.0-5.fc45 fedora 524.0 B coreutils-common x86_64 0:9.12-1.fc46 fedora 11.5 MiB crypto-policies noarch 0:20260713-2.gitc42da77.fc45 fedora 134.3 KiB curl x86_64 0:8.23.0~rc2-1.fc46 fedora 485.6 KiB cyrus-sasl-lib x86_64 0:2.1.28-37.fc45 fedora 2.3 MiB debugedit x86_64 0:5.3-3.fc45 fedora 220.8 KiB dwz x86_64 0:0.17-3.fc45 fedora 291.1 KiB ed x86_64 0:1.22.6-1.fc46 fedora 150.9 KiB efi-srpm-macros noarch 0:6-9.fc45 fedora 40.3 KiB elfutils x86_64 0:0.196-1.fc46 fedora 3.2 MiB elfutils-debuginfod-client x86_64 0:0.196-1.fc46 fedora 79.9 KiB elfutils-libelf x86_64 0:0.196-1.fc46 fedora 1.4 MiB elfutils-libs x86_64 0:0.196-1.fc46 fedora 719.6 KiB erlang-srpm-macros noarch 0:0.3.11-2.fc45 fedora 1.9 KiB fedora-gpg-keys noarch 0:46-0.3 fedora 130.3 KiB fedora-release noarch 0:46-0.1 fedora 0.0 B fedora-release-identity-basic noarch 0:46-0.1 fedora 664.0 B fedora-repos noarch 0:46-0.3 fedora 4.9 KiB fedora-repos-rawhide noarch 0:46-0.3 fedora 2.2 KiB file x86_64 0:5.48-3.fc46 fedora 101.9 KiB file-libs x86_64 0:5.48-3.fc46 fedora 12.3 MiB filesystem x86_64 0:3.18-59.fc45 fedora 112.0 B filesystem-srpm-macros noarch 0:3.18-59.fc45 fedora 38.2 KiB fips-provider x86_64 0:1.5.3-1.fc46 fedora 4.8 MiB fonts-srpm-macros noarch 1:5.0.0-4.fc45 fedora 55.8 KiB forge-srpm-macros noarch 0:0.4.0-5.fc45 fedora 38.9 KiB fpc-srpm-macros noarch 0:1.3-17.fc45 fedora 144.0 B gap-srpm-macros noarch 0:2-3.fc45 fedora 2.1 KiB gdb-minimal x86_64 0:17.2-6.fc46 fedora 14.2 MiB gdbm-libs x86_64 1:1.23-12.fc45 fedora 133.7 KiB ghc-srpm-macros noarch 0:1.10-2.fc45 fedora 792.0 B glibc x86_64 0:2.44.9000-2.fc46 fedora 7.2 MiB glibc-common x86_64 0:2.44.9000-2.fc46 fedora 1.0 MiB glibc-gconv-extra x86_64 0:2.44.9000-2.fc46 fedora 7.7 MiB gmp x86_64 1:6.3.0-6.fc45 fedora 815.2 KiB gnat-srpm-macros noarch 0:7-3.fc45 fedora 1.0 KiB gnome-srpm-macros noarch 0:1.0-2.fc45 fedora 3.5 KiB gnulib-l10n noarch 0:20241231-4.fc45 fedora 655.0 KiB gnupg2 x86_64 0:2.4.9-18.fc45 fedora 6.5 MiB gnupg2-dirmngr x86_64 0:2.4.9-18.fc45 fedora 630.1 KiB gnupg2-gpg-agent x86_64 0:2.4.9-18.fc45 fedora 678.8 KiB gnupg2-gpgconf x86_64 0:2.4.9-18.fc45 fedora 253.8 KiB gnupg2-keyboxd x86_64 0:2.4.9-18.fc45 fedora 201.3 KiB gnupg2-verify x86_64 0:2.4.9-18.fc45 fedora 356.3 KiB gnutls x86_64 0:3.8.13-5.fc46 fedora 3.8 MiB go-srpm-macros noarch 0:3.8.0-3.fc45 fedora 61.9 KiB gpgverify noarch 0:2.2-5.fc45 fedora 8.7 KiB ima-evm-utils-libs x86_64 0:1.6.2-12.fc45 fedora 56.6 KiB jansson x86_64 0:2.14-5.fc45 fedora 89.0 KiB java-srpm-macros noarch 0:1-9.fc45 fedora 870.0 B json-c x86_64 0:0.18-9.fc45 fedora 82.7 KiB kernel-srpm-macros noarch 0:1.0-30.fc45 fedora 1.9 KiB keyutils-libs x86_64 0:1.6.3-8.fc45 fedora 54.2 KiB krb5-libs x86_64 0:1.22.2-9.fc45 fedora 2.4 MiB libacl x86_64 0:2.4.0-2.fc45 fedora 43.9 KiB libarchive x86_64 0:3.8.9-2.fc46 fedora 1.0 MiB libassuan x86_64 0:2.5.7-6.fc45 fedora 163.9 KiB libattr x86_64 0:2.6.0-2.fc45 fedora 24.3 KiB libblkid x86_64 0:2.42.4-2.fc46 fedora 282.3 KiB libbrotli x86_64 0:1.2.0-6.fc45 copr_base 865.0 KiB libcap x86_64 0:2.78-2.fc45 fedora 208.2 KiB libcap-ng x86_64 0:0.9.6-1.fc46 fedora 68.8 KiB libcbor x86_64 0:0.14.0-3.fc45 fedora 83.5 KiB libcom_err x86_64 0:1.47.4-2.fc45 fedora 63.0 KiB libcurl x86_64 0:8.23.0~rc2-1.fc46 fedora 1.1 MiB libeconf x86_64 0:0.7.9-4.fc45 fedora 64.8 KiB libevent x86_64 0:2.1.13-1.fc46 fedora 980.7 KiB libfdisk x86_64 0:2.42.4-2.fc46 fedora 392.3 KiB libffi x86_64 0:3.8.0-1.fc46 fedora 95.5 KiB libfido2 x86_64 0:1.17.0-5.fc45 fedora 256.5 KiB libfsverity x86_64 0:1.7-4.fc45 fedora 24.4 KiB libgcc x86_64 0:16.2.1-2.fc46.1 fedora 270.7 KiB libgcrypt x86_64 0:1.12.4-1.fc46 fedora 1.7 MiB libgomp x86_64 0:16.2.1-2.fc46.1 fedora 577.5 KiB libgpg-error x86_64 0:1.61-2.fc45 fedora 953.9 KiB libidn2 x86_64 0:2.3.8-4.fc45 fedora 556.4 KiB libksba x86_64 0:1.8.1-1.fc46 fedora 431.9 KiB liblastlog2 x86_64 0:2.42.4-2.fc46 fedora 37.6 KiB libmount x86_64 0:2.42.4-2.fc46 fedora 408.9 KiB libnghttp2 x86_64 0:1.69.0-6.fc46 fedora 166.1 KiB libnghttp3 x86_64 0:1.18.0-1.fc45 fedora 163.4 KiB libpfm x86_64 0:4.13.0-23.fc45 fedora 1.7 MiB libpkgconf x86_64 0:2.5.1-2.fc45 fedora 90.1 KiB libpsl x86_64 0:0.23.3-1.fc46 fedora 80.4 KiB libselinux x86_64 0:3.11-5.fc46 copr_base 205.2 KiB libselinux-utils x86_64 0:3.11-5.fc46 copr_base 306.0 KiB libsemanage x86_64 0:3.11-4.fc46 fedora 320.6 KiB libsepol x86_64 0:3.11-2.fc45 fedora 866.1 KiB libsmartcols x86_64 0:2.42.4-2.fc46 fedora 188.5 KiB libssh x86_64 0:0.12.2-1.fc45 fedora 725.7 KiB libssh-config noarch 0:0.12.2-1.fc45 fedora 277.0 B libstdc++ x86_64 0:16.2.1-2.fc46.1 fedora 3.1 MiB libtasn1 x86_64 0:4.21.0-2.fc45 fedora 176.6 KiB libtool-ltdl x86_64 0:2.6.2-1.fc46 fedora 70.0 KiB libunistring x86_64 0:1.1-12.fc45 fedora 1.7 MiB libusb1 x86_64 0:1.0.30-2.fc45 fedora 180.1 KiB libuuid x86_64 0:2.42.4-2.fc46 fedora 37.2 KiB libverto x86_64 0:0.3.2-13.fc45 fedora 25.3 KiB libxcrypt x86_64 0:4.5.2-4.fc45 fedora 293.2 KiB libxml2 x86_64 0:2.15.4-1.fc46 fedora 1.7 MiB libzstd x86_64 0:1.5.7-6.fc45 fedora 956.1 KiB linkdupes x86_64 0:0.7.3-3.fc45 fedora 782.1 KiB lua-libs x86_64 0:5.5.1-2.fc46 fedora 298.0 KiB lua-srpm-macros noarch 0:1-18.fc45 fedora 1.3 KiB lz4-libs x86_64 0:1.10.0-5.fc45 fedora 165.3 KiB meson-srpm-macros noarch 0:1.12.1-2.fc46 fedora 1.7 KiB mpfr x86_64 0:4.2.2-4.fc45 fedora 849.2 KiB ncurses-base noarch 0:6.6-3.fc45 fedora 329.7 KiB ncurses-libs x86_64 0:6.6-3.fc45 fedora 969.1 KiB nettle x86_64 0:4.0-5.fc45 fedora 801.9 KiB ngtcp2 x86_64 0:1.22.1-3.fc45 fedora 334.3 KiB ngtcp2-crypto-ossl x86_64 0:1.22.1-3.fc45 fedora 51.6 KiB npth x86_64 0:1.8-5.fc45 fedora 49.5 KiB ocaml-srpm-macros noarch 0:11-4.fc45 fedora 1.9 KiB openblas-srpm-macros noarch 0:2-22.fc45 fedora 112.0 B openldap x86_64 0:2.6.14-1.fc46 fedora 678.9 KiB openssl-libs x86_64 1:4.0.2-3.fc46 fedora 6.7 MiB p11-kit x86_64 0:0.26.5-1.fc45 fedora 2.6 MiB p11-kit-trust x86_64 0:0.26.5-1.fc45 fedora 478.4 KiB package-notes-srpm-macros noarch 0:0.20-2.fc45 fedora 1.6 KiB pam-libs x86_64 0:1.7.2-4.fc45 fedora 134.5 KiB pcre2 x86_64 0:10.47-1.fc45.2 fedora 718.5 KiB pcre2-syntax noarch 0:10.47-1.fc45.2 fedora 281.9 KiB perl-srpm-macros noarch 0:1-65.fc45 fedora 861.0 B pkgconf x86_64 0:2.5.1-2.fc45 fedora 92.7 KiB pkgconf-m4 noarch 0:2.5.1-2.fc45 fedora 14.3 KiB pkgconf-pkg-config x86_64 0:2.5.1-2.fc45 fedora 989.0 B policycoreutils x86_64 0:3.11-2.fc46 copr_base 892.9 KiB popt x86_64 0:1.19-11.fc45 fedora 136.7 KiB publicsuffix-list-dafsa noarch 0:20260624-2.fc45 fedora 71.3 KiB pyproject-srpm-macros noarch 0:1.23.2-1.fc46 copr_base 3.4 KiB python-srpm-macros noarch 0:3.15-2.fc45 fedora 51.6 KiB qt5-srpm-macros noarch 0:5.15.18-3.fc45 fedora 500.0 B qt6-srpm-macros noarch 0:6.11.2-1.fc46 fedora 472.0 B readline x86_64 0:8.3-6.fc45 fedora 515.5 KiB redhat-systemd-presets noarch 0:102-3.fc45 fedora 1.0 KiB redhat-systemd-presets-common noarch 0:102-3.fc45 fedora 16.9 KiB rpm x86_64 0:6.1.0-1.fc46 fedora 3.1 MiB rpm-build-libs x86_64 0:6.1.0-1.fc46 fedora 288.3 KiB rpm-libs x86_64 0:6.1.0-1.fc46 fedora 1.1 MiB rpm-plugin-selinux x86_64 0:6.1.0-1.fc46 fedora 11.9 KiB rpm-sequoia x86_64 0:1.10.3-1.fc46 fedora 2.4 MiB rpm-sign-libs x86_64 0:6.1.0-1.fc46 fedora 39.6 KiB rust-srpm-macros noarch 0:28.5-2.fc45 fedora 5.5 KiB selinux-policy noarch 0:45.19-1.fc46 fedora 32.1 KiB selinux-policy-targeted noarch 0:45.19-1.fc46 fedora 19.0 MiB setup noarch 0:2.15.1-2.fc45 fedora 725.6 KiB sqlite-libs x86_64 0:3.53.4-1.fc45 fedora 1.6 MiB systemd-libs x86_64 0:262-1.fc46 fedora 2.8 MiB systemd-standalone-sysusers x86_64 0:262-1.fc46 fedora 981.3 KiB tpm2-tss x86_64 0:4.2.0-1.fc45 fedora 1.7 MiB tree-sitter-srpm-macros noarch 0:0.4.6-2.fc45 fedora 8.6 KiB util-linux-core x86_64 0:2.42.4-2.fc46 fedora 1.5 MiB xxhash-libs x86_64 0:0.8.4-1.fc46 fedora 94.0 KiB xz-libs x86_64 1:5.8.4-1.fc46 fedora 221.7 KiB zig-srpm-macros noarch 0:1-9.fc45 fedora 1.3 KiB zip x86_64 0:3.0-46.fc45 fedora 694.1 KiB zlib-ng-compat x86_64 0:2.3.3-6.fc45 fedora 165.6 KiB zstd x86_64 0:1.5.7-6.fc45 fedora 502.6 KiB Installing groups: Buildsystem building group Transaction Summary: Installing: 190 packages Total size of inbound packages is 71 MiB. Need to download 71 MiB. After this operation, 230 MiB extra will be used (install 230 MiB, remove 0 B). [ 1/190] bzip2-0:1.0.8-24.fc45.x86_64 100% | 25.5 MiB/s | 52.3 KiB | 00m00s [ 2/190] coreutils-0:9.12-1.fc46.x86_6 100% | 144.4 MiB/s | 1.3 MiB | 00m00s [ 3/190] cpio-0:2.15-10.fc45.x86_64 100% | 40.8 MiB/s | 292.5 KiB | 00m00s [ 4/190] bash-0:5.3.15-2.fc45.x86_64 100% | 135.1 MiB/s | 1.9 MiB | 00m00s [ 5/190] diffutils-0:3.12-6.fc45.x86_6 100% | 55.3 MiB/s | 396.6 KiB | 00m00s [ 6/190] fedora-release-common-0:46-0. 100% | 4.4 MiB/s | 18.2 KiB | 00m00s [ 7/190] findutils-1:4.11.0-2.fc45.x86 100% | 139.3 MiB/s | 570.7 KiB | 00m00s [ 8/190] glibc-minimal-langpack-0:2.44 100% | 31.2 MiB/s | 127.7 KiB | 00m00s [ 9/190] grep-0:3.12-4.fc45.x86_64 100% | 58.8 MiB/s | 301.0 KiB | 00m00s [ 10/190] gzip-0:1.14-4.fc45.x86_64 100% | 58.5 MiB/s | 179.6 KiB | 00m00s [ 11/190] patch-0:2.8-5.fc45.x86_64 100% | 56.0 MiB/s | 114.6 KiB | 00m00s [ 12/190] info-0:7.3-3.fc45.x86_64 100% | 62.2 MiB/s | 191.2 KiB | 00m00s [ 13/190] redhat-rpm-config-0:345-4.fc4 100% | 38.1 MiB/s | 78.1 KiB | 00m00s [ 14/190] rpm-build-0:6.1.0-1.fc46.x86_ 100% | 77.2 MiB/s | 158.1 KiB | 00m00s [ 15/190] sed-0:4.10-2.fc45.x86_64 100% | 78.8 MiB/s | 322.8 KiB | 00m00s [ 16/190] shadow-utils-2:4.20.0-1.fc45. 100% | 157.3 MiB/s | 1.4 MiB | 00m00s [ 17/190] unzip-0:6.0-71.fc45.x86_64 100% | 32.5 MiB/s | 199.6 KiB | 00m00s [ 18/190] tar-2:1.35-9.fc45.x86_64 100% | 84.7 MiB/s | 867.4 KiB | 00m00s [ 19/190] which-0:2.25-2.fc45.x86_64 100% | 13.7 MiB/s | 42.2 KiB | 00m00s [ 20/190] xz-1:5.8.4-1.fc46.x86_64 100% | 159.8 MiB/s | 654.4 KiB | 00m00s [ 21/190] util-linux-0:2.42.4-2.fc46.x8 100% | 210.7 MiB/s | 1.3 MiB | 00m00s [ 22/190] gawk-0:5.4.1-1.fc45.x86_64 100% | 98.1 MiB/s | 1.2 MiB | 00m00s [ 23/190] filesystem-0:3.18-59.fc45.x86 100% | 121.1 MiB/s | 1.8 MiB | 00m00s [ 24/190] ncurses-libs-0:6.6-3.fc45.x86 100% | 42.0 MiB/s | 343.7 KiB | 00m00s [ 25/190] glibc-0:2.44.9000-2.fc46.x86_ 100% | 137.2 MiB/s | 2.5 MiB | 00m00s [ 26/190] bzip2-libs-0:1.0.8-24.fc45.x8 100% | 6.1 MiB/s | 43.5 KiB | 00m00s [ 27/190] libacl-0:2.4.0-2.fc45.x86_64 100% | 8.9 MiB/s | 27.5 KiB | 00m00s [ 28/190] coreutils-common-0:9.12-1.fc4 100% | 202.7 MiB/s | 2.2 MiB | 00m00s [ 29/190] gmp-1:6.3.0-6.fc45.x86_64 100% | 44.9 MiB/s | 321.8 KiB | 00m00s [ 30/190] libattr-0:2.6.0-2.fc45.x86_64 100% | 5.9 MiB/s | 18.1 KiB | 00m00s [ 31/190] libcap-0:2.78-2.fc45.x86_64 100% | 28.8 MiB/s | 88.6 KiB | 00m00s [ 32/190] systemd-libs-0:262-1.fc46.x86 100% | 156.4 MiB/s | 961.2 KiB | 00m00s [ 33/190] fedora-repos-0:46-0.3.noarch 100% | 2.3 MiB/s | 9.6 KiB | 00m00s [ 34/190] redhat-systemd-presets-0:102- 100% | 4.2 MiB/s | 8.5 KiB | 00m00s [ 35/190] glibc-common-0:2.44.9000-2.fc 100% | 82.0 MiB/s | 420.1 KiB | 00m00s [ 36/190] openssl-libs-1:4.0.2-3.fc46.x 100% | 146.1 MiB/s | 2.3 MiB | 00m00s [ 37/190] ed-0:1.22.6-1.fc46.x86_64 100% | 27.9 MiB/s | 85.6 KiB | 00m00s [ 38/190] pcre2-0:10.47-1.fc45.2.x86_64 100% | 33.8 MiB/s | 276.7 KiB | 00m00s [ 39/190] R-srpm-macros-0:1.3.7-3.fc45. 100% | 5.4 MiB/s | 11.1 KiB | 00m00s [ 40/190] ansible-srpm-macros-0:1-22.fc 100% | 9.7 MiB/s | 19.8 KiB | 00m00s [ 41/190] build-reproducibility-srpm-ma 100% | 5.3 MiB/s | 10.8 KiB | 00m00s [ 42/190] cmake-srpm-macros-0:4.3.0-5.f 100% | 5.0 MiB/s | 10.3 KiB | 00m00s [ 43/190] dwz-0:0.17-3.fc45.x86_64 100% | 34.0 MiB/s | 139.2 KiB | 00m00s [ 44/190] efi-srpm-macros-0:6-9.fc45.no 100% | 7.0 MiB/s | 21.4 KiB | 00m00s [ 45/190] erlang-srpm-macros-0:0.3.11-2 100% | 3.2 MiB/s | 10.0 KiB | 00m00s [ 46/190] file-0:5.48-3.fc46.x86_64 100% | 24.7 MiB/s | 50.6 KiB | 00m00s [ 47/190] filesystem-srpm-macros-0:3.18 100% | 12.9 MiB/s | 26.4 KiB | 00m00s [ 48/190] fonts-srpm-macros-1:5.0.0-4.f 100% | 13.3 MiB/s | 27.2 KiB | 00m00s [ 49/190] forge-srpm-macros-0:0.4.0-5.f 100% | 9.6 MiB/s | 19.7 KiB | 00m00s [ 50/190] fpc-srpm-macros-0:1.3-17.fc45 100% | 3.8 MiB/s | 7.8 KiB | 00m00s [ 51/190] gap-srpm-macros-0:2-3.fc45.no 100% | 9.1 MiB/s | 9.3 KiB | 00m00s [ 52/190] ghc-srpm-macros-0:1.10-2.fc45 100% | 4.1 MiB/s | 8.5 KiB | 00m00s [ 53/190] gnome-srpm-macros-0:1.0-2.fc4 100% | 4.3 MiB/s | 8.8 KiB | 00m00s [ 54/190] gnat-srpm-macros-0:7-3.fc45.n 100% | 4.2 MiB/s | 8.6 KiB | 00m00s [ 55/190] go-srpm-macros-0:3.8.0-3.fc45 100% | 27.2 MiB/s | 27.8 KiB | 00m00s [ 56/190] java-srpm-macros-0:1-9.fc45.n 100% | 4.0 MiB/s | 8.3 KiB | 00m00s [ 57/190] kernel-srpm-macros-0:1.0-30.f 100% | 4.0 MiB/s | 8.3 KiB | 00m00s [ 58/190] lua-srpm-macros-0:1-18.fc45.n 100% | 8.5 MiB/s | 8.7 KiB | 00m00s [ 59/190] meson-srpm-macros-0:1.12.1-2. 100% | 11.5 MiB/s | 11.8 KiB | 00m00s [ 60/190] ocaml-srpm-macros-0:11-4.fc45 100% | 4.4 MiB/s | 9.0 KiB | 00m00s [ 61/190] openblas-srpm-macros-0:2-22.f 100% | 7.3 MiB/s | 7.5 KiB | 00m00s [ 62/190] package-notes-srpm-macros-0:0 100% | 5.1 MiB/s | 10.5 KiB | 00m00s [ 63/190] perl-srpm-macros-0:1-65.fc45. 100% | 4.1 MiB/s | 8.4 KiB | 00m00s [ 64/190] python-srpm-macros-0:3.15-2.f 100% | 11.6 MiB/s | 23.9 KiB | 00m00s [ 65/190] qt5-srpm-macros-0:5.15.18-3.f 100% | 7.9 MiB/s | 8.1 KiB | 00m00s [ 66/190] qt6-srpm-macros-0:6.11.2-1.fc 100% | 4.4 MiB/s | 9.1 KiB | 00m00s [ 67/190] rpm-0:6.1.0-1.fc46.x86_64 100% | 139.5 MiB/s | 571.3 KiB | 00m00s [ 68/190] rust-srpm-macros-0:28.5-2.fc4 100% | 3.7 MiB/s | 11.4 KiB | 00m00s [ 69/190] tree-sitter-srpm-macros-0:0.4 100% | 6.8 MiB/s | 14.0 KiB | 00m00s [ 70/190] zig-srpm-macros-0:1-9.fc45.no 100% | 8.6 MiB/s | 8.8 KiB | 00m00s [ 71/190] zip-0:3.0-46.fc45.x86_64 100% | 129.2 MiB/s | 264.6 KiB | 00m00s [ 72/190] debugedit-0:5.3-3.fc45.x86_64 100% | 28.6 MiB/s | 87.9 KiB | 00m00s [ 73/190] elfutils-0:0.196-1.fc46.x86_6 100% | 163.6 MiB/s | 670.0 KiB | 00m00s [ 74/190] elfutils-libelf-0:0.196-1.fc4 100% | 38.8 MiB/s | 238.4 KiB | 00m00s [ 75/190] libarchive-0:3.8.9-2.fc46.x86 100% | 87.1 MiB/s | 446.0 KiB | 00m00s [ 76/190] libgcc-0:16.2.1-2.fc46.1.x86_ 100% | 26.7 MiB/s | 136.6 KiB | 00m00s [ 77/190] popt-0:1.19-11.fc45.x86_64 100% | 21.7 MiB/s | 66.6 KiB | 00m00s [ 78/190] libstdc++-0:16.2.1-2.fc46.1.x 100% | 142.9 MiB/s | 1.0 MiB | 00m00s [ 79/190] readline-0:8.3-6.fc45.x86_64 100% | 37.2 MiB/s | 228.8 KiB | 00m00s [ 80/190] rpm-build-libs-0:6.1.0-1.fc46 100% | 32.9 MiB/s | 134.8 KiB | 00m00s [ 81/190] zstd-0:1.5.7-6.fc45.x86_64 100% | 62.4 MiB/s | 191.7 KiB | 00m00s [ 82/190] rpm-libs-0:6.1.0-1.fc46.x86_6 100% | 93.1 MiB/s | 476.6 KiB | 00m00s [ 83/190] audit-libs-0:4.2.1-2.fc45.x86 100% | 35.0 MiB/s | 143.3 KiB | 00m00s [ 84/190] libeconf-0:0.7.9-4.fc45.x86_6 100% | 17.5 MiB/s | 35.9 KiB | 00m00s [ 85/190] libsemanage-0:3.11-4.fc46.x86 100% | 42.5 MiB/s | 130.5 KiB | 00m00s [ 86/190] libxcrypt-0:4.5.2-4.fc45.x86_ 100% | 42.6 MiB/s | 130.9 KiB | 00m00s [ 87/190] pam-libs-0:1.7.2-4.fc45.x86_6 100% | 19.0 MiB/s | 58.4 KiB | 00m00s [ 88/190] xz-libs-1:5.8.4-1.fc46.x86_64 100% | 56.9 MiB/s | 116.5 KiB | 00m00s [ 89/190] setup-0:2.15.1-2.fc45.noarch 100% | 51.3 MiB/s | 157.6 KiB | 00m00s [ 90/190] mpfr-0:4.2.2-4.fc45.x86_64 100% | 87.3 MiB/s | 357.4 KiB | 00m00s [ 91/190] libblkid-0:2.42.4-2.fc46.x86_ 100% | 65.5 MiB/s | 134.0 KiB | 00m00s [ 92/190] libcap-ng-0:0.9.6-1.fc46.x86_ 100% | 11.3 MiB/s | 34.8 KiB | 00m00s [ 93/190] libfdisk-0:2.42.4-2.fc46.x86_ 100% | 82.8 MiB/s | 169.6 KiB | 00m00s [ 94/190] liblastlog2-0:2.42.4-2.fc46.x 100% | 24.4 MiB/s | 25.0 KiB | 00m00s [ 95/190] libmount-0:2.42.4-2.fc46.x86_ 100% | 87.8 MiB/s | 179.8 KiB | 00m00s [ 96/190] libuuid-0:2.42.4-2.fc46.x86_6 100% | 13.5 MiB/s | 27.7 KiB | 00m00s [ 97/190] libsmartcols-0:2.42.4-2.fc46. 100% | 28.9 MiB/s | 88.8 KiB | 00m00s [ 98/190] util-linux-core-0:2.42.4-2.fc 100% | 142.3 MiB/s | 582.9 KiB | 00m00s [ 99/190] zlib-ng-compat-0:2.3.3-6.fc45 100% | 17.7 MiB/s | 90.4 KiB | 00m00s [100/190] ncurses-base-0:6.6-3.fc45.noa 100% | 21.5 MiB/s | 88.1 KiB | 00m00s [101/190] glibc-gconv-extra-0:2.44.9000 100% | 142.0 MiB/s | 1.7 MiB | 00m00s [102/190] gnulib-l10n-0:20241231-4.fc45 100% | 18.4 MiB/s | 150.4 KiB | 00m00s [103/190] ca-certificates-0:2026.2.90_v 100% | 134.6 MiB/s | 964.7 KiB | 00m00s [104/190] crypto-policies-0:20260713-2. 100% | 31.7 MiB/s | 97.5 KiB | 00m00s [105/190] fedora-gpg-keys-0:46-0.3.noar 100% | 46.8 MiB/s | 143.8 KiB | 00m00s [106/190] fips-provider-0:1.5.3-1.fc46. 100% | 202.3 MiB/s | 1.6 MiB | 00m00s [107/190] fedora-repos-rawhide-0:46-0.3 100% | 1.8 MiB/s | 9.0 KiB | 00m00s [108/190] redhat-systemd-presets-common 100% | 6.5 MiB/s | 13.2 KiB | 00m00s [109/190] add-determinism-0:0.7.3-3.fc4 100% | 206.5 MiB/s | 845.7 KiB | 00m00s [110/190] pcre2-syntax-0:10.47-1.fc45.2 100% | 32.2 MiB/s | 165.1 KiB | 00m00s [111/190] linkdupes-0:0.7.3-3.fc45.x86_ 100% | 66.3 MiB/s | 339.2 KiB | 00m00s [112/190] curl-0:8.23.0~rc2-1.fc46.x86_ 100% | 79.6 MiB/s | 244.5 KiB | 00m00s [113/190] elfutils-libs-0:0.196-1.fc46. 100% | 92.7 MiB/s | 284.9 KiB | 00m00s [114/190] file-libs-0:5.48-3.fc46.x86_6 100% | 123.4 MiB/s | 884.7 KiB | 00m00s [115/190] elfutils-debuginfod-client-0: 100% | 11.5 MiB/s | 47.1 KiB | 00m00s [116/190] json-c-0:0.18-9.fc45.x86_64 100% | 15.2 MiB/s | 46.7 KiB | 00m00s [117/190] libpfm-0:4.13.0-23.fc45.x86_6 100% | 110.8 MiB/s | 227.0 KiB | 00m00s [118/190] libxml2-0:2.15.4-1.fc46.x86_6 100% | 165.2 MiB/s | 676.7 KiB | 00m00s [119/190] libzstd-0:1.5.7-6.fc45.x86_64 100% | 71.1 MiB/s | 363.9 KiB | 00m00s [120/190] lz4-libs-0:1.10.0-5.fc45.x86_ 100% | 19.6 MiB/s | 80.4 KiB | 00m00s [121/190] libgomp-0:16.2.1-2.fc46.1.x86 100% | 129.4 MiB/s | 397.6 KiB | 00m00s [122/190] lua-libs-0:5.5.1-2.fc46.x86_6 100% | 47.0 MiB/s | 144.4 KiB | 00m00s [123/190] rpm-sign-libs-0:6.1.0-1.fc46. 100% | 8.8 MiB/s | 26.9 KiB | 00m00s [124/190] rpm-sequoia-0:1.10.3-1.fc46.x 100% | 184.1 MiB/s | 942.6 KiB | 00m00s [125/190] libsepol-0:3.11-2.fc45.x86_64 100% | 71.3 MiB/s | 365.2 KiB | 00m00s [126/190] sqlite-libs-0:3.53.4-1.fc45.x 100% | 113.3 MiB/s | 812.1 KiB | 00m00s [127/190] ima-evm-utils-libs-0:1.6.2-12 100% | 14.8 MiB/s | 30.2 KiB | 00m00s [128/190] gpgverify-0:2.2-5.fc45.noarch 100% | 5.5 MiB/s | 11.3 KiB | 00m00s [129/190] libfsverity-0:1.7-4.fc45.x86_ 100% | 6.2 MiB/s | 19.0 KiB | 00m00s [130/190] gnupg2-0:2.4.9-18.fc45.x86_64 100% | 137.6 MiB/s | 1.7 MiB | 00m00s [131/190] gnupg2-gpg-agent-0:2.4.9-18.f 100% | 54.9 MiB/s | 281.3 KiB | 00m00s [132/190] gnupg2-dirmngr-0:2.4.9-18.fc4 100% | 34.4 MiB/s | 281.6 KiB | 00m00s [133/190] gnupg2-gpgconf-0:2.4.9-18.fc4 100% | 28.5 MiB/s | 116.5 KiB | 00m00s [134/190] gnupg2-keyboxd-0:2.4.9-18.fc4 100% | 23.6 MiB/s | 96.6 KiB | 00m00s [135/190] gnupg2-verify-0:2.4.9-18.fc45 100% | 43.0 MiB/s | 176.1 KiB | 00m00s [136/190] libassuan-0:2.5.7-6.fc45.x86_ 100% | 22.3 MiB/s | 68.5 KiB | 00m00s [137/190] libgpg-error-0:1.61-2.fc45.x8 100% | 123.5 MiB/s | 252.9 KiB | 00m00s [138/190] npth-0:1.8-5.fc45.x86_64 100% | 12.4 MiB/s | 25.5 KiB | 00m00s [139/190] libgcrypt-0:1.12.4-1.fc46.x86 100% | 102.7 MiB/s | 631.2 KiB | 00m00s [140/190] tpm2-tss-0:4.2.0-1.fc45.x86_6 100% | 89.2 MiB/s | 456.8 KiB | 00m00s [141/190] gnutls-0:3.8.13-5.fc46.x86_64 100% | 177.7 MiB/s | 1.4 MiB | 00m00s [142/190] libksba-0:1.8.1-1.fc46.x86_64 100% | 24.1 MiB/s | 172.6 KiB | 00m00s [143/190] openldap-0:2.6.14-1.fc46.x86_ 100% | 53.2 MiB/s | 272.6 KiB | 00m00s [144/190] libusb1-0:1.0.30-2.fc45.x86_6 100% | 40.9 MiB/s | 83.8 KiB | 00m00s [145/190] libidn2-0:2.3.8-4.fc45.x86_64 100% | 57.0 MiB/s | 175.2 KiB | 00m00s [146/190] libtasn1-0:4.21.0-2.fc45.x86_ 100% | 24.7 MiB/s | 75.9 KiB | 00m00s [147/190] libunistring-0:1.1-12.fc45.x8 100% | 133.2 MiB/s | 545.8 KiB | 00m00s [148/190] nettle-0:4.0-5.fc45.x86_64 100% | 83.9 MiB/s | 429.7 KiB | 00m00s [149/190] p11-kit-0:0.26.5-1.fc45.x86_6 100% | 78.1 MiB/s | 560.0 KiB | 00m00s [150/190] libevent-0:2.1.13-1.fc46.x86_ 100% | 70.6 MiB/s | 289.4 KiB | 00m00s [151/190] cyrus-sasl-lib-0:2.1.28-37.fc 100% | 99.8 MiB/s | 817.8 KiB | 00m00s [152/190] libffi-0:3.8.0-1.fc46.x86_64 100% | 22.7 MiB/s | 46.4 KiB | 00m00s [153/190] libtool-ltdl-0:2.6.2-1.fc46.x 100% | 9.0 MiB/s | 36.8 KiB | 00m00s [154/190] gdbm-libs-1:1.23-12.fc45.x86_ 100% | 28.4 MiB/s | 58.2 KiB | 00m00s [155/190] libselinux-0:3.11-5.fc46.x86_ 100% | 50.7 MiB/s | 103.9 KiB | 00m00s [156/190] binutils-0:2.47.50-11.fc46.x8 100% | 324.4 MiB/s | 5.2 MiB | 00m00s [157/190] alternatives-0:1.33-6.fc45.x8 100% | 2.8 MiB/s | 39.4 KiB | 00m00s [158/190] jansson-0:2.14-5.fc45.x86_64 100% | 5.1 MiB/s | 46.9 KiB | 00m00s [159/190] pkgconf-m4-0:2.5.1-2.fc45.noa 100% | 4.5 MiB/s | 13.8 KiB | 00m00s [160/190] pkgconf-0:2.5.1-2.fc45.x86_64 100% | 12.0 MiB/s | 49.0 KiB | 00m00s [161/190] pkgconf-pkg-config-0:2.5.1-2. 100% | 2.3 MiB/s | 9.5 KiB | 00m00s [162/190] pyproject-srpm-macros-0:1.23. 100% | 7.6 MiB/s | 15.5 KiB | 00m00s [163/190] libpkgconf-0:2.5.1-2.fc45.x86 100% | 20.8 MiB/s | 42.6 KiB | 00m00s [164/190] p11-kit-trust-0:0.26.5-1.fc45 100% | 47.6 MiB/s | 146.3 KiB | 00m00s [165/190] fedora-release-0:46-0.1.noarc 100% | 5.8 MiB/s | 11.9 KiB | 00m00s [166/190] systemd-standalone-sysusers-0 100% | 105.8 MiB/s | 433.2 KiB | 00m00s [167/190] xxhash-libs-0:0.8.4-1.fc46.x8 100% | 3.4 MiB/s | 41.3 KiB | 00m00s [168/190] gdb-minimal-0:17.2-6.fc46.x86 100% | 249.4 MiB/s | 4.7 MiB | 00m00s [169/190] fedora-release-identity-basic 100% | 843.8 KiB/s | 12.7 KiB | 00m00s [170/190] libcurl-0:8.23.0~rc2-1.fc46.x 100% | 80.7 MiB/s | 495.9 KiB | 00m00s [171/190] libnghttp2-0:1.69.0-6.fc46.x8 100% | 37.7 MiB/s | 77.2 KiB | 00m00s [172/190] krb5-libs-0:1.22.2-9.fc45.x86 100% | 156.9 MiB/s | 803.1 KiB | 00m00s [173/190] libnghttp3-0:1.18.0-1.fc45.x8 100% | 18.3 MiB/s | 75.1 KiB | 00m00s [174/190] libpsl-0:0.23.3-1.fc46.x86_64 100% | 22.0 MiB/s | 67.7 KiB | 00m00s [175/190] libssh-0:0.12.2-1.fc45.x86_64 100% | 96.3 MiB/s | 295.9 KiB | 00m00s [176/190] ngtcp2-crypto-ossl-0:1.22.1-3 100% | 9.1 MiB/s | 27.8 KiB | 00m00s [177/190] ngtcp2-0:1.22.1-3.fc45.x86_64 100% | 51.3 MiB/s | 157.7 KiB | 00m00s [178/190] libcom_err-0:1.47.4-2.fc45.x8 100% | 13.0 MiB/s | 26.6 KiB | 00m00s [179/190] libverto-0:0.3.2-13.fc45.x86_ 100% | 20.5 MiB/s | 21.0 KiB | 00m00s [180/190] keyutils-libs-0:1.6.3-8.fc45. 100% | 15.4 MiB/s | 31.5 KiB | 00m00s [181/190] publicsuffix-list-dafsa-0:202 100% | 29.8 MiB/s | 61.1 KiB | 00m00s [182/190] libssh-config-0:0.12.2-1.fc45 100% | 4.4 MiB/s | 8.9 KiB | 00m00s [183/190] libfido2-0:1.17.0-5.fc45.x86_ 100% | 34.8 MiB/s | 106.9 KiB | 00m00s [184/190] libcbor-0:0.14.0-3.fc45.x86_6 100% | 12.0 MiB/s | 36.8 KiB | 00m00s [185/190] selinux-policy-0:45.19-1.fc46 100% | 13.3 MiB/s | 41.0 KiB | 00m00s [186/190] policycoreutils-0:3.11-2.fc46 100% | 77.1 MiB/s | 236.9 KiB | 00m00s [187/190] rpm-plugin-selinux-0:6.1.0-1. 100% | 4.3 MiB/s | 17.8 KiB | 00m00s [188/190] libselinux-utils-0:3.11-5.fc4 100% | 55.8 MiB/s | 114.3 KiB | 00m00s [189/190] libbrotli-0:1.2.0-6.fc45.x86_ 100% | 84.8 MiB/s | 347.2 KiB | 00m00s [190/190] selinux-policy-targeted-0:45. 100% | 252.5 MiB/s | 6.8 MiB | 00m00s -------------------------------------------------------------------------------- [190/190] Total 100% | 201.1 MiB/s | 71.4 MiB | 00m00s Running transaction Importing OpenPGP key 0x91211FCE: UserID : "Fedora (46) " Fingerprint: D924B10D3E810DABDD8B56B596E7E91491211FCE From : file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-46-primary The key was successfully imported. Importing OpenPGP key 0x91211FCE: UserID : "Fedora (46) " Fingerprint: D924B10D3E810DABDD8B56B596E7E91491211FCE From : file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-46-primary The key was successfully imported. Importing OpenPGP key 0xF577861E: UserID : "Fedora (45) " Fingerprint: 4F50A6114CD5C6976A7F1179655A4B02F577861E From : file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-45-primary The key was successfully imported. Importing OpenPGP key 0x9488FB64: UserID : "Fedora (47) " Fingerprint: B2E766FA50CA6FA2D5ED06FC09D879E09488FB64 From : file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-47-primary The key was successfully imported. [ 1/192] Verify package files 100% | 648.0 B/s | 190.0 B | 00m00s >>> Running %pretrans scriptlet: filesystem-0:3.18-59.fc45.x86_64 >>> Finished %pretrans scriptlet: filesystem-0:3.18-59.fc45.x86_64 >>> [RPM] /var/lib/mock/fedora-rawhide-x86_64-1790591952.012801/root/var/cache/dnf/copr_base-599f2dc1e3e330e5/packages/libselinux-3.11-5.fc46.x86_64.rpm: Header OpenPGP V4 RSA/SHA256 signature, key ID 334e731f61c664d2: NOKEY >>> [RPM] failed to open /var/lib/mock/fedora-rawhide-x86_64-1790591952.012801/root/etc/group for id/name lookup: No such file or directory [ 2/192] Prepare transaction 100% | 3.0 KiB/s | 190.0 B | 00m00s [ 3/192] Installing libgcc-0:16.2.1-2. 100% | 266.0 MiB/s | 272.4 KiB | 00m00s [ 4/192] Installing redhat-systemd-pre 100% | 0.0 B/s | 1.5 KiB | 00m00s [ 5/192] Installing redhat-systemd-pre 100% | 0.0 B/s | 18.1 KiB | 00m00s [ 6/192] Installing libssh-config-0:0. 100% | 0.0 B/s | 816.0 B | 00m00s [ 7/192] Installing publicsuffix-list- 100% | 0.0 B/s | 72.0 KiB | 00m00s [ 8/192] Installing fedora-release-ide 100% | 0.0 B/s | 920.0 B | 00m00s [ 9/192] Installing fedora-gpg-keys-0: 100% | 44.4 MiB/s | 181.7 KiB | 00m00s [ 10/192] Installing fedora-repos-rawhi 100% | 0.0 B/s | 2.5 KiB | 00m00s [ 11/192] Installing fedora-repos-0:46- 100% | 0.0 B/s | 5.9 KiB | 00m00s [ 12/192] Installing fedora-release-com 100% | 7.8 MiB/s | 8.0 KiB | 00m00s [ 13/192] Installing fedora-release-0:4 100% | 15.1 KiB/s | 124.0 B | 00m00s >>> Running sysusers scriptlet: setup-0:2.15.1-2.fc45.noarch >>> Finished sysusers scriptlet: setup-0:2.15.1-2.fc45.noarch >>> Scriptlet output: >>> Creating group 'adm' with GID 4. >>> Creating group 'audio' with GID 63. >>> Creating group 'cdrom' with GID 11. >>> Creating group 'clock' with GID 103. >>> Creating group 'dialout' with GID 18. >>> Creating group 'disk' with GID 6. >>> Creating group 'floppy' with GID 19. >>> Creating group 'ftp' with GID 50. >>> Creating group 'games' with GID 20. >>> Creating group 'input' with GID 104. >>> Creating group 'kmem' with GID 9. >>> Creating group 'kvm' with GID 36. >>> Creating group 'lock' with GID 54. >>> Creating group 'lp' with GID 7. >>> Creating group 'mail' with GID 12. >>> Creating group 'man' with GID 15. >>> Creating group 'mem' with GID 8. >>> Creating group 'nobody' with GID 65534. >>> Creating group 'render' with GID 105. >>> Creating group 'root' with GID 0. >>> Creating group 'sgx' with GID 106. >>> Creating group 'sys' with GID 3. >>> Creating group 'tape' with GID 33. >>> Creating group 'tty' with GID 5. >>> Creating group 'users' with GID 100. >>> Creating group 'utmp' with GID 22. >>> Creating group 'video' with GID 39. >>> Creating group 'wheel' with GID 10. >>> Creating user 'adm' (adm) with UID 3 and GID 4. >>> Creating group 'bin' with GID 1. >>> Creating user 'bin' (bin) with UID 1 and GID 1. >>> Creating group 'daemon' with GID 2. >>> Creating user 'daemon' (daemon) with UID 2 and GID 2. >>> Creating user 'ftp' (FTP User) with UID 14 and GID 50. >>> Creating user 'games' (games) with UID 12 and GID 100. >>> Creating user 'halt' (halt) with UID 7 and GID 0. >>> Creating user 'lp' (lp) with UID 4 and GID 7. >>> Creating user 'mail' (mail) with UID 8 and GID 12. >>> Creating user 'nobody' (Kernel Overflow User) with UID 65534 and GID 65534. >>> Creating user 'operator' (operator) with UID 11 and GID 0. >>> Creating user 'root' (Super User) with UID 0 and GID 0. >>> Creating user 'shutdown' (shutdown) with UID 6 and GID 0. >>> Creating user 'sync' (sync) with UID 5 and GID 0. >>> [ 14/192] Installing setup-0:2.15.1-2.f 100% | 37.6 MiB/s | 731.3 KiB | 00m00s >>> [RPM] /etc/hosts created as /etc/hosts.rpmnew [ 15/192] Installing filesystem-0:3.18- 100% | 2.5 MiB/s | 253.6 KiB | 00m00s [ 16/192] Installing pkgconf-m4-0:2.5.1 100% | 0.0 B/s | 14.7 KiB | 00m00s [ 17/192] Installing pcre2-syntax-0:10. 100% | 277.7 MiB/s | 284.3 KiB | 00m00s [ 18/192] Installing gnulib-l10n-0:2024 100% | 215.5 MiB/s | 661.9 KiB | 00m00s [ 19/192] Installing coreutils-common-0 100% | 361.3 MiB/s | 11.6 MiB | 00m00s [ 20/192] Installing ncurses-base-0:6.6 100% | 86.7 MiB/s | 355.3 KiB | 00m00s [ 21/192] Installing bash-0:5.3.15-2.fc 100% | 217.3 MiB/s | 8.5 MiB | 00m00s [ 22/192] Installing glibc-common-0:2.4 100% | 44.8 MiB/s | 1.0 MiB | 00m00s [ 23/192] Installing glibc-gconv-extra- 100% | 278.1 MiB/s | 7.8 MiB | 00m00s [ 24/192] Installing glibc-0:2.44.9000- 100% | 155.9 MiB/s | 7.2 MiB | 00m00s [ 25/192] Installing ncurses-libs-0:6.6 100% | 238.0 MiB/s | 974.9 KiB | 00m00s [ 26/192] Installing glibc-minimal-lang 100% | 0.0 B/s | 124.0 B | 00m00s [ 27/192] Installing zlib-ng-compat-0:2 100% | 162.5 MiB/s | 166.4 KiB | 00m00s [ 28/192] Installing bzip2-libs-0:1.0.8 100% | 79.7 MiB/s | 81.6 KiB | 00m00s [ 29/192] Installing libgpg-error-0:1.6 100% | 44.6 MiB/s | 959.7 KiB | 00m00s [ 30/192] Installing readline-0:8.3-6.f 100% | 252.8 MiB/s | 517.7 KiB | 00m00s [ 31/192] Installing libstdc++-0:16.2.1 100% | 342.9 MiB/s | 3.1 MiB | 00m00s [ 32/192] Installing libzstd-0:1.5.7-6. 100% | 311.7 MiB/s | 957.4 KiB | 00m00s [ 33/192] Installing elfutils-libelf-0: 100% | 360.7 MiB/s | 1.4 MiB | 00m00s [ 34/192] Installing libassuan-0:2.5.7- 100% | 161.8 MiB/s | 165.7 KiB | 00m00s [ 35/192] Installing libgcrypt-0:1.12.4 100% | 333.2 MiB/s | 1.7 MiB | 00m00s [ 36/192] Installing gmp-1:6.3.0-6.fc45 100% | 399.1 MiB/s | 817.4 KiB | 00m00s [ 37/192] Installing libacl-0:2.4.0-2.f 100% | 0.0 B/s | 44.7 KiB | 00m00s [ 38/192] Installing systemd-libs-0:262 100% | 346.3 MiB/s | 2.8 MiB | 00m00s [ 39/192] Installing libuuid-0:2.42.4-2 100% | 37.3 MiB/s | 38.2 KiB | 00m00s [ 40/192] Installing popt-0:1.19-11.fc4 100% | 70.0 MiB/s | 143.3 KiB | 00m00s [ 41/192] Installing xz-libs-1:5.8.4-1. 100% | 217.6 MiB/s | 222.8 KiB | 00m00s [ 42/192] Installing sqlite-libs-0:3.53 100% | 323.8 MiB/s | 1.6 MiB | 00m00s [ 43/192] Installing npth-0:1.8-5.fc45. 100% | 0.0 B/s | 50.6 KiB | 00m00s [ 44/192] Installing elfutils-libs-0:0. 100% | 352.2 MiB/s | 721.3 KiB | 00m00s [ 45/192] Installing libblkid-0:2.42.4- 100% | 276.6 MiB/s | 283.3 KiB | 00m00s [ 46/192] Installing libsepol-0:3.11-2. 100% | 282.3 MiB/s | 867.1 KiB | 00m00s [ 47/192] Installing gnupg2-gpgconf-0:2 100% | 13.2 MiB/s | 255.9 KiB | 00m00s [ 48/192] Installing pcre2-0:10.47-1.fc 100% | 351.5 MiB/s | 720.0 KiB | 00m00s [ 49/192] Installing libselinux-0:3.11- 100% | 201.6 MiB/s | 206.4 KiB | 00m00s [ 50/192] Installing grep-0:3.12-4.fc45 100% | 45.6 MiB/s | 1.0 MiB | 00m00s [ 51/192] Installing sed-0:4.10-2.fc45. 100% | 38.8 MiB/s | 874.9 KiB | 00m00s [ 52/192] Installing findutils-1:4.11.0 100% | 81.6 MiB/s | 2.0 MiB | 00m00s [ 53/192] Installing libxcrypt-0:4.5.2- 100% | 144.5 MiB/s | 295.9 KiB | 00m00s [ 54/192] Installing json-c-0:0.18-9.fc 100% | 82.0 MiB/s | 83.9 KiB | 00m00s [ 55/192] Installing libtasn1-0:4.21.0- 100% | 174.3 MiB/s | 178.5 KiB | 00m00s [ 56/192] Installing libunistring-0:1.1 100% | 346.9 MiB/s | 1.7 MiB | 00m00s [ 57/192] Installing libidn2-0:2.3.8-4. 100% | 54.9 MiB/s | 562.6 KiB | 00m00s [ 58/192] Installing crypto-policies-0: 100% | 31.2 MiB/s | 159.5 KiB | 00m00s [ 59/192] Installing xz-1:5.8.4-1.fc46. 100% | 54.8 MiB/s | 1.4 MiB | 00m00s [ 60/192] Installing libmount-0:2.42.4- 100% | 200.2 MiB/s | 410.0 KiB | 00m00s [ 61/192] Installing gnupg2-verify-0:2. 100% | 17.5 MiB/s | 357.7 KiB | 00m00s [ 62/192] Installing mpfr-0:4.2.2-4.fc4 100% | 277.0 MiB/s | 850.9 KiB | 00m00s [ 63/192] Installing gawk-0:5.4.1-1.fc4 100% | 89.1 MiB/s | 2.2 MiB | 00m00s [ 64/192] Installing dwz-0:0.17-3.fc45. 100% | 15.0 MiB/s | 292.5 KiB | 00m00s [ 65/192] Installing libksba-0:1.8.1-1. 100% | 212.1 MiB/s | 434.4 KiB | 00m00s [ 66/192] Installing unzip-0:6.0-71.fc4 100% | 21.7 MiB/s | 445.3 KiB | 00m00s [ 67/192] Installing file-libs-0:5.48-3 100% | 561.1 MiB/s | 12.3 MiB | 00m00s [ 68/192] Installing file-0:5.48-3.fc46 100% | 5.0 MiB/s | 103.4 KiB | 00m00s [ 69/192] Installing diffutils-0:3.12-6 100% | 65.2 MiB/s | 1.6 MiB | 00m00s [ 70/192] Installing libattr-0:2.6.0-2. 100% | 24.7 MiB/s | 25.2 KiB | 00m00s [ 71/192] Installing libeconf-0:0.7.9-4 100% | 64.9 MiB/s | 66.4 KiB | 00m00s [ 72/192] Installing libcap-ng-0:0.9.6- 100% | 69.0 MiB/s | 70.6 KiB | 00m00s [ 73/192] Installing audit-libs-0:4.2.1 100% | 191.9 MiB/s | 393.1 KiB | 00m00s [ 74/192] Installing pam-libs-0:1.7.2-4 100% | 133.7 MiB/s | 136.9 KiB | 00m00s [ 75/192] Installing libcap-0:2.78-2.fc 100% | 10.4 MiB/s | 213.3 KiB | 00m00s [ 76/192] Installing libsemanage-0:3.11 100% | 157.4 MiB/s | 322.4 KiB | 00m00s [ 77/192] Installing libsmartcols-0:2.4 100% | 185.2 MiB/s | 189.6 KiB | 00m00s [ 78/192] Installing lua-libs-0:5.5.1-2 100% | 292.4 MiB/s | 299.4 KiB | 00m00s [ 79/192] Installing libffi-0:3.8.0-1.f 100% | 94.6 MiB/s | 96.9 KiB | 00m00s [ 80/192] Installing p11-kit-0:0.26.5-1 100% | 94.1 MiB/s | 2.6 MiB | 00m00s [ 81/192] Installing alternatives-0:1.3 100% | 3.3 MiB/s | 63.6 KiB | 00m00s [ 82/192] Installing p11-kit-trust-0:0. 100% | 16.7 MiB/s | 480.1 KiB | 00m00s [ 83/192] Installing ngtcp2-0:1.22.1-3. 100% | 164.0 MiB/s | 335.8 KiB | 00m00s [ 84/192] Installing util-linux-core-0: 100% | 60.5 MiB/s | 1.5 MiB | 00m00s [ 85/192] Installing liblastlog2-0:2.42 100% | 5.6 MiB/s | 39.8 KiB | 00m00s [ 86/192] Installing zip-0:3.0-46.fc45. 100% | 29.6 MiB/s | 698.0 KiB | 00m00s [ 87/192] Installing gnupg2-keyboxd-0:2 100% | 24.7 MiB/s | 202.5 KiB | 00m00s [ 88/192] Installing libpsl-0:0.23.3-1. 100% | 79.6 MiB/s | 81.5 KiB | 00m00s [ 89/192] Installing tar-2:1.35-9.fc45. 100% | 99.1 MiB/s | 3.0 MiB | 00m00s [ 90/192] Installing linkdupes-0:0.7.3- 100% | 34.8 MiB/s | 783.5 KiB | 00m00s [ 91/192] Installing libselinux-utils-0 100% | 13.6 MiB/s | 320.4 KiB | 00m00s [ 92/192] Installing libfdisk-0:2.42.4- 100% | 192.0 MiB/s | 393.2 KiB | 00m00s [ 93/192] Installing fips-provider-0:1. 100% | 344.9 MiB/s | 4.8 MiB | 00m00s [ 94/192] Installing openssl-libs-1:4.0 100% | 318.2 MiB/s | 6.7 MiB | 00m00s [ 95/192] Installing coreutils-0:9.12-1 100% | 138.1 MiB/s | 6.4 MiB | 00m00s [ 96/192] Installing ca-certificates-0: 100% | 2.0 MiB/s | 2.5 MiB | 00m01s [ 97/192] Installing gzip-0:1.14-4.fc45 100% | 17.3 MiB/s | 407.2 KiB | 00m00s [ 98/192] Installing util-linux-0:2.42. 100% | 81.7 MiB/s | 3.8 MiB | 00m00s [ 99/192] Installing policycoreutils-0: 100% | 25.0 MiB/s | 921.4 KiB | 00m00s [100/192] Installing selinux-policy-0:4 100% | 1.3 MiB/s | 34.5 KiB | 00m00s [101/192] Installing selinux-policy-tar 100% | 189.3 MiB/s | 15.1 MiB | 00m00s [102/192] Installing rpm-sequoia-0:1.10 100% | 305.9 MiB/s | 2.4 MiB | 00m00s [103/192] Installing libfsverity-0:1.7- 100% | 24.8 MiB/s | 25.4 KiB | 00m00s [104/192] Installing libevent-0:2.1.13- 100% | 320.5 MiB/s | 984.5 KiB | 00m00s [105/192] Installing ngtcp2-crypto-ossl 100% | 0.0 B/s | 52.5 KiB | 00m00s [106/192] Installing libusb1-0:1.0.30-2 100% | 11.8 MiB/s | 181.8 KiB | 00m00s >>> Running sysusers scriptlet: tpm2-tss-0:4.2.0-1.fc45.x86_64 >>> Finished sysusers scriptlet: tpm2-tss-0:4.2.0-1.fc45.x86_64 >>> Scriptlet output: >>> Creating group 'tss' with GID 59. >>> Creating user 'tss' (Account used for TPM access) with UID 59 and GID 59. >>> [107/192] Installing tpm2-tss-0:4.2.0-1 100% | 238.2 MiB/s | 1.7 MiB | 00m00s [108/192] Installing ima-evm-utils-libs 100% | 56.5 MiB/s | 57.9 KiB | 00m00s [109/192] Installing gnupg2-gpg-agent-0 100% | 21.5 MiB/s | 682.8 KiB | 00m00s [110/192] Installing nettle-0:4.0-5.fc4 100% | 196.5 MiB/s | 805.0 KiB | 00m00s [111/192] Installing gnutls-0:3.8.13-5. 100% | 319.8 MiB/s | 3.8 MiB | 00m00s [112/192] Installing zstd-0:1.5.7-6.fc4 100% | 22.5 MiB/s | 506.1 KiB | 00m00s [113/192] Installing libxml2-0:2.15.4-1 100% | 68.9 MiB/s | 1.7 MiB | 00m00s [114/192] Installing bzip2-0:1.0.8-24.f 100% | 4.9 MiB/s | 99.5 KiB | 00m00s [115/192] Installing add-determinism-0: 100% | 86.4 MiB/s | 2.2 MiB | 00m00s [116/192] Installing build-reproducibil 100% | 1.5 MiB/s | 1.5 KiB | 00m00s [117/192] Installing cpio-0:2.15-10.fc4 100% | 48.0 MiB/s | 1.1 MiB | 00m00s [118/192] Installing ed-0:1.22.6-1.fc46 100% | 7.5 MiB/s | 153.2 KiB | 00m00s [119/192] Installing patch-0:2.8-5.fc45 100% | 11.1 MiB/s | 228.1 KiB | 00m00s [120/192] Installing libpfm-0:4.13.0-23 100% | 432.1 MiB/s | 1.7 MiB | 00m00s [121/192] Installing lz4-libs-0:1.10.0- 100% | 162.5 MiB/s | 166.4 KiB | 00m00s [122/192] Installing libarchive-0:3.8.9 100% | 245.5 MiB/s | 1.0 MiB | 00m00s [123/192] Installing libgomp-0:16.2.1-2 100% | 282.7 MiB/s | 578.9 KiB | 00m00s [124/192] Installing libtool-ltdl-0:2.6 100% | 69.5 MiB/s | 71.1 KiB | 00m00s [125/192] Installing gdbm-libs-1:1.23-1 100% | 132.2 MiB/s | 135.4 KiB | 00m00s [126/192] Installing cyrus-sasl-lib-0:2 100% | 89.9 MiB/s | 2.3 MiB | 00m00s [127/192] Installing openldap-0:2.6.14- 100% | 222.2 MiB/s | 682.7 KiB | 00m00s [128/192] Installing gnupg2-dirmngr-0:2 100% | 20.6 MiB/s | 632.8 KiB | 00m00s [129/192] Installing gnupg2-0:2.4.9-18. 100% | 162.5 MiB/s | 6.5 MiB | 00m00s [130/192] Installing gpgverify-0:2.2-5. 100% | 9.2 MiB/s | 9.4 KiB | 00m00s [131/192] Installing jansson-0:2.14-5.f 100% | 88.2 MiB/s | 90.3 KiB | 00m00s [132/192] Installing libpkgconf-0:2.5.1 100% | 89.1 MiB/s | 91.3 KiB | 00m00s [133/192] Installing pkgconf-0:2.5.1-2. 100% | 4.7 MiB/s | 95.2 KiB | 00m00s [134/192] Installing pkgconf-pkg-config 100% | 93.3 KiB/s | 1.8 KiB | 00m00s [135/192] Installing systemd-standalone 100% | 41.7 MiB/s | 981.8 KiB | 00m00s [136/192] Installing rpm-libs-0:6.1.0-1 100% | 219.8 MiB/s | 1.1 MiB | 00m00s [137/192] Installing rpm-sign-libs-0:6. 100% | 39.5 MiB/s | 40.5 KiB | 00m00s [138/192] Installing rpm-build-libs-0:6 100% | 282.4 MiB/s | 289.2 KiB | 00m00s [139/192] Installing xxhash-libs-0:0.8. 100% | 93.1 MiB/s | 95.4 KiB | 00m00s [140/192] Installing libnghttp2-0:1.69. 100% | 163.3 MiB/s | 167.3 KiB | 00m00s [141/192] Installing libnghttp3-0:1.18. 100% | 161.0 MiB/s | 164.8 KiB | 00m00s [142/192] Installing keyutils-libs-0:1. 100% | 54.3 MiB/s | 55.6 KiB | 00m00s [143/192] Installing libcom_err-0:1.47. 100% | 0.0 B/s | 64.1 KiB | 00m00s [144/192] Installing libverto-0:0.3.2-1 100% | 26.4 MiB/s | 27.1 KiB | 00m00s [145/192] Installing krb5-libs-0:1.22.2 100% | 265.2 MiB/s | 2.4 MiB | 00m00s [146/192] Installing libcbor-0:0.14.0-3 100% | 82.9 MiB/s | 84.9 KiB | 00m00s [147/192] Installing libfido2-0:1.17.0- 100% | 252.0 MiB/s | 258.1 KiB | 00m00s [148/192] Installing libssh-0:0.12.2-1. 100% | 236.9 MiB/s | 727.8 KiB | 00m00s [149/192] Installing libbrotli-0:1.2.0- 100% | 282.3 MiB/s | 867.3 KiB | 00m00s [150/192] Installing libcurl-0:8.23.0~r 100% | 270.5 MiB/s | 1.1 MiB | 00m00s [151/192] Installing elfutils-debuginfo 100% | 3.8 MiB/s | 82.2 KiB | 00m00s [152/192] Installing elfutils-0:0.196-1 100% | 105.9 MiB/s | 3.2 MiB | 00m00s [153/192] Installing binutils-0:2.47.50 100% | 260.5 MiB/s | 24.5 MiB | 00m00s [154/192] Installing gdb-minimal-0:17.2 100% | 217.9 MiB/s | 14.2 MiB | 00m00s [155/192] Installing debugedit-0:5.3-3. 100% | 10.4 MiB/s | 224.1 KiB | 00m00s [156/192] Installing curl-0:8.23.0~rc2- 100% | 15.4 MiB/s | 488.2 KiB | 00m00s [157/192] Installing rpm-0:6.1.0-1.fc46 100% | 58.2 MiB/s | 2.5 MiB | 00m00s [158/192] Installing cmake-srpm-macros- 100% | 0.0 B/s | 804.0 B | 00m00s [159/192] Installing efi-srpm-macros-0: 100% | 0.0 B/s | 41.3 KiB | 00m00s [160/192] Installing java-srpm-macros-0 100% | 186.8 KiB/s | 1.1 KiB | 00m00s [161/192] Installing lua-srpm-macros-0: 100% | 0.0 B/s | 1.9 KiB | 00m00s [162/192] Installing tree-sitter-srpm-m 100% | 0.0 B/s | 9.6 KiB | 00m00s [163/192] Installing zig-srpm-macros-0: 100% | 0.0 B/s | 1.9 KiB | 00m00s [164/192] Installing filesystem-srpm-ma 100% | 0.0 B/s | 38.9 KiB | 00m00s [165/192] Installing rust-srpm-macros-0 100% | 0.0 B/s | 6.4 KiB | 00m00s [166/192] Installing qt6-srpm-macros-0: 100% | 0.0 B/s | 748.0 B | 00m00s [167/192] Installing qt5-srpm-macros-0: 100% | 0.0 B/s | 776.0 B | 00m00s [168/192] Installing perl-srpm-macros-0 100% | 0.0 B/s | 1.1 KiB | 00m00s [169/192] Installing package-notes-srpm 100% | 0.0 B/s | 2.1 KiB | 00m00s [170/192] Installing openblas-srpm-macr 100% | 0.0 B/s | 392.0 B | 00m00s [171/192] Installing ocaml-srpm-macros- 100% | 0.0 B/s | 2.1 KiB | 00m00s [172/192] Installing meson-srpm-macros- 100% | 0.0 B/s | 1.9 KiB | 00m00s [173/192] Installing kernel-srpm-macros 100% | 0.0 B/s | 2.3 KiB | 00m00s [174/192] Installing gnome-srpm-macros- 100% | 0.0 B/s | 4.1 KiB | 00m00s [175/192] Installing gnat-srpm-macros-0 100% | 0.0 B/s | 1.3 KiB | 00m00s [176/192] Installing ghc-srpm-macros-0: 100% | 0.0 B/s | 1.0 KiB | 00m00s [177/192] Installing gap-srpm-macros-0: 100% | 0.0 B/s | 2.7 KiB | 00m00s [178/192] Installing fpc-srpm-macros-0: 100% | 0.0 B/s | 420.0 B | 00m00s [179/192] Installing ansible-srpm-macro 100% | 0.0 B/s | 36.2 KiB | 00m00s [180/192] Installing redhat-rpm-config- 100% | 93.0 MiB/s | 190.4 KiB | 00m00s [181/192] Installing forge-srpm-macros- 100% | 39.3 MiB/s | 40.3 KiB | 00m00s [182/192] Installing rpm-build-0:6.1.0- 100% | 14.3 MiB/s | 322.1 KiB | 00m00s [183/192] Installing erlang-srpm-macros 100% | 0.0 B/s | 2.5 KiB | 00m00s [184/192] Installing pyproject-srpm-mac 100% | 0.0 B/s | 4.0 KiB | 00m00s [185/192] Installing fonts-srpm-macros- 100% | 0.0 B/s | 57.0 KiB | 00m00s [186/192] Installing go-srpm-macros-0:3 100% | 61.6 MiB/s | 63.0 KiB | 00m00s [187/192] Installing R-srpm-macros-0:1. 100% | 0.0 B/s | 4.4 KiB | 00m00s [188/192] Installing python-srpm-macros 100% | 0.0 B/s | 52.9 KiB | 00m00s [189/192] Installing rpm-plugin-selinux 100% | 0.0 B/s | 12.9 KiB | 00m00s [190/192] Installing which-0:2.25-2.fc4 100% | 4.0 MiB/s | 85.8 KiB | 00m00s [191/192] Installing shadow-utils-2:4.2 100% | 109.6 MiB/s | 3.9 MiB | 00m00s [192/192] Installing info-0:7.3-3.fc45. 100% | 45.9 KiB/s | 372.8 KiB | 00m08s Warning: skipped OpenPGP checks for 5 packages from repository: copr_base Complete! Finish: installing minimal buildroot with dnf5 Start: creating root cache Finish: creating root cache Finish: chroot init INFO: Installed packages: INFO: R-srpm-macros-1.3.7-3.fc45.noarch add-determinism-0.7.3-3.fc45.x86_64 alternatives-1.33-6.fc45.x86_64 ansible-srpm-macros-1-22.fc45.noarch audit-libs-4.2.1-2.fc45.x86_64 bash-5.3.15-2.fc45.x86_64 binutils-2.47.50-11.fc46.x86_64 build-reproducibility-srpm-macros-0.7.3-3.fc45.noarch bzip2-1.0.8-24.fc45.x86_64 bzip2-libs-1.0.8-24.fc45.x86_64 ca-certificates-2026.2.90_v9.0.317-1.fc46.noarch cmake-srpm-macros-4.3.0-5.fc45.noarch coreutils-9.12-1.fc46.x86_64 coreutils-common-9.12-1.fc46.x86_64 cpio-2.15-10.fc45.x86_64 crypto-policies-20260713-2.gitc42da77.fc45.noarch curl-8.23.0~rc2-1.fc46.x86_64 cyrus-sasl-lib-2.1.28-37.fc45.x86_64 debugedit-5.3-3.fc45.x86_64 diffutils-3.12-6.fc45.x86_64 dwz-0.17-3.fc45.x86_64 ed-1.22.6-1.fc46.x86_64 efi-srpm-macros-6-9.fc45.noarch elfutils-0.196-1.fc46.x86_64 elfutils-debuginfod-client-0.196-1.fc46.x86_64 elfutils-libelf-0.196-1.fc46.x86_64 elfutils-libs-0.196-1.fc46.x86_64 erlang-srpm-macros-0.3.11-2.fc45.noarch fedora-gpg-keys-46-0.3.noarch fedora-release-46-0.1.noarch fedora-release-common-46-0.1.noarch fedora-release-identity-basic-46-0.1.noarch fedora-repos-46-0.3.noarch fedora-repos-rawhide-46-0.3.noarch file-5.48-3.fc46.x86_64 file-libs-5.48-3.fc46.x86_64 filesystem-3.18-59.fc45.x86_64 filesystem-srpm-macros-3.18-59.fc45.noarch findutils-4.11.0-2.fc45.x86_64 fips-provider-1.5.3-1.fc46.x86_64 fonts-srpm-macros-5.0.0-4.fc45.noarch forge-srpm-macros-0.4.0-5.fc45.noarch fpc-srpm-macros-1.3-17.fc45.noarch gap-srpm-macros-2-3.fc45.noarch gawk-5.4.1-1.fc45.x86_64 gdb-minimal-17.2-6.fc46.x86_64 gdbm-libs-1.23-12.fc45.x86_64 ghc-srpm-macros-1.10-2.fc45.noarch glibc-2.44.9000-2.fc46.x86_64 glibc-common-2.44.9000-2.fc46.x86_64 glibc-gconv-extra-2.44.9000-2.fc46.x86_64 glibc-minimal-langpack-2.44.9000-2.fc46.x86_64 gmp-6.3.0-6.fc45.x86_64 gnat-srpm-macros-7-3.fc45.noarch gnome-srpm-macros-1.0-2.fc45.noarch gnulib-l10n-20241231-4.fc45.noarch gnupg2-2.4.9-18.fc45.x86_64 gnupg2-dirmngr-2.4.9-18.fc45.x86_64 gnupg2-gpg-agent-2.4.9-18.fc45.x86_64 gnupg2-gpgconf-2.4.9-18.fc45.x86_64 gnupg2-keyboxd-2.4.9-18.fc45.x86_64 gnupg2-verify-2.4.9-18.fc45.x86_64 gnutls-3.8.13-5.fc46.x86_64 go-srpm-macros-3.8.0-3.fc45.noarch gpg-pubkey-4f50a6114cd5c6976a7f1179655a4b02f577861e-6888bc98 gpg-pubkey-b2e766fa50ca6fa2d5ed06fc09d879e09488fb64-6a6b46b4 gpg-pubkey-d924b10d3e810dabdd8b56b596e7e91491211fce-697c9899 gpgverify-2.2-5.fc45.noarch grep-3.12-4.fc45.x86_64 gzip-1.14-4.fc45.x86_64 ima-evm-utils-libs-1.6.2-12.fc45.x86_64 info-7.3-3.fc45.x86_64 jansson-2.14-5.fc45.x86_64 java-srpm-macros-1-9.fc45.noarch json-c-0.18-9.fc45.x86_64 kernel-srpm-macros-1.0-30.fc45.noarch keyutils-libs-1.6.3-8.fc45.x86_64 krb5-libs-1.22.2-9.fc45.x86_64 libacl-2.4.0-2.fc45.x86_64 libarchive-3.8.9-2.fc46.x86_64 libassuan-2.5.7-6.fc45.x86_64 libattr-2.6.0-2.fc45.x86_64 libblkid-2.42.4-2.fc46.x86_64 libbrotli-1.2.0-6.fc45.x86_64 libcap-2.78-2.fc45.x86_64 libcap-ng-0.9.6-1.fc46.x86_64 libcbor-0.14.0-3.fc45.x86_64 libcom_err-1.47.4-2.fc45.x86_64 libcurl-8.23.0~rc2-1.fc46.x86_64 libeconf-0.7.9-4.fc45.x86_64 libevent-2.1.13-1.fc46.x86_64 libfdisk-2.42.4-2.fc46.x86_64 libffi-3.8.0-1.fc46.x86_64 libfido2-1.17.0-5.fc45.x86_64 libfsverity-1.7-4.fc45.x86_64 libgcc-16.2.1-2.fc46.1.x86_64 libgcrypt-1.12.4-1.fc46.x86_64 libgomp-16.2.1-2.fc46.1.x86_64 libgpg-error-1.61-2.fc45.x86_64 libidn2-2.3.8-4.fc45.x86_64 libksba-1.8.1-1.fc46.x86_64 liblastlog2-2.42.4-2.fc46.x86_64 libmount-2.42.4-2.fc46.x86_64 libnghttp2-1.69.0-6.fc46.x86_64 libnghttp3-1.18.0-1.fc45.x86_64 libpfm-4.13.0-23.fc45.x86_64 libpkgconf-2.5.1-2.fc45.x86_64 libpsl-0.23.3-1.fc46.x86_64 libselinux-3.11-5.fc46.x86_64 libselinux-utils-3.11-5.fc46.x86_64 libsemanage-3.11-4.fc46.x86_64 libsepol-3.11-2.fc45.x86_64 libsmartcols-2.42.4-2.fc46.x86_64 libssh-0.12.2-1.fc45.x86_64 libssh-config-0.12.2-1.fc45.noarch libstdc++-16.2.1-2.fc46.1.x86_64 libtasn1-4.21.0-2.fc45.x86_64 libtool-ltdl-2.6.2-1.fc46.x86_64 libunistring-1.1-12.fc45.x86_64 libusb1-1.0.30-2.fc45.x86_64 libuuid-2.42.4-2.fc46.x86_64 libverto-0.3.2-13.fc45.x86_64 libxcrypt-4.5.2-4.fc45.x86_64 libxml2-2.15.4-1.fc46.x86_64 libzstd-1.5.7-6.fc45.x86_64 linkdupes-0.7.3-3.fc45.x86_64 lua-libs-5.5.1-2.fc46.x86_64 lua-srpm-macros-1-18.fc45.noarch lz4-libs-1.10.0-5.fc45.x86_64 meson-srpm-macros-1.12.1-2.fc46.noarch mpfr-4.2.2-4.fc45.x86_64 ncurses-base-6.6-3.fc45.noarch ncurses-libs-6.6-3.fc45.x86_64 nettle-4.0-5.fc45.x86_64 ngtcp2-1.22.1-3.fc45.x86_64 ngtcp2-crypto-ossl-1.22.1-3.fc45.x86_64 npth-1.8-5.fc45.x86_64 ocaml-srpm-macros-11-4.fc45.noarch openblas-srpm-macros-2-22.fc45.noarch openldap-2.6.14-1.fc46.x86_64 openssl-libs-4.0.2-3.fc46.x86_64 p11-kit-0.26.5-1.fc45.x86_64 p11-kit-trust-0.26.5-1.fc45.x86_64 package-notes-srpm-macros-0.20-2.fc45.noarch pam-libs-1.7.2-4.fc45.x86_64 patch-2.8-5.fc45.x86_64 pcre2-10.47-1.fc45.2.x86_64 pcre2-syntax-10.47-1.fc45.2.noarch perl-srpm-macros-1-65.fc45.noarch pkgconf-2.5.1-2.fc45.x86_64 pkgconf-m4-2.5.1-2.fc45.noarch pkgconf-pkg-config-2.5.1-2.fc45.x86_64 policycoreutils-3.11-2.fc46.x86_64 popt-1.19-11.fc45.x86_64 publicsuffix-list-dafsa-20260624-2.fc45.noarch pyproject-srpm-macros-1.23.2-1.fc46.noarch python-srpm-macros-3.15-2.fc45.noarch qt5-srpm-macros-5.15.18-3.fc45.noarch qt6-srpm-macros-6.11.2-1.fc46.noarch readline-8.3-6.fc45.x86_64 redhat-rpm-config-345-4.fc46.noarch redhat-systemd-presets-102-3.fc45.noarch redhat-systemd-presets-common-102-3.fc45.noarch rpm-6.1.0-1.fc46.x86_64 rpm-build-6.1.0-1.fc46.x86_64 rpm-build-libs-6.1.0-1.fc46.x86_64 rpm-libs-6.1.0-1.fc46.x86_64 rpm-plugin-selinux-6.1.0-1.fc46.x86_64 rpm-sequoia-1.10.3-1.fc46.x86_64 rpm-sign-libs-6.1.0-1.fc46.x86_64 rust-srpm-macros-28.5-2.fc45.noarch sed-4.10-2.fc45.x86_64 selinux-policy-45.19-1.fc46.noarch selinux-policy-targeted-45.19-1.fc46.noarch setup-2.15.1-2.fc45.noarch shadow-utils-4.20.0-1.fc45.x86_64 sqlite-libs-3.53.4-1.fc45.x86_64 systemd-libs-262-1.fc46.x86_64 systemd-standalone-sysusers-262-1.fc46.x86_64 tar-1.35-9.fc45.x86_64 tpm2-tss-4.2.0-1.fc45.x86_64 tree-sitter-srpm-macros-0.4.6-2.fc45.noarch unzip-6.0-71.fc45.x86_64 util-linux-2.42.4-2.fc46.x86_64 util-linux-core-2.42.4-2.fc46.x86_64 which-2.25-2.fc45.x86_64 xxhash-libs-0.8.4-1.fc46.x86_64 xz-5.8.4-1.fc46.x86_64 xz-libs-5.8.4-1.fc46.x86_64 zig-srpm-macros-1-9.fc45.noarch zip-3.0-46.fc45.x86_64 zlib-ng-compat-2.3.3-6.fc45.x86_64 zstd-1.5.7-6.fc45.x86_64 Start: buildsrpm Start: rpmbuild -bs Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1790121600 Wrote: /builddir/build/SRPMS/esptool-5.4.0-1.fc46.src.rpm Finish: rpmbuild -bs INFO: chroot_scan: 1 files copied to /var/lib/copr-rpmbuild/results/chroot_scan INFO: /var/lib/mock/fedora-rawhide-x86_64-1790591952.012801/root/var/log/dnf5.log INFO: chroot_scan: creating tarball /var/lib/copr-rpmbuild/results/chroot_scan.tar.gz /bin/tar: Removing leading `/' from member names Finish: buildsrpm INFO: Done(/var/lib/copr-rpmbuild/workspace/workdir-1cd0olb5/esptool/esptool.spec) Config(child) 0 minutes 27 seconds INFO: Results and/or logs in: /var/lib/copr-rpmbuild/results INFO: Cleaning up build root ('cleanup_on_success=True') Start: clean chroot INFO: unmounting tmpfs. Finish: clean chroot INFO: Start(/var/lib/copr-rpmbuild/results/esptool-5.4.0-1.fc46.src.rpm) Config(fedora-rawhide-x86_64) Start(bootstrap): chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-rawhide-x86_64-bootstrap-1790591952.012801/root. INFO: reusing tmpfs at /var/lib/mock/fedora-rawhide-x86_64-bootstrap-1790591952.012801/root. INFO: calling preinit hooks INFO: enabled root cache INFO: enabled package manager cache Start(bootstrap): cleaning package manager metadata Finish(bootstrap): cleaning package manager metadata Finish(bootstrap): chroot init Start: chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-rawhide-x86_64-1790591952.012801/root. INFO: calling preinit hooks INFO: enabled root cache Start: unpacking root cache Finish: unpacking root cache INFO: enabled package manager cache Start: cleaning package manager metadata Finish: cleaning package manager metadata INFO: enabled HW Info plugin INFO: Buildroot is handled by package management downloaded with a bootstrap image: rpm-6.1.0-1.fc46.x86_64 rpm-sequoia-1.10.3-1.fc46.x86_64 dnf5-5.4.6.0-1.fc46.x86_64 dnf5-plugins-5.4.6.0-1.fc46.x86_64 Finish: chroot init Start: build phase for esptool-5.4.0-1.fc46.src.rpm Start: build setup for esptool-5.4.0-1.fc46.src.rpm Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1790121600 Wrote: /builddir/build/SRPMS/esptool-5.4.0-1.fc46.src.rpm Updating and loading repositories: fedora 100% | 144.7 KiB/s | 24.0 KiB | 00m00s Copr repository 100% | 170.9 KiB/s | 1.5 KiB | 00m00s Repositories loaded. Package Arch Version Repository Size Installing: python3-devel x86_64 0:3.15.0~rc2-1.fc46 fedora 2.5 MiB python3-pyelftools noarch 0:0.33-3.fc45 fedora 2.2 MiB python3-pytest noarch 0:9.1.1-1.fc45 fedora 24.3 MiB python3-pytest-rerunfailures noarch 0:15.0-9.fc45 fedora 85.3 KiB python3-requests noarch 0:2.34.2-2.fc45 fedora 679.2 KiB Installing dependencies: expat x86_64 0:2.8.3-1.fc46 fedora 338.4 KiB mpdecimal x86_64 0:4.0.1-4.fc45 fedora 221.2 KiB pyproject-rpm-macros noarch 0:1.23.2-1.fc46 copr_base 156.3 KiB python-pip-wheel noarch 0:26.2.1-1.fc46 fedora 1.3 MiB python-rpm-macros noarch 0:3.15-2.fc45 fedora 28.0 KiB python3 x86_64 0:3.15.0~rc2-1.fc46 fedora 28.7 KiB python3-charset-normalizer noarch 0:3.5.1-1.fc46 copr_base 477.3 KiB python3-idna noarch 0:3.19-1.fc46 fedora 510.6 KiB python3-iniconfig noarch 0:2.3.0-5.fc45 fedora 49.6 KiB python3-libs x86_64 0:3.15.0~rc2-1.fc46 fedora 48.2 MiB python3-packaging noarch 0:26.3-1.fc46 fedora 1.3 MiB python3-pluggy noarch 0:1.6.0-8.fc45 fedora 216.0 KiB python3-pygments noarch 0:2.20.0-5.fc45 fedora 11.3 MiB python3-rpm-generators noarch 0:14-35.fc46 fedora 81.9 KiB python3-rpm-macros noarch 0:3.15-2.fc45 fedora 6.5 KiB python3-urllib3 noarch 0:2.8.0-1.fc46 copr_base 1.2 MiB tzdata noarch 0:2026c-2.fc46 fedora 1.2 MiB Transaction Summary: Installing: 22 packages Total size of inbound packages is 21 MiB. Need to download 21 MiB. After this operation, 96 MiB extra will be used (install 96 MiB, remove 0 B). [ 1/22] python3-devel-0:3.15.0~rc2-1.fc 100% | 67.3 MiB/s | 482.7 KiB | 00m00s [ 2/22] python3-pyelftools-0:0.33-3.fc4 100% | 43.8 MiB/s | 448.5 KiB | 00m00s [ 3/22] python3-pytest-rerunfailures-0: 100% | 10.5 MiB/s | 32.2 KiB | 00m00s [ 4/22] python3-requests-0:2.34.2-2.fc4 100% | 23.0 MiB/s | 188.0 KiB | 00m00s [ 5/22] python3-iniconfig-0:2.3.0-5.fc4 100% | 5.0 MiB/s | 25.8 KiB | 00m00s [ 6/22] python3-packaging-0:26.3-1.fc46 100% | 57.3 MiB/s | 293.6 KiB | 00m00s [ 7/22] python3-pluggy-0:1.6.0-8.fc45.n 100% | 29.9 MiB/s | 61.3 KiB | 00m00s [ 8/22] python3-pytest-0:9.1.1-1.fc45.n 100% | 73.6 MiB/s | 2.5 MiB | 00m00s [ 9/22] expat-0:2.8.3-1.fc46.x86_64 100% | 12.9 MiB/s | 132.0 KiB | 00m00s [10/22] python3-libs-0:3.15.0~rc2-1.fc4 100% | 228.8 MiB/s | 11.2 MiB | 00m00s [11/22] python3-pygments-0:2.20.0-5.fc4 100% | 78.2 MiB/s | 2.7 MiB | 00m00s [12/22] mpdecimal-0:4.0.1-4.fc45.x86_64 100% | 4.8 MiB/s | 98.5 KiB | 00m00s [13/22] tzdata-0:2026c-2.fc46.noarch 100% | 115.9 MiB/s | 712.1 KiB | 00m00s [14/22] python3-0:3.15.0~rc2-1.fc46.x86 100% | 13.4 MiB/s | 27.5 KiB | 00m00s [15/22] python3-idna-0:3.19-1.fc46.noar 100% | 21.0 MiB/s | 107.7 KiB | 00m00s [16/22] python-pip-wheel-0:26.2.1-1.fc4 100% | 198.8 MiB/s | 1.2 MiB | 00m00s [17/22] python-rpm-macros-0:3.15-2.fc45 100% | 19.3 MiB/s | 19.8 KiB | 00m00s [18/22] python3-rpm-generators-0:14-35. 100% | 28.2 MiB/s | 28.8 KiB | 00m00s [19/22] python3-rpm-macros-0:3.15-2.fc4 100% | 11.9 MiB/s | 12.2 KiB | 00m00s [20/22] pyproject-rpm-macros-0:1.23.2-1 100% | 17.8 MiB/s | 54.8 KiB | 00m00s [21/22] python3-urllib3-0:2.8.0-1.fc46. 100% | 11.9 MiB/s | 293.3 KiB | 00m00s [22/22] python3-charset-normalizer-0:3. 100% | 2.9 MiB/s | 133.3 KiB | 00m00s -------------------------------------------------------------------------------- [22/22] Total 100% | 154.0 MiB/s | 20.6 MiB | 00m00s Running transaction [ 1/24] Verify package files 100% | 278.0 B/s | 22.0 B | 00m00s [ 2/24] Prepare transaction 100% | 511.0 B/s | 22.0 B | 00m00s [ 3/24] Installing python-rpm-macros-0: 100% | 28.2 MiB/s | 28.9 KiB | 00m00s [ 4/24] Installing python3-rpm-macros-0 100% | 0.0 B/s | 6.8 KiB | 00m00s [ 5/24] Installing pyproject-rpm-macros 100% | 154.9 MiB/s | 158.6 KiB | 00m00s [ 6/24] Installing python-pip-wheel-0:2 100% | 211.4 MiB/s | 1.3 MiB | 00m00s [ 7/24] Installing tzdata-0:2026c-2.fc4 100% | 47.0 MiB/s | 1.5 MiB | 00m00s [ 8/24] Installing mpdecimal-0:4.0.1-4. 100% | 108.7 MiB/s | 222.7 KiB | 00m00s [ 9/24] Installing expat-0:2.8.3-1.fc46 100% | 11.9 MiB/s | 340.5 KiB | 00m00s [10/24] Installing python3-libs-0:3.15. 100% | 277.9 MiB/s | 48.6 MiB | 00m00s [11/24] Installing python3-0:3.15.0~rc2 100% | 1.4 MiB/s | 30.5 KiB | 00m00s [12/24] Installing python3-packaging-0: 100% | 261.2 MiB/s | 1.3 MiB | 00m00s [13/24] Installing python3-idna-0:3.19- 100% | 23.0 MiB/s | 518.5 KiB | 00m00s [14/24] Installing python3-urllib3-0:2. 100% | 240.2 MiB/s | 1.2 MiB | 00m00s [15/24] Installing python3-rpm-generato 100% | 81.1 MiB/s | 83.1 KiB | 00m00s [16/24] Installing python3-iniconfig-0: 100% | 52.7 MiB/s | 54.0 KiB | 00m00s [17/24] Installing python3-pluggy-0:1.6 100% | 54.3 MiB/s | 222.4 KiB | 00m00s [18/24] Installing python3-pygments-0:2 100% | 172.2 MiB/s | 11.5 MiB | 00m00s [19/24] Installing python3-pytest-0:9.1 100% | 309.4 MiB/s | 24.4 MiB | 00m00s [20/24] Installing python3-charset-norm 100% | 21.6 MiB/s | 487.4 KiB | 00m00s [21/24] Installing python3-requests-0:2 100% | 225.3 MiB/s | 692.0 KiB | 00m00s [22/24] Installing python3-pytest-rerun 100% | 42.9 MiB/s | 87.9 KiB | 00m00s [23/24] Installing python3-devel-0:3.15 100% | 83.4 MiB/s | 2.5 MiB | 00m00s [24/24] Installing python3-pyelftools-0 100% | 42.5 MiB/s | 2.2 MiB | 00m00s Warning: skipped OpenPGP checks for 3 packages from repository: copr_base Complete! Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1790121600 Wrote: /builddir/build/SRPMS/esptool-5.4.0-1.fc46.src.rpm Updating and loading repositories: fedora 100% | 155.0 KiB/s | 24.0 KiB | 00m00s Copr repository 100% | 139.8 KiB/s | 1.5 KiB | 00m00s Repositories loaded. Nothing to do. Package "python3-devel-3.15.0~rc2-1.fc46.x86_64" is already installed. Package "python3-pyelftools-0.33-3.fc45.noarch" is already installed. Package "python3-pytest-9.1.1-1.fc45.noarch" is already installed. Package "python3-pytest-rerunfailures-15.0-9.fc45.noarch" is already installed. Package "python3-requests-2.34.2-2.fc45.noarch" is already installed. Finish: build setup for esptool-5.4.0-1.fc46.src.rpm Start: rpmbuild esptool-5.4.0-1.fc46.src.rpm Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1790121600 Executing(mkbuilddir): /bin/sh -e /var/tmp/rpm-tmp.BR1YMp Creating(rpmbuild.env): /builddir/build/BUILD/esptool-5.4.0-build/rpmbuild.env RPM_SOURCE_DIR="/builddir/build/SOURCES" RPM_BUILD_DIR="/builddir/build/BUILD/esptool-5.4.0-build" RPM_OPT_FLAGS="-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wno-complain-wrong-lang -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer" RPM_LD_FLAGS="-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes " RPM_ARCH="x86_64" RPM_OS="linux" RPM_BUILD_NCPUS="4" RPM_SPECPARTS_DIR="/builddir/build/BUILD/esptool-5.4.0-build/SPECPARTS" export RPM_SOURCE_DIR RPM_BUILD_DIR RPM_OPT_FLAGS RPM_ARCH RPM_OS RPM_BUILD_NCPUS RPM_SPECPARTS_DIR RPM_LD_FLAGS RPM_DOC_DIR="/usr/share/doc" export RPM_DOC_DIR RPM_PACKAGE_NAME="esptool" RPM_PACKAGE_VERSION="5.4.0" RPM_PACKAGE_RELEASE="1.fc46" export RPM_PACKAGE_NAME RPM_PACKAGE_VERSION RPM_PACKAGE_RELEASE LANG=C.UTF-8 export LANG unset CDPATH DISPLAY ||: unset DEBUGINFOD_URLS ||: unset RPM_CONFIG_DIR ||: RPM_BUILD_ROOT="/builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT" export RPM_BUILD_ROOT PKG_CONFIG_PATH="${PKG_CONFIG_PATH}:/usr/lib64/pkgconfig:/usr/share/pkgconfig" export PKG_CONFIG_PATH CONFIG_SITE=${CONFIG_SITE:-NONE} export CONFIG_SITE Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.kNO10E + umask 022 + cd /builddir/build/BUILD/esptool-5.4.0-build + cd /builddir/build/BUILD/esptool-5.4.0-build + rm -rf esptool-5.4.0 + /usr/bin/rpmuncompress -x /builddir/build/SOURCES/esptool-5.4.0.tar.gz + STATUS=0 + '[' 0 -ne 0 ']' + cd esptool-5.4.0 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + RPM_EC=0 ++ jobs -p + exit 0 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.f0Rhta + umask 022 + cd /builddir/build/BUILD/esptool-5.4.0-build + cd esptool-5.4.0 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(packaging)' + echo 'python3dist(pip) >= 19' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/esptool-5.4.0-build/.pyproject-builddir + echo -n + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + VALAFLAGS=-g + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes --cap-lints=warn' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + LT_SYS_LIBRARY_PATH=/usr/lib64: + CC=gcc + CXX=g++ + TMPDIR=/builddir/build/BUILD/esptool-5.4.0-build/.pyproject-builddir + RPM_TOXENV=py315 + FEDORA=46 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/esptool-5.4.0-build/pyproject-wheeldir --output /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0-1.fc46.x86_64-pyproject-buildrequires --dep-overrides-file /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0-1.fc46.x86_64-pyproject-dep-overrides Handling setuptools>=64 from build-system.requires Requirement not satisfied: setuptools>=64 Exiting dependency generation pass: build backend + cat /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0-1.fc46.x86_64-pyproject-buildrequires + rm -rfv '*.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/esptool-5.4.0-1.fc46.buildreqs.nosrc.rpm INFO: Going to install missing dynamic buildrequires Updating and loading repositories: fedora 100% | 174.1 KiB/s | 24.0 KiB | 00m00s Copr repository 100% | 192.3 KiB/s | 1.5 KiB | 00m00s Repositories loaded. Package "pyproject-rpm-macros-1.23.2-1.fc46.noarch" is already installed. Package "python3-devel-3.15.0~rc2-1.fc46.x86_64" is already installed. Package "python3-pyelftools-0.33-3.fc45.noarch" is already installed. Package "python3-pytest-9.1.1-1.fc45.noarch" is already installed. Package "python3-pytest-rerunfailures-15.0-9.fc45.noarch" is already installed. Package "python3-requests-2.34.2-2.fc45.noarch" is already installed. Package "python3-packaging-26.3-1.fc46.noarch" is already installed. Package Arch Version Repository Size Installing: python3-pip noarch 0:26.2.1-1.fc46 fedora 12.3 MiB python3-setuptools noarch 0:84.0.0-2.fc46 copr_base 7.4 MiB Transaction Summary: Installing: 2 packages Total size of inbound packages is 4 MiB. Need to download 4 MiB. After this operation, 20 MiB extra will be used (install 20 MiB, remove 0 B). [1/2] python3-setuptools-0:84.0.0-2.fc4 100% | 158.3 MiB/s | 1.6 MiB | 00m00s [2/2] python3-pip-0:26.2.1-1.fc46.noarc 100% | 107.2 MiB/s | 2.8 MiB | 00m00s -------------------------------------------------------------------------------- [2/2] Total 100% | 124.9 MiB/s | 4.4 MiB | 00m00s Running transaction [1/4] Verify package files 100% | 111.0 B/s | 2.0 B | 00m00s [2/4] Prepare transaction 100% | 74.0 B/s | 2.0 B | 00m00s [3/4] Installing python3-setuptools-0:8 100% | 180.1 MiB/s | 7.6 MiB | 00m00s [4/4] Installing python3-pip-0:26.2.1-1 100% | 127.9 MiB/s | 12.5 MiB | 00m00s Warning: skipped OpenPGP checks for 1 package from repository: copr_base Complete! Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1790121600 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.rhBrDU + umask 022 + cd /builddir/build/BUILD/esptool-5.4.0-build + cd esptool-5.4.0 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(packaging)' + echo 'python3dist(pip) >= 19' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/esptool-5.4.0-build/.pyproject-builddir + echo -n + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + VALAFLAGS=-g + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes --cap-lints=warn' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + LT_SYS_LIBRARY_PATH=/usr/lib64: + CC=gcc + CXX=g++ + TMPDIR=/builddir/build/BUILD/esptool-5.4.0-build/.pyproject-builddir + RPM_TOXENV=py315 + FEDORA=46 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/esptool-5.4.0-build/pyproject-wheeldir --output /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0-1.fc46.x86_64-pyproject-buildrequires --dep-overrides-file /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0-1.fc46.x86_64-pyproject-dep-overrides Handling setuptools>=64 from build-system.requires Requirement satisfied: setuptools>=64 (installed: setuptools 84.0.0) /usr/lib/python3.15/site-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated !! ******************************************************************************** Please use a simple string containing a SPDX expression for `project.license`. You can also use `project.license-files`. (Both options available on setuptools>=77.0.0). By 2027-Feb-18, you need to update your project and remove deprecated calls or your builds will no longer be supported. See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! corresp(dist, value, root_dir) /usr/lib/python3.15/site-packages/setuptools/config/_apply_pyprojecttoml.py:61: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+) See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! dist._finalize_license_expression() /usr/lib/python3.15/site-packages/setuptools/dist.py:765: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+) See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! self._finalize_license_expression() running egg_info creating esptool.egg-info writing esptool.egg-info/PKG-INFO writing dependency_links to esptool.egg-info/dependency_links.txt writing entry points to esptool.egg-info/entry_points.txt writing requirements to esptool.egg-info/requires.txt writing top-level names to esptool.egg-info/top_level.txt writing manifest file 'esptool.egg-info/SOURCES.txt' reading manifest file 'esptool.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' no previously-included directories found matching '.github' no previously-included directories found matching 'docs' warning: no previously-included files found matching '.git*' adding license file 'LICENSE' writing manifest file 'esptool.egg-info/SOURCES.txt' running dist_info writing esptool.egg-info/PKG-INFO writing dependency_links to esptool.egg-info/dependency_links.txt writing entry points to esptool.egg-info/entry_points.txt writing requirements to esptool.egg-info/requires.txt writing top-level names to esptool.egg-info/top_level.txt reading manifest file 'esptool.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' no previously-included directories found matching '.github' no previously-included directories found matching 'docs' warning: no previously-included files found matching '.git*' adding license file 'LICENSE' writing manifest file 'esptool.egg-info/SOURCES.txt' creating '/builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/esptool-5.4.0.dist-info' Handling bitstring!=4.2.0,>=3.1.6 from hook generated metadata: Requires-Dist (esptool) Requirement not satisfied: bitstring!=4.2.0,>=3.1.6 Handling cryptography>=43.0.0 from hook generated metadata: Requires-Dist (esptool) Requirement not satisfied: cryptography>=43.0.0 Handling pyserial>=3.3 from hook generated metadata: Requires-Dist (esptool) Requirement not satisfied: pyserial>=3.3 Handling reedsolo<1.8,>=1.5.3 from hook generated metadata: Requires-Dist (esptool) Requirement not satisfied: reedsolo<1.8,>=1.5.3 Handling PyYAML>=5.1 from hook generated metadata: Requires-Dist (esptool) Requirement not satisfied: PyYAML>=5.1 Handling intelhex from hook generated metadata: Requires-Dist (esptool) Requirement not satisfied: intelhex Handling rich_click<2 from hook generated metadata: Requires-Dist (esptool) Requirement not satisfied: rich_click<2 Handling click<9 from hook generated metadata: Requires-Dist (esptool) Requirement not satisfied: click<9 Handling esp-pylib[cli,ide,serial]>=1.0.0 from hook generated metadata: Requires-Dist (esptool) Requirement not satisfied: esp-pylib[cli,ide,serial]>=1.0.0 Handling pyelftools; extra == "dev" from hook generated metadata: Requires-Dist (esptool) Ignoring alien requirement: pyelftools; extra == "dev" Handling coverage~=6.0; extra == "dev" from hook generated metadata: Requires-Dist (esptool) Ignoring alien requirement: coverage~=6.0; extra == "dev" Handling pre-commit; extra == "dev" from hook generated metadata: Requires-Dist (esptool) Ignoring alien requirement: pre-commit; extra == "dev" Handling pytest; extra == "dev" from hook generated metadata: Requires-Dist (esptool) Ignoring alien requirement: pytest; extra == "dev" Handling pytest-rerunfailures; extra == "dev" from hook generated metadata: Requires-Dist (esptool) Ignoring alien requirement: pytest-rerunfailures; extra == "dev" Handling requests; extra == "dev" from hook generated metadata: Requires-Dist (esptool) Ignoring alien requirement: requests; extra == "dev" Handling czespressif; extra == "dev" from hook generated metadata: Requires-Dist (esptool) Ignoring alien requirement: czespressif; extra == "dev" Handling python-pkcs11; extra == "hsm" from hook generated metadata: Requires-Dist (esptool) Ignoring alien requirement: python-pkcs11; extra == "hsm" Handling esp-docs<3,>=2.1.4; extra == "docs" from hook generated metadata: Requires-Dist (esptool) Ignoring alien requirement: esp-docs<3,>=2.1.4; extra == "docs" Handling sphinx-tabs; extra == "docs" from hook generated metadata: Requires-Dist (esptool) Ignoring alien requirement: sphinx-tabs; extra == "docs" + cat /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0-1.fc46.x86_64-pyproject-buildrequires + rm -rfv esptool-5.4.0.dist-info/ removed 'esptool-5.4.0.dist-info/licenses/LICENSE' removed directory 'esptool-5.4.0.dist-info/licenses' removed 'esptool-5.4.0.dist-info/METADATA' removed 'esptool-5.4.0.dist-info/entry_points.txt' removed 'esptool-5.4.0.dist-info/top_level.txt' removed directory 'esptool-5.4.0.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/esptool-5.4.0-1.fc46.buildreqs.nosrc.rpm INFO: Going to install missing dynamic buildrequires Updating and loading repositories: fedora 100% | 158.1 KiB/s | 24.0 KiB | 00m00s Copr repository 100% | 170.9 KiB/s | 1.5 KiB | 00m00s Repositories loaded. Package "pyproject-rpm-macros-1.23.2-1.fc46.noarch" is already installed. Package "python3-devel-3.15.0~rc2-1.fc46.x86_64" is already installed. Package "python3-pyelftools-0.33-3.fc45.noarch" is already installed. Package "python3-pytest-9.1.1-1.fc45.noarch" is already installed. Package "python3-pytest-rerunfailures-15.0-9.fc45.noarch" is already installed. Package "python3-requests-2.34.2-2.fc45.noarch" is already installed. Package "python3-packaging-26.3-1.fc46.noarch" is already installed. Package "python3-pip-26.2.1-1.fc46.noarch" is already installed. Package "python3-setuptools-84.0.0-2.fc46.noarch" is already installed. Package Arch Version Repository Size Installing: python3-bitstring noarch 0:4.3.1-1.fc46 fedora 900.6 KiB python3-click noarch 1:8.4.2-1.fc45 fedora 1.3 MiB python3-cryptography x86_64 0:50.0.0-1.fc46 fedora 7.0 MiB python3-esp-pylib noarch 0:1.1.4-1.fc46 fedora 345.6 KiB python3-esp-pylib+cli noarch 0:1.1.4-1.fc46 fedora 0.0 B python3-esp-pylib+ide noarch 0:1.1.4-1.fc46 fedora 0.0 B python3-esp-pylib+serial noarch 0:1.1.4-1.fc46 fedora 0.0 B python3-intelhex noarch 0:2.3.0-24.fc45 copr_base 399.9 KiB python3-pyserial noarch 0:3.5-25.fc45 fedora 875.1 KiB python3-pyyaml x86_64 0:6.0.3-6.fc45 fedora 794.2 KiB python3-reedsolo x86_64 0:1.7.0-18.fc45 fedora 625.2 KiB python3-rich-click noarch 0:1.8.9-6.fc45 fedora 324.8 KiB Installing dependencies: less x86_64 0:710-1.fc46 fedora 488.7 KiB libyaml x86_64 0:0.2.5-19.fc45 fedora 138.5 KiB python3-bitarray x86_64 0:3.10.1-1.fc45 fedora 1.3 MiB python3-cffi x86_64 0:2.1.1-1.fc46 fedora 1.4 MiB python3-markdown-it-py noarch 0:4.2.0-2.fc45 fedora 577.0 KiB python3-mdurl noarch 0:0.1.2-16.fc45 fedora 44.3 KiB python3-pycparser noarch 0:3.00-4.fc45 fedora 685.5 KiB python3-rich noarch 0:15.0.0-5.fc46 copr_base 3.5 MiB python3-typing-extensions noarch 0:4.16.0-4.fc46 copr_base 554.7 KiB python3-websockets x86_64 0:15.0.1-14.fc45 fedora 1.8 MiB Transaction Summary: Installing: 22 packages Total size of inbound packages is 6 MiB. Need to download 6 MiB. After this operation, 23 MiB extra will be used (install 23 MiB, remove 0 B). [ 1/22] python3-esp-pylib-0:1.1.4-1.fc4 100% | 26.5 MiB/s | 108.4 KiB | 00m00s [ 2/22] python3-esp-pylib+cli-0:1.1.4-1 100% | 2.4 MiB/s | 7.5 KiB | 00m00s [ 3/22] python3-esp-pylib+serial-0:1.1. 100% | 1.8 MiB/s | 7.4 KiB | 00m00s [ 4/22] python3-reedsolo-0:1.7.0-18.fc4 100% | 28.0 MiB/s | 229.0 KiB | 00m00s [ 5/22] python3-esp-pylib+ide-0:1.1.4-1 100% | 1.2 MiB/s | 7.3 KiB | 00m00s [ 6/22] python3-pyserial-0:3.5-25.fc45. 100% | 37.5 MiB/s | 230.6 KiB | 00m00s [ 7/22] python3-bitstring-0:4.3.1-1.fc4 100% | 29.9 MiB/s | 183.6 KiB | 00m00s [ 8/22] python3-click-1:8.4.2-1.fc45.no 100% | 47.4 MiB/s | 291.5 KiB | 00m00s [ 9/22] python3-cryptography-0:50.0.0-1 100% | 187.7 MiB/s | 1.9 MiB | 00m00s [10/22] python3-pyyaml-0:6.0.3-6.fc45.x 100% | 23.3 MiB/s | 238.9 KiB | 00m00s [11/22] python3-rich-click-0:1.8.9-6.fc 100% | 31.8 MiB/s | 97.8 KiB | 00m00s [12/22] python3-websockets-0:15.0.1-14. 100% | 82.2 MiB/s | 336.8 KiB | 00m00s [13/22] python3-bitarray-0:3.10.1-1.fc4 100% | 38.2 MiB/s | 313.1 KiB | 00m00s [14/22] less-0:710-1.fc46.x86_64 100% | 32.3 MiB/s | 231.6 KiB | 00m00s [15/22] libyaml-0:0.2.5-19.fc45.x86_64 100% | 20.3 MiB/s | 62.4 KiB | 00m00s [16/22] python3-intelhex-0:2.3.0-24.fc4 100% | 3.6 MiB/s | 91.9 KiB | 00m00s [17/22] python3-markdown-it-py-0:4.2.0- 100% | 29.7 MiB/s | 213.0 KiB | 00m00s [18/22] python3-mdurl-0:0.1.2-16.fc45.n 100% | 10.2 MiB/s | 31.3 KiB | 00m00s [19/22] python3-typing-extensions-0:4.1 100% | 27.9 MiB/s | 114.1 KiB | 00m00s [20/22] python3-cffi-0:2.1.1-1.fc46.x86 100% | 107.3 MiB/s | 329.8 KiB | 00m00s [21/22] python3-pycparser-0:3.00-4.fc45 100% | 46.6 MiB/s | 143.3 KiB | 00m00s [22/22] python3-rich-0:15.0.0-5.fc46.no 100% | 5.3 MiB/s | 618.8 KiB | 00m00s -------------------------------------------------------------------------------- [22/22] Total 100% | 34.8 MiB/s | 5.7 MiB | 00m00s Running transaction [ 1/24] Verify package files 100% | 956.0 B/s | 22.0 B | 00m00s [ 2/24] Prepare transaction 100% | 666.0 B/s | 22.0 B | 00m00s [ 3/24] Installing python3-pycparser-0: 100% | 169.8 MiB/s | 695.3 KiB | 00m00s [ 4/24] Installing python3-cffi-0:2.1.1 100% | 55.7 MiB/s | 1.4 MiB | 00m00s [ 5/24] Installing python3-typing-exten 100% | 272.0 MiB/s | 557.0 KiB | 00m00s [ 6/24] Installing python3-mdurl-0:0.1. 100% | 24.3 MiB/s | 49.7 KiB | 00m00s [ 7/24] Installing python3-markdown-it- 100% | 23.3 MiB/s | 621.1 KiB | 00m00s [ 8/24] Installing python3-rich-0:15.0. 100% | 271.1 MiB/s | 3.5 MiB | 00m00s [ 9/24] Installing python3-esp-pylib-0: 100% | 173.3 MiB/s | 354.9 KiB | 00m00s [10/24] Installing libyaml-0:0.2.5-19.f 100% | 136.6 MiB/s | 139.9 KiB | 00m00s [11/24] Installing less-0:710-1.fc46.x8 100% | 21.8 MiB/s | 492.0 KiB | 00m00s [12/24] Installing python3-click-1:8.4. 100% | 266.2 MiB/s | 1.3 MiB | 00m00s [13/24] Installing python3-rich-click-0 100% | 14.9 MiB/s | 335.2 KiB | 00m00s [14/24] Installing python3-bitarray-0:3 100% | 260.4 MiB/s | 1.3 MiB | 00m00s [15/24] Installing python3-websockets-0 100% | 69.7 MiB/s | 1.9 MiB | 00m00s [16/24] Installing python3-pyserial-0:3 100% | 36.5 MiB/s | 897.0 KiB | 00m00s [17/24] Installing python3-esp-pylib+se 100% | 0.0 B/s | 124.0 B | 00m00s [18/24] Installing python3-esp-pylib+id 100% | 0.0 B/s | 124.0 B | 00m00s [19/24] Installing python3-bitstring-0: 100% | 296.7 MiB/s | 911.5 KiB | 00m00s [20/24] Installing python3-esp-pylib+cl 100% | 0.0 B/s | 124.0 B | 00m00s [21/24] Installing python3-pyyaml-0:6.0 100% | 157.8 MiB/s | 808.2 KiB | 00m00s [22/24] Installing python3-cryptography 100% | 253.8 MiB/s | 7.1 MiB | 00m00s [23/24] Installing python3-intelhex-0:2 100% | 198.2 MiB/s | 405.9 KiB | 00m00s [24/24] Installing python3-reedsolo-0:1 100% | 34.1 MiB/s | 628.2 KiB | 00m00s Warning: skipped OpenPGP checks for 3 packages from repository: copr_base Complete! Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1790121600 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.6k59as + umask 022 + cd /builddir/build/BUILD/esptool-5.4.0-build + cd esptool-5.4.0 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(packaging)' + echo 'python3dist(pip) >= 19' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/esptool-5.4.0-build/.pyproject-builddir + echo -n + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + VALAFLAGS=-g + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes --cap-lints=warn' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + LT_SYS_LIBRARY_PATH=/usr/lib64: + CC=gcc + CXX=g++ + TMPDIR=/builddir/build/BUILD/esptool-5.4.0-build/.pyproject-builddir + RPM_TOXENV=py315 + FEDORA=46 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/esptool-5.4.0-build/pyproject-wheeldir --output /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0-1.fc46.x86_64-pyproject-buildrequires --dep-overrides-file /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0-1.fc46.x86_64-pyproject-dep-overrides Handling setuptools>=64 from build-system.requires Requirement satisfied: setuptools>=64 (installed: setuptools 84.0.0) /usr/lib/python3.15/site-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated !! ******************************************************************************** Please use a simple string containing a SPDX expression for `project.license`. You can also use `project.license-files`. (Both options available on setuptools>=77.0.0). By 2027-Feb-18, you need to update your project and remove deprecated calls or your builds will no longer be supported. See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! corresp(dist, value, root_dir) /usr/lib/python3.15/site-packages/setuptools/config/_apply_pyprojecttoml.py:61: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+) See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! dist._finalize_license_expression() /usr/lib/python3.15/site-packages/setuptools/dist.py:765: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+) See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! self._finalize_license_expression() running egg_info writing esptool.egg-info/PKG-INFO writing dependency_links to esptool.egg-info/dependency_links.txt writing entry points to esptool.egg-info/entry_points.txt writing requirements to esptool.egg-info/requires.txt writing top-level names to esptool.egg-info/top_level.txt reading manifest file 'esptool.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' no previously-included directories found matching '.github' no previously-included directories found matching 'docs' warning: no previously-included files found matching '.git*' adding license file 'LICENSE' writing manifest file 'esptool.egg-info/SOURCES.txt' running dist_info writing esptool.egg-info/PKG-INFO writing dependency_links to esptool.egg-info/dependency_links.txt writing entry points to esptool.egg-info/entry_points.txt writing requirements to esptool.egg-info/requires.txt writing top-level names to esptool.egg-info/top_level.txt reading manifest file 'esptool.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' no previously-included directories found matching '.github' no previously-included directories found matching 'docs' warning: no previously-included files found matching '.git*' adding license file 'LICENSE' writing manifest file 'esptool.egg-info/SOURCES.txt' creating '/builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/esptool-5.4.0.dist-info' Handling bitstring!=4.2.0,>=3.1.6 from hook generated metadata: Requires-Dist (esptool) Requirement satisfied: bitstring!=4.2.0,>=3.1.6 (installed: bitstring 4.3.1) Handling cryptography>=43.0.0 from hook generated metadata: Requires-Dist (esptool) Requirement satisfied: cryptography>=43.0.0 (installed: cryptography 50.0.0) Handling pyserial>=3.3 from hook generated metadata: Requires-Dist (esptool) Requirement satisfied: pyserial>=3.3 (installed: pyserial 3.5) Handling reedsolo<1.8,>=1.5.3 from hook generated metadata: Requires-Dist (esptool) Requirement satisfied: reedsolo<1.8,>=1.5.3 (installed: reedsolo 1.7.0) Handling PyYAML>=5.1 from hook generated metadata: Requires-Dist (esptool) Requirement satisfied: PyYAML>=5.1 (installed: PyYAML 6.0.3) Handling intelhex from hook generated metadata: Requires-Dist (esptool) Requirement satisfied: intelhex (installed: intelhex 2.3.0) Handling rich_click<2 from hook generated metadata: Requires-Dist (esptool) Requirement satisfied: rich_click<2 (installed: rich_click 1.8.9) Handling click<9 from hook generated metadata: Requires-Dist (esptool) Requirement satisfied: click<9 (installed: click 8.4.2) Handling esp-pylib[cli,ide,serial]>=1.0.0 from hook generated metadata: Requires-Dist (esptool) Requirement satisfied: esp-pylib[cli,ide,serial]>=1.0.0 (installed: esp-pylib 1.1.4) (extras are currently not checked) Handling pyelftools; extra == "dev" from hook generated metadata: Requires-Dist (esptool) Ignoring alien requirement: pyelftools; extra == "dev" Handling coverage~=6.0; extra == "dev" from hook generated metadata: Requires-Dist (esptool) Ignoring alien requirement: coverage~=6.0; extra == "dev" Handling pre-commit; extra == "dev" from hook generated metadata: Requires-Dist (esptool) Ignoring alien requirement: pre-commit; extra == "dev" Handling pytest; extra == "dev" from hook generated metadata: Requires-Dist (esptool) Ignoring alien requirement: pytest; extra == "dev" Handling pytest-rerunfailures; extra == "dev" from hook generated metadata: Requires-Dist (esptool) Ignoring alien requirement: pytest-rerunfailures; extra == "dev" Handling requests; extra == "dev" from hook generated metadata: Requires-Dist (esptool) Ignoring alien requirement: requests; extra == "dev" Handling czespressif; extra == "dev" from hook generated metadata: Requires-Dist (esptool) Ignoring alien requirement: czespressif; extra == "dev" Handling python-pkcs11; extra == "hsm" from hook generated metadata: Requires-Dist (esptool) Ignoring alien requirement: python-pkcs11; extra == "hsm" Handling esp-docs<3,>=2.1.4; extra == "docs" from hook generated metadata: Requires-Dist (esptool) Ignoring alien requirement: esp-docs<3,>=2.1.4; extra == "docs" Handling sphinx-tabs; extra == "docs" from hook generated metadata: Requires-Dist (esptool) Ignoring alien requirement: sphinx-tabs; extra == "docs" + cat /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0-1.fc46.x86_64-pyproject-buildrequires + rm -rfv esptool-5.4.0.dist-info/ removed 'esptool-5.4.0.dist-info/licenses/LICENSE' removed directory 'esptool-5.4.0.dist-info/licenses' removed 'esptool-5.4.0.dist-info/METADATA' removed 'esptool-5.4.0.dist-info/top_level.txt' removed 'esptool-5.4.0.dist-info/entry_points.txt' removed directory 'esptool-5.4.0.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/esptool-5.4.0-1.fc46.buildreqs.nosrc.rpm INFO: Going to install missing dynamic buildrequires Updating and loading repositories: fedora 100% | 93.1 KiB/s | 39.8 KiB | 00m00s >>> Curl error (56): Failure when receiving data from the peer for https://mirrors.fedoraproject.org/metalink?repo=rawhide&arch=x86_64 [Recv failure: Connection reset by peer] - https://mirrors.fedoraproject.org/metalink?repo=rawhide&arch=x86_64 Copr repository 100% | 170.9 KiB/s | 1.5 KiB | 00m00s Repositories loaded. Nothing to do. Package "pyproject-rpm-macros-1.23.2-1.fc46.noarch" is already installed. Package "python3-devel-3.15.0~rc2-1.fc46.x86_64" is already installed. Package "python3-pyelftools-0.33-3.fc45.noarch" is already installed. Package "python3-pytest-9.1.1-1.fc45.noarch" is already installed. Package "python3-pytest-rerunfailures-15.0-9.fc45.noarch" is already installed. Package "python3-requests-2.34.2-2.fc45.noarch" is already installed. Package "python3-click-1:8.4.2-1.fc45.noarch" is already installed. Package "python3-cryptography-50.0.0-1.fc46.x86_64" is already installed. Package "python3-esp-pylib-1.1.4-1.fc46.noarch" is already installed. Package "python3-esp-pylib+cli-1.1.4-1.fc46.noarch" is already installed. Package "python3-esp-pylib+ide-1.1.4-1.fc46.noarch" is already installed. Package "python3-esp-pylib+serial-1.1.4-1.fc46.noarch" is already installed. Package "python3-intelhex-2.3.0-24.fc45.noarch" is already installed. Package "python3-packaging-26.3-1.fc46.noarch" is already installed. Package "python3-pip-26.2.1-1.fc46.noarch" is already installed. Package "python3-pyserial-3.5-25.fc45.noarch" is already installed. Package "python3-pyyaml-6.0.3-6.fc45.x86_64" is already installed. Package "python3-rich-click-1.8.9-6.fc45.noarch" is already installed. Package "python3-setuptools-84.0.0-2.fc46.noarch" is already installed. Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1790121600 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.iNb80j + umask 022 + cd /builddir/build/BUILD/esptool-5.4.0-build + cd esptool-5.4.0 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(packaging)' + echo 'python3dist(pip) >= 19' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/esptool-5.4.0-build/.pyproject-builddir + echo -n + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + VALAFLAGS=-g + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes --cap-lints=warn' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + LT_SYS_LIBRARY_PATH=/usr/lib64: + CC=gcc + CXX=g++ + TMPDIR=/builddir/build/BUILD/esptool-5.4.0-build/.pyproject-builddir + RPM_TOXENV=py315 + FEDORA=46 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/esptool-5.4.0-build/pyproject-wheeldir --output /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0-1.fc46.x86_64-pyproject-buildrequires --dep-overrides-file /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0-1.fc46.x86_64-pyproject-dep-overrides Handling setuptools>=64 from build-system.requires Requirement satisfied: setuptools>=64 (installed: setuptools 84.0.0) /usr/lib/python3.15/site-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated !! ******************************************************************************** Please use a simple string containing a SPDX expression for `project.license`. You can also use `project.license-files`. (Both options available on setuptools>=77.0.0). By 2027-Feb-18, you need to update your project and remove deprecated calls or your builds will no longer be supported. See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! corresp(dist, value, root_dir) /usr/lib/python3.15/site-packages/setuptools/config/_apply_pyprojecttoml.py:61: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+) See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! dist._finalize_license_expression() /usr/lib/python3.15/site-packages/setuptools/dist.py:765: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+) See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! self._finalize_license_expression() running egg_info writing esptool.egg-info/PKG-INFO writing dependency_links to esptool.egg-info/dependency_links.txt writing entry points to esptool.egg-info/entry_points.txt writing requirements to esptool.egg-info/requires.txt writing top-level names to esptool.egg-info/top_level.txt reading manifest file 'esptool.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' no previously-included directories found matching '.github' no previously-included directories found matching 'docs' warning: no previously-included files found matching '.git*' adding license file 'LICENSE' writing manifest file 'esptool.egg-info/SOURCES.txt' running dist_info writing esptool.egg-info/PKG-INFO writing dependency_links to esptool.egg-info/dependency_links.txt writing entry points to esptool.egg-info/entry_points.txt writing requirements to esptool.egg-info/requires.txt writing top-level names to esptool.egg-info/top_level.txt reading manifest file 'esptool.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' no previously-included directories found matching '.github' no previously-included directories found matching 'docs' warning: no previously-included files found matching '.git*' adding license file 'LICENSE' writing manifest file 'esptool.egg-info/SOURCES.txt' creating '/builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/esptool-5.4.0.dist-info' Handling bitstring!=4.2.0,>=3.1.6 from hook generated metadata: Requires-Dist (esptool) Requirement satisfied: bitstring!=4.2.0,>=3.1.6 (installed: bitstring 4.3.1) Handling cryptography>=43.0.0 from hook generated metadata: Requires-Dist (esptool) Requirement satisfied: cryptography>=43.0.0 (installed: cryptography 50.0.0) Handling pyserial>=3.3 from hook generated metadata: Requires-Dist (esptool) Requirement satisfied: pyserial>=3.3 (installed: pyserial 3.5) Handling reedsolo<1.8,>=1.5.3 from hook generated metadata: Requires-Dist (esptool) Requirement satisfied: reedsolo<1.8,>=1.5.3 (installed: reedsolo 1.7.0) Handling PyYAML>=5.1 from hook generated metadata: Requires-Dist (esptool) Requirement satisfied: PyYAML>=5.1 (installed: PyYAML 6.0.3) Handling intelhex from hook generated metadata: Requires-Dist (esptool) Requirement satisfied: intelhex (installed: intelhex 2.3.0) Handling rich_click<2 from hook generated metadata: Requires-Dist (esptool) Requirement satisfied: rich_click<2 (installed: rich_click 1.8.9) Handling click<9 from hook generated metadata: Requires-Dist (esptool) Requirement satisfied: click<9 (installed: click 8.4.2) Handling esp-pylib[cli,ide,serial]>=1.0.0 from hook generated metadata: Requires-Dist (esptool) Requirement satisfied: esp-pylib[cli,ide,serial]>=1.0.0 (installed: esp-pylib 1.1.4) (extras are currently not checked) Handling pyelftools; extra == "dev" from hook generated metadata: Requires-Dist (esptool) Ignoring alien requirement: pyelftools; extra == "dev" Handling coverage~=6.0; extra == "dev" from hook generated metadata: Requires-Dist (esptool) Ignoring alien requirement: coverage~=6.0; extra == "dev" Handling pre-commit; extra == "dev" from hook generated metadata: Requires-Dist (esptool) Ignoring alien requirement: pre-commit; extra == "dev" Handling pytest; extra == "dev" from hook generated metadata: Requires-Dist (esptool) Ignoring alien requirement: pytest; extra == "dev" Handling pytest-rerunfailures; extra == "dev" from hook generated metadata: Requires-Dist (esptool) Ignoring alien requirement: pytest-rerunfailures; extra == "dev" Handling requests; extra == "dev" from hook generated metadata: Requires-Dist (esptool) Ignoring alien requirement: requests; extra == "dev" Handling czespressif; extra == "dev" from hook generated metadata: Requires-Dist (esptool) Ignoring alien requirement: czespressif; extra == "dev" Handling python-pkcs11; extra == "hsm" from hook generated metadata: Requires-Dist (esptool) Ignoring alien requirement: python-pkcs11; extra == "hsm" Handling esp-docs<3,>=2.1.4; extra == "docs" from hook generated metadata: Requires-Dist (esptool) Ignoring alien requirement: esp-docs<3,>=2.1.4; extra == "docs" Handling sphinx-tabs; extra == "docs" from hook generated metadata: Requires-Dist (esptool) Ignoring alien requirement: sphinx-tabs; extra == "docs" + cat /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0-1.fc46.x86_64-pyproject-buildrequires + rm -rfv esptool-5.4.0.dist-info/ removed 'esptool-5.4.0.dist-info/licenses/LICENSE' removed directory 'esptool-5.4.0.dist-info/licenses' removed 'esptool-5.4.0.dist-info/METADATA' removed 'esptool-5.4.0.dist-info/entry_points.txt' removed 'esptool-5.4.0.dist-info/top_level.txt' removed directory 'esptool-5.4.0.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.TkKmCu + umask 022 + cd /builddir/build/BUILD/esptool-5.4.0-build + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd esptool-5.4.0 + mkdir -p /builddir/build/BUILD/esptool-5.4.0-build/.pyproject-builddir + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + VALAFLAGS=-g + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + LT_SYS_LIBRARY_PATH=/usr/lib64: + CC=gcc + CXX=g++ + TMPDIR=/builddir/build/BUILD/esptool-5.4.0-build/.pyproject-builddir + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_wheel.py /builddir/build/BUILD/esptool-5.4.0-build/pyproject-wheeldir Processing ./. Preparing metadata (pyproject.toml): started Running command Preparing metadata (pyproject.toml) /usr/lib/python3.15/site-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated !! ******************************************************************************** Please use a simple string containing a SPDX expression for `project.license`. You can also use `project.license-files`. (Both options available on setuptools>=77.0.0). By 2027-Feb-18, you need to update your project and remove deprecated calls or your builds will no longer be supported. See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! corresp(dist, value, root_dir) /usr/lib/python3.15/site-packages/setuptools/config/_apply_pyprojecttoml.py:61: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+) See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! dist._finalize_license_expression() /usr/lib/python3.15/site-packages/setuptools/dist.py:765: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+) See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! self._finalize_license_expression() running dist_info creating /builddir/build/BUILD/esptool-5.4.0-build/.pyproject-builddir/pip-modern-metadata-wj2omwa2/esptool.egg-info writing /builddir/build/BUILD/esptool-5.4.0-build/.pyproject-builddir/pip-modern-metadata-wj2omwa2/esptool.egg-info/PKG-INFO writing dependency_links to /builddir/build/BUILD/esptool-5.4.0-build/.pyproject-builddir/pip-modern-metadata-wj2omwa2/esptool.egg-info/dependency_links.txt writing entry points to /builddir/build/BUILD/esptool-5.4.0-build/.pyproject-builddir/pip-modern-metadata-wj2omwa2/esptool.egg-info/entry_points.txt writing requirements to /builddir/build/BUILD/esptool-5.4.0-build/.pyproject-builddir/pip-modern-metadata-wj2omwa2/esptool.egg-info/requires.txt writing top-level names to /builddir/build/BUILD/esptool-5.4.0-build/.pyproject-builddir/pip-modern-metadata-wj2omwa2/esptool.egg-info/top_level.txt writing manifest file '/builddir/build/BUILD/esptool-5.4.0-build/.pyproject-builddir/pip-modern-metadata-wj2omwa2/esptool.egg-info/SOURCES.txt' reading manifest file '/builddir/build/BUILD/esptool-5.4.0-build/.pyproject-builddir/pip-modern-metadata-wj2omwa2/esptool.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' no previously-included directories found matching '.github' no previously-included directories found matching 'docs' warning: no previously-included files found matching '.git*' adding license file 'LICENSE' writing manifest file '/builddir/build/BUILD/esptool-5.4.0-build/.pyproject-builddir/pip-modern-metadata-wj2omwa2/esptool.egg-info/SOURCES.txt' creating '/builddir/build/BUILD/esptool-5.4.0-build/.pyproject-builddir/pip-modern-metadata-wj2omwa2/esptool-5.4.0.dist-info' Preparing metadata (pyproject.toml): finished with status 'done' Building wheels for collected packages: esptool Building wheel for esptool (pyproject.toml): started Running command Building wheel for esptool (pyproject.toml) /usr/lib/python3.15/site-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated !! ******************************************************************************** Please use a simple string containing a SPDX expression for `project.license`. You can also use `project.license-files`. (Both options available on setuptools>=77.0.0). By 2027-Feb-18, you need to update your project and remove deprecated calls or your builds will no longer be supported. See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! corresp(dist, value, root_dir) /usr/lib/python3.15/site-packages/setuptools/config/_apply_pyprojecttoml.py:61: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+) See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! dist._finalize_license_expression() /usr/lib/python3.15/site-packages/setuptools/dist.py:765: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+) See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! self._finalize_license_expression() running bdist_wheel running build running build_py creating build/lib/esptool copying esptool/util.py -> build/lib/esptool copying esptool/uf2_writer.py -> build/lib/esptool copying esptool/reset.py -> build/lib/esptool copying esptool/logger.py -> build/lib/esptool copying esptool/loader.py -> build/lib/esptool copying esptool/config.py -> build/lib/esptool copying esptool/cmds.py -> build/lib/esptool copying esptool/cli_util.py -> build/lib/esptool copying esptool/bin_image.py -> build/lib/esptool copying esptool/__main__.py -> build/lib/esptool copying esptool/__init__.py -> build/lib/esptool creating build/lib/espsecure copying espsecure/__main__.py -> build/lib/espsecure copying espsecure/__init__.py -> build/lib/espsecure creating build/lib/espefuse copying espefuse/efuse_interface.py -> build/lib/espefuse copying espefuse/cli_util.py -> build/lib/espefuse copying espefuse/__main__.py -> build/lib/espefuse copying espefuse/__init__.py -> build/lib/espefuse creating build/lib/esp_rfc2217_server copying esp_rfc2217_server/redirector.py -> build/lib/esp_rfc2217_server copying esp_rfc2217_server/esp_port_manager.py -> build/lib/esp_rfc2217_server copying esp_rfc2217_server/__main__.py -> build/lib/esp_rfc2217_server copying esp_rfc2217_server/__init__.py -> build/lib/esp_rfc2217_server creating build/lib/esptool/targets copying esptool/targets/esp8266.py -> build/lib/esptool/targets copying esptool/targets/esp32s31.py -> build/lib/esptool/targets copying esptool/targets/esp32s3.py -> build/lib/esptool/targets copying esptool/targets/esp32s2.py -> build/lib/esptool/targets copying esptool/targets/esp32p4.py -> build/lib/esptool/targets copying esptool/targets/esp32h4.py -> build/lib/esptool/targets copying esptool/targets/esp32h21.py -> build/lib/esptool/targets copying esptool/targets/esp32h2.py -> build/lib/esptool/targets copying esptool/targets/esp32e22.py -> build/lib/esptool/targets copying esptool/targets/esp32c61.py -> build/lib/esptool/targets copying esptool/targets/esp32c6.py -> build/lib/esptool/targets copying esptool/targets/esp32c5.py -> build/lib/esptool/targets copying esptool/targets/esp32c3.py -> build/lib/esptool/targets copying esptool/targets/esp32c2.py -> build/lib/esptool/targets copying esptool/targets/esp32.py -> build/lib/esptool/targets copying esptool/targets/__init__.py -> build/lib/esptool/targets creating build/lib/espsecure/esp_sdc copying espsecure/esp_sdc/__init__.py -> build/lib/espsecure/esp_sdc creating build/lib/espsecure/esp_hsm_sign copying espsecure/esp_hsm_sign/exceptions.py -> build/lib/espsecure/esp_hsm_sign copying espsecure/esp_hsm_sign/__init__.py -> build/lib/espsecure/esp_hsm_sign creating build/lib/espefuse/efuse copying espefuse/efuse/util.py -> build/lib/espefuse/efuse copying espefuse/efuse/token.py -> build/lib/espefuse/efuse copying espefuse/efuse/mem_definition_base.py -> build/lib/espefuse/efuse copying espefuse/efuse/emulate_efuse_controller_base.py -> build/lib/espefuse/efuse copying espefuse/efuse/csv_table_parser.py -> build/lib/espefuse/efuse copying espefuse/efuse/base_operations.py -> build/lib/espefuse/efuse copying espefuse/efuse/base_fields.py -> build/lib/espefuse/efuse copying espefuse/efuse/__init__.py -> build/lib/espefuse/efuse creating build/lib/espefuse/efuse/esp32s31 copying espefuse/efuse/esp32s31/operations.py -> build/lib/espefuse/efuse/esp32s31 copying espefuse/efuse/esp32s31/mem_definition.py -> build/lib/espefuse/efuse/esp32s31 copying espefuse/efuse/esp32s31/fields.py -> build/lib/espefuse/efuse/esp32s31 copying espefuse/efuse/esp32s31/emulate_efuse_controller.py -> build/lib/espefuse/efuse/esp32s31 copying espefuse/efuse/esp32s31/__init__.py -> build/lib/espefuse/efuse/esp32s31 creating build/lib/espefuse/efuse/esp32s3 copying espefuse/efuse/esp32s3/operations.py -> build/lib/espefuse/efuse/esp32s3 copying espefuse/efuse/esp32s3/mem_definition.py -> build/lib/espefuse/efuse/esp32s3 copying espefuse/efuse/esp32s3/fields.py -> build/lib/espefuse/efuse/esp32s3 copying espefuse/efuse/esp32s3/emulate_efuse_controller.py -> build/lib/espefuse/efuse/esp32s3 copying espefuse/efuse/esp32s3/__init__.py -> build/lib/espefuse/efuse/esp32s3 creating build/lib/espefuse/efuse/esp32s2 copying espefuse/efuse/esp32s2/operations.py -> build/lib/espefuse/efuse/esp32s2 copying espefuse/efuse/esp32s2/mem_definition.py -> build/lib/espefuse/efuse/esp32s2 copying espefuse/efuse/esp32s2/fields.py -> build/lib/espefuse/efuse/esp32s2 copying espefuse/efuse/esp32s2/emulate_efuse_controller.py -> build/lib/espefuse/efuse/esp32s2 copying espefuse/efuse/esp32s2/__init__.py -> build/lib/espefuse/efuse/esp32s2 creating build/lib/espefuse/efuse/esp32p4 copying espefuse/efuse/esp32p4/operations.py -> build/lib/espefuse/efuse/esp32p4 copying espefuse/efuse/esp32p4/mem_definition.py -> build/lib/espefuse/efuse/esp32p4 copying espefuse/efuse/esp32p4/fields.py -> build/lib/espefuse/efuse/esp32p4 copying espefuse/efuse/esp32p4/emulate_efuse_controller.py -> build/lib/espefuse/efuse/esp32p4 copying espefuse/efuse/esp32p4/__init__.py -> build/lib/espefuse/efuse/esp32p4 creating build/lib/espefuse/efuse/esp32h4 copying espefuse/efuse/esp32h4/operations.py -> build/lib/espefuse/efuse/esp32h4 copying espefuse/efuse/esp32h4/mem_definition.py -> build/lib/espefuse/efuse/esp32h4 copying espefuse/efuse/esp32h4/fields.py -> build/lib/espefuse/efuse/esp32h4 copying espefuse/efuse/esp32h4/emulate_efuse_controller.py -> build/lib/espefuse/efuse/esp32h4 copying espefuse/efuse/esp32h4/__init__.py -> build/lib/espefuse/efuse/esp32h4 creating build/lib/espefuse/efuse/esp32h21 copying espefuse/efuse/esp32h21/operations.py -> build/lib/espefuse/efuse/esp32h21 copying espefuse/efuse/esp32h21/mem_definition.py -> build/lib/espefuse/efuse/esp32h21 copying espefuse/efuse/esp32h21/fields.py -> build/lib/espefuse/efuse/esp32h21 copying espefuse/efuse/esp32h21/emulate_efuse_controller.py -> build/lib/espefuse/efuse/esp32h21 copying espefuse/efuse/esp32h21/__init__.py -> build/lib/espefuse/efuse/esp32h21 creating build/lib/espefuse/efuse/esp32h2 copying espefuse/efuse/esp32h2/operations.py -> build/lib/espefuse/efuse/esp32h2 copying espefuse/efuse/esp32h2/mem_definition.py -> build/lib/espefuse/efuse/esp32h2 copying espefuse/efuse/esp32h2/fields.py -> build/lib/espefuse/efuse/esp32h2 copying espefuse/efuse/esp32h2/emulate_efuse_controller.py -> build/lib/espefuse/efuse/esp32h2 copying espefuse/efuse/esp32h2/__init__.py -> build/lib/espefuse/efuse/esp32h2 creating build/lib/espefuse/efuse/esp32e22 copying espefuse/efuse/esp32e22/operations.py -> build/lib/espefuse/efuse/esp32e22 copying espefuse/efuse/esp32e22/mem_definition.py -> build/lib/espefuse/efuse/esp32e22 copying espefuse/efuse/esp32e22/fields.py -> build/lib/espefuse/efuse/esp32e22 copying espefuse/efuse/esp32e22/emulate_efuse_controller.py -> build/lib/espefuse/efuse/esp32e22 copying espefuse/efuse/esp32e22/__init__.py -> build/lib/espefuse/efuse/esp32e22 creating build/lib/espefuse/efuse/esp32c61 copying espefuse/efuse/esp32c61/operations.py -> build/lib/espefuse/efuse/esp32c61 copying espefuse/efuse/esp32c61/mem_definition.py -> build/lib/espefuse/efuse/esp32c61 copying espefuse/efuse/esp32c61/fields.py -> build/lib/espefuse/efuse/esp32c61 copying espefuse/efuse/esp32c61/emulate_efuse_controller.py -> build/lib/espefuse/efuse/esp32c61 copying espefuse/efuse/esp32c61/__init__.py -> build/lib/espefuse/efuse/esp32c61 creating build/lib/espefuse/efuse/esp32c6 copying espefuse/efuse/esp32c6/operations.py -> build/lib/espefuse/efuse/esp32c6 copying espefuse/efuse/esp32c6/mem_definition.py -> build/lib/espefuse/efuse/esp32c6 copying espefuse/efuse/esp32c6/fields.py -> build/lib/espefuse/efuse/esp32c6 copying espefuse/efuse/esp32c6/emulate_efuse_controller.py -> build/lib/espefuse/efuse/esp32c6 copying espefuse/efuse/esp32c6/__init__.py -> build/lib/espefuse/efuse/esp32c6 creating build/lib/espefuse/efuse/esp32c5 copying espefuse/efuse/esp32c5/operations.py -> build/lib/espefuse/efuse/esp32c5 copying espefuse/efuse/esp32c5/mem_definition.py -> build/lib/espefuse/efuse/esp32c5 copying espefuse/efuse/esp32c5/fields.py -> build/lib/espefuse/efuse/esp32c5 copying espefuse/efuse/esp32c5/emulate_efuse_controller.py -> build/lib/espefuse/efuse/esp32c5 copying espefuse/efuse/esp32c5/__init__.py -> build/lib/espefuse/efuse/esp32c5 creating build/lib/espefuse/efuse/esp32c3 copying espefuse/efuse/esp32c3/operations.py -> build/lib/espefuse/efuse/esp32c3 copying espefuse/efuse/esp32c3/mem_definition.py -> build/lib/espefuse/efuse/esp32c3 copying espefuse/efuse/esp32c3/fields.py -> build/lib/espefuse/efuse/esp32c3 copying espefuse/efuse/esp32c3/emulate_efuse_controller.py -> build/lib/espefuse/efuse/esp32c3 copying espefuse/efuse/esp32c3/__init__.py -> build/lib/espefuse/efuse/esp32c3 creating build/lib/espefuse/efuse/esp32c2 copying espefuse/efuse/esp32c2/operations.py -> build/lib/espefuse/efuse/esp32c2 copying espefuse/efuse/esp32c2/mem_definition.py -> build/lib/espefuse/efuse/esp32c2 copying espefuse/efuse/esp32c2/fields.py -> build/lib/espefuse/efuse/esp32c2 copying espefuse/efuse/esp32c2/emulate_efuse_controller.py -> build/lib/espefuse/efuse/esp32c2 copying espefuse/efuse/esp32c2/__init__.py -> build/lib/espefuse/efuse/esp32c2 creating build/lib/espefuse/efuse/esp32 copying espefuse/efuse/esp32/operations.py -> build/lib/espefuse/efuse/esp32 copying espefuse/efuse/esp32/mem_definition.py -> build/lib/espefuse/efuse/esp32 copying espefuse/efuse/esp32/fields.py -> build/lib/espefuse/efuse/esp32 copying espefuse/efuse/esp32/emulate_efuse_controller.py -> build/lib/espefuse/efuse/esp32 copying espefuse/efuse/esp32/__init__.py -> build/lib/espefuse/efuse/esp32 running egg_info writing esptool.egg-info/PKG-INFO writing dependency_links to esptool.egg-info/dependency_links.txt writing entry points to esptool.egg-info/entry_points.txt writing requirements to esptool.egg-info/requires.txt writing top-level names to esptool.egg-info/top_level.txt reading manifest file 'esptool.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' no previously-included directories found matching '.github' no previously-included directories found matching 'docs' warning: no previously-included files found matching '.git*' adding license file 'LICENSE' writing manifest file 'esptool.egg-info/SOURCES.txt' creating build/lib/esptool/targets/stub_flasher/2 copying esptool/targets/stub_flasher/2/LICENSE-APACHE -> build/lib/esptool/targets/stub_flasher/2 copying esptool/targets/stub_flasher/2/LICENSE-MIT -> build/lib/esptool/targets/stub_flasher/2 copying esptool/targets/stub_flasher/2/README.md -> build/lib/esptool/targets/stub_flasher/2 copying esptool/targets/stub_flasher/2/esp32.json -> build/lib/esptool/targets/stub_flasher/2 copying esptool/targets/stub_flasher/2/esp32c2.json -> build/lib/esptool/targets/stub_flasher/2 copying esptool/targets/stub_flasher/2/esp32c3.json -> build/lib/esptool/targets/stub_flasher/2 copying esptool/targets/stub_flasher/2/esp32c5.json -> build/lib/esptool/targets/stub_flasher/2 copying esptool/targets/stub_flasher/2/esp32c6.json -> build/lib/esptool/targets/stub_flasher/2 copying esptool/targets/stub_flasher/2/esp32c61.json -> build/lib/esptool/targets/stub_flasher/2 copying esptool/targets/stub_flasher/2/esp32h2.json -> build/lib/esptool/targets/stub_flasher/2 copying esptool/targets/stub_flasher/2/esp32h4.json -> build/lib/esptool/targets/stub_flasher/2 copying esptool/targets/stub_flasher/2/esp32p4-rev1.json -> build/lib/esptool/targets/stub_flasher/2 copying esptool/targets/stub_flasher/2/esp32p4.json -> build/lib/esptool/targets/stub_flasher/2 copying esptool/targets/stub_flasher/2/esp32s2.json -> build/lib/esptool/targets/stub_flasher/2 copying esptool/targets/stub_flasher/2/esp32s3.json -> build/lib/esptool/targets/stub_flasher/2 copying esptool/targets/stub_flasher/2/esp32s31.json -> build/lib/esptool/targets/stub_flasher/2 copying esptool/targets/stub_flasher/2/esp8266.json -> build/lib/esptool/targets/stub_flasher/2 creating build/lib/esptool/targets/stub_flasher/1 copying esptool/targets/stub_flasher/1/README.md -> build/lib/esptool/targets/stub_flasher/1 copying esptool/targets/stub_flasher/1/esp32.json -> build/lib/esptool/targets/stub_flasher/1 copying esptool/targets/stub_flasher/1/esp32c2.json -> build/lib/esptool/targets/stub_flasher/1 copying esptool/targets/stub_flasher/1/esp32c3.json -> build/lib/esptool/targets/stub_flasher/1 copying esptool/targets/stub_flasher/1/esp32c5.json -> build/lib/esptool/targets/stub_flasher/1 copying esptool/targets/stub_flasher/1/esp32c6.json -> build/lib/esptool/targets/stub_flasher/1 copying esptool/targets/stub_flasher/1/esp32h2.json -> build/lib/esptool/targets/stub_flasher/1 copying esptool/targets/stub_flasher/1/esp32p4-rev1.json -> build/lib/esptool/targets/stub_flasher/1 copying esptool/targets/stub_flasher/1/esp32s2.json -> build/lib/esptool/targets/stub_flasher/1 copying esptool/targets/stub_flasher/1/esp32s3.json -> build/lib/esptool/targets/stub_flasher/1 copying esptool/targets/stub_flasher/1/esp8266.json -> build/lib/esptool/targets/stub_flasher/1 creating build/lib/espefuse/efuse_defs copying espefuse/efuse_defs/esp32.yaml -> build/lib/espefuse/efuse_defs copying espefuse/efuse_defs/esp32c2.yaml -> build/lib/espefuse/efuse_defs copying espefuse/efuse_defs/esp32c3.yaml -> build/lib/espefuse/efuse_defs copying espefuse/efuse_defs/esp32c5.yaml -> build/lib/espefuse/efuse_defs copying espefuse/efuse_defs/esp32c6.yaml -> build/lib/espefuse/efuse_defs copying espefuse/efuse_defs/esp32c61.yaml -> build/lib/espefuse/efuse_defs copying espefuse/efuse_defs/esp32e22.yaml -> build/lib/espefuse/efuse_defs copying espefuse/efuse_defs/esp32h2.yaml -> build/lib/espefuse/efuse_defs copying espefuse/efuse_defs/esp32h21.yaml -> build/lib/espefuse/efuse_defs copying espefuse/efuse_defs/esp32h2_v0.0_v1.1.yaml -> build/lib/espefuse/efuse_defs copying espefuse/efuse_defs/esp32h4.yaml -> build/lib/espefuse/efuse_defs copying espefuse/efuse_defs/esp32p4.yaml -> build/lib/espefuse/efuse_defs copying espefuse/efuse_defs/esp32p4_v3.0.yaml -> build/lib/espefuse/efuse_defs copying espefuse/efuse_defs/esp32s2.yaml -> build/lib/espefuse/efuse_defs copying espefuse/efuse_defs/esp32s3.yaml -> build/lib/espefuse/efuse_defs copying espefuse/efuse_defs/esp32s31.yaml -> build/lib/espefuse/efuse_defs running build_scripts creating build/scripts-3.15 copying and adjusting esptool.py -> build/scripts-3.15 copying and adjusting espefuse.py -> build/scripts-3.15 copying and adjusting espsecure.py -> build/scripts-3.15 copying and adjusting esp_rfc2217_server.py -> build/scripts-3.15 changing mode of build/scripts-3.15/esptool.py from 644 to 755 changing mode of build/scripts-3.15/espefuse.py from 644 to 755 changing mode of build/scripts-3.15/espsecure.py from 644 to 755 changing mode of build/scripts-3.15/esp_rfc2217_server.py from 644 to 755 installing to build/bdist.linux-x86_64/wheel running install running install_lib creating build/bdist.linux-x86_64/wheel creating build/bdist.linux-x86_64/wheel/esp_rfc2217_server copying build/lib/esp_rfc2217_server/__init__.py -> build/bdist.linux-x86_64/wheel/./esp_rfc2217_server copying build/lib/esp_rfc2217_server/__main__.py -> build/bdist.linux-x86_64/wheel/./esp_rfc2217_server copying build/lib/esp_rfc2217_server/esp_port_manager.py -> build/bdist.linux-x86_64/wheel/./esp_rfc2217_server copying build/lib/esp_rfc2217_server/redirector.py -> build/bdist.linux-x86_64/wheel/./esp_rfc2217_server creating build/bdist.linux-x86_64/wheel/espefuse creating build/bdist.linux-x86_64/wheel/espefuse/efuse_defs copying build/lib/espefuse/efuse_defs/esp32s31.yaml -> build/bdist.linux-x86_64/wheel/./espefuse/efuse_defs copying build/lib/espefuse/efuse_defs/esp32s3.yaml -> build/bdist.linux-x86_64/wheel/./espefuse/efuse_defs copying build/lib/espefuse/efuse_defs/esp32s2.yaml -> build/bdist.linux-x86_64/wheel/./espefuse/efuse_defs copying build/lib/espefuse/efuse_defs/esp32p4_v3.0.yaml -> build/bdist.linux-x86_64/wheel/./espefuse/efuse_defs copying build/lib/espefuse/efuse_defs/esp32p4.yaml -> build/bdist.linux-x86_64/wheel/./espefuse/efuse_defs copying build/lib/espefuse/efuse_defs/esp32h4.yaml -> build/bdist.linux-x86_64/wheel/./espefuse/efuse_defs copying build/lib/espefuse/efuse_defs/esp32h2_v0.0_v1.1.yaml -> build/bdist.linux-x86_64/wheel/./espefuse/efuse_defs copying build/lib/espefuse/efuse_defs/esp32h21.yaml -> build/bdist.linux-x86_64/wheel/./espefuse/efuse_defs copying build/lib/espefuse/efuse_defs/esp32h2.yaml -> build/bdist.linux-x86_64/wheel/./espefuse/efuse_defs copying build/lib/espefuse/efuse_defs/esp32e22.yaml -> build/bdist.linux-x86_64/wheel/./espefuse/efuse_defs copying build/lib/espefuse/efuse_defs/esp32c61.yaml -> build/bdist.linux-x86_64/wheel/./espefuse/efuse_defs copying build/lib/espefuse/efuse_defs/esp32c6.yaml -> build/bdist.linux-x86_64/wheel/./espefuse/efuse_defs copying build/lib/espefuse/efuse_defs/esp32c5.yaml -> build/bdist.linux-x86_64/wheel/./espefuse/efuse_defs copying build/lib/espefuse/efuse_defs/esp32c3.yaml -> build/bdist.linux-x86_64/wheel/./espefuse/efuse_defs copying build/lib/espefuse/efuse_defs/esp32c2.yaml -> build/bdist.linux-x86_64/wheel/./espefuse/efuse_defs copying build/lib/espefuse/efuse_defs/esp32.yaml -> build/bdist.linux-x86_64/wheel/./espefuse/efuse_defs creating build/bdist.linux-x86_64/wheel/espefuse/efuse creating build/bdist.linux-x86_64/wheel/espefuse/efuse/esp32 copying build/lib/espefuse/efuse/esp32/__init__.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32 copying build/lib/espefuse/efuse/esp32/emulate_efuse_controller.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32 copying build/lib/espefuse/efuse/esp32/fields.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32 copying build/lib/espefuse/efuse/esp32/mem_definition.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32 copying build/lib/espefuse/efuse/esp32/operations.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32 creating build/bdist.linux-x86_64/wheel/espefuse/efuse/esp32c2 copying build/lib/espefuse/efuse/esp32c2/__init__.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32c2 copying build/lib/espefuse/efuse/esp32c2/emulate_efuse_controller.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32c2 copying build/lib/espefuse/efuse/esp32c2/fields.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32c2 copying build/lib/espefuse/efuse/esp32c2/mem_definition.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32c2 copying build/lib/espefuse/efuse/esp32c2/operations.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32c2 creating build/bdist.linux-x86_64/wheel/espefuse/efuse/esp32c3 copying build/lib/espefuse/efuse/esp32c3/__init__.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32c3 copying build/lib/espefuse/efuse/esp32c3/emulate_efuse_controller.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32c3 copying build/lib/espefuse/efuse/esp32c3/fields.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32c3 copying build/lib/espefuse/efuse/esp32c3/mem_definition.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32c3 copying build/lib/espefuse/efuse/esp32c3/operations.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32c3 creating build/bdist.linux-x86_64/wheel/espefuse/efuse/esp32c5 copying build/lib/espefuse/efuse/esp32c5/__init__.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32c5 copying build/lib/espefuse/efuse/esp32c5/emulate_efuse_controller.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32c5 copying build/lib/espefuse/efuse/esp32c5/fields.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32c5 copying build/lib/espefuse/efuse/esp32c5/mem_definition.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32c5 copying build/lib/espefuse/efuse/esp32c5/operations.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32c5 creating build/bdist.linux-x86_64/wheel/espefuse/efuse/esp32c6 copying build/lib/espefuse/efuse/esp32c6/__init__.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32c6 copying build/lib/espefuse/efuse/esp32c6/emulate_efuse_controller.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32c6 copying build/lib/espefuse/efuse/esp32c6/fields.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32c6 copying build/lib/espefuse/efuse/esp32c6/mem_definition.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32c6 copying build/lib/espefuse/efuse/esp32c6/operations.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32c6 creating build/bdist.linux-x86_64/wheel/espefuse/efuse/esp32c61 copying build/lib/espefuse/efuse/esp32c61/__init__.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32c61 copying build/lib/espefuse/efuse/esp32c61/emulate_efuse_controller.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32c61 copying build/lib/espefuse/efuse/esp32c61/fields.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32c61 copying build/lib/espefuse/efuse/esp32c61/mem_definition.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32c61 copying build/lib/espefuse/efuse/esp32c61/operations.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32c61 creating build/bdist.linux-x86_64/wheel/espefuse/efuse/esp32e22 copying build/lib/espefuse/efuse/esp32e22/__init__.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32e22 copying build/lib/espefuse/efuse/esp32e22/emulate_efuse_controller.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32e22 copying build/lib/espefuse/efuse/esp32e22/fields.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32e22 copying build/lib/espefuse/efuse/esp32e22/mem_definition.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32e22 copying build/lib/espefuse/efuse/esp32e22/operations.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32e22 creating build/bdist.linux-x86_64/wheel/espefuse/efuse/esp32h2 copying build/lib/espefuse/efuse/esp32h2/__init__.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32h2 copying build/lib/espefuse/efuse/esp32h2/emulate_efuse_controller.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32h2 copying build/lib/espefuse/efuse/esp32h2/fields.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32h2 copying build/lib/espefuse/efuse/esp32h2/mem_definition.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32h2 copying build/lib/espefuse/efuse/esp32h2/operations.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32h2 creating build/bdist.linux-x86_64/wheel/espefuse/efuse/esp32h21 copying build/lib/espefuse/efuse/esp32h21/__init__.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32h21 copying build/lib/espefuse/efuse/esp32h21/emulate_efuse_controller.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32h21 copying build/lib/espefuse/efuse/esp32h21/fields.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32h21 copying build/lib/espefuse/efuse/esp32h21/mem_definition.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32h21 copying build/lib/espefuse/efuse/esp32h21/operations.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32h21 creating build/bdist.linux-x86_64/wheel/espefuse/efuse/esp32h4 copying build/lib/espefuse/efuse/esp32h4/__init__.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32h4 copying build/lib/espefuse/efuse/esp32h4/emulate_efuse_controller.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32h4 copying build/lib/espefuse/efuse/esp32h4/fields.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32h4 copying build/lib/espefuse/efuse/esp32h4/mem_definition.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32h4 copying build/lib/espefuse/efuse/esp32h4/operations.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32h4 creating build/bdist.linux-x86_64/wheel/espefuse/efuse/esp32p4 copying build/lib/espefuse/efuse/esp32p4/__init__.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32p4 copying build/lib/espefuse/efuse/esp32p4/emulate_efuse_controller.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32p4 copying build/lib/espefuse/efuse/esp32p4/fields.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32p4 copying build/lib/espefuse/efuse/esp32p4/mem_definition.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32p4 copying build/lib/espefuse/efuse/esp32p4/operations.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32p4 creating build/bdist.linux-x86_64/wheel/espefuse/efuse/esp32s2 copying build/lib/espefuse/efuse/esp32s2/__init__.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32s2 copying build/lib/espefuse/efuse/esp32s2/emulate_efuse_controller.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32s2 copying build/lib/espefuse/efuse/esp32s2/fields.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32s2 copying build/lib/espefuse/efuse/esp32s2/mem_definition.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32s2 copying build/lib/espefuse/efuse/esp32s2/operations.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32s2 creating build/bdist.linux-x86_64/wheel/espefuse/efuse/esp32s3 copying build/lib/espefuse/efuse/esp32s3/__init__.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32s3 copying build/lib/espefuse/efuse/esp32s3/emulate_efuse_controller.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32s3 copying build/lib/espefuse/efuse/esp32s3/fields.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32s3 copying build/lib/espefuse/efuse/esp32s3/mem_definition.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32s3 copying build/lib/espefuse/efuse/esp32s3/operations.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32s3 creating build/bdist.linux-x86_64/wheel/espefuse/efuse/esp32s31 copying build/lib/espefuse/efuse/esp32s31/__init__.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32s31 copying build/lib/espefuse/efuse/esp32s31/emulate_efuse_controller.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32s31 copying build/lib/espefuse/efuse/esp32s31/fields.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32s31 copying build/lib/espefuse/efuse/esp32s31/mem_definition.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32s31 copying build/lib/espefuse/efuse/esp32s31/operations.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse/esp32s31 copying build/lib/espefuse/efuse/__init__.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse copying build/lib/espefuse/efuse/base_fields.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse copying build/lib/espefuse/efuse/base_operations.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse copying build/lib/espefuse/efuse/csv_table_parser.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse copying build/lib/espefuse/efuse/emulate_efuse_controller_base.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse copying build/lib/espefuse/efuse/mem_definition_base.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse copying build/lib/espefuse/efuse/token.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse copying build/lib/espefuse/efuse/util.py -> build/bdist.linux-x86_64/wheel/./espefuse/efuse copying build/lib/espefuse/__init__.py -> build/bdist.linux-x86_64/wheel/./espefuse copying build/lib/espefuse/__main__.py -> build/bdist.linux-x86_64/wheel/./espefuse copying build/lib/espefuse/cli_util.py -> build/bdist.linux-x86_64/wheel/./espefuse copying build/lib/espefuse/efuse_interface.py -> build/bdist.linux-x86_64/wheel/./espefuse creating build/bdist.linux-x86_64/wheel/espsecure creating build/bdist.linux-x86_64/wheel/espsecure/esp_hsm_sign copying build/lib/espsecure/esp_hsm_sign/__init__.py -> build/bdist.linux-x86_64/wheel/./espsecure/esp_hsm_sign copying build/lib/espsecure/esp_hsm_sign/exceptions.py -> build/bdist.linux-x86_64/wheel/./espsecure/esp_hsm_sign creating build/bdist.linux-x86_64/wheel/espsecure/esp_sdc copying build/lib/espsecure/esp_sdc/__init__.py -> build/bdist.linux-x86_64/wheel/./espsecure/esp_sdc copying build/lib/espsecure/__init__.py -> build/bdist.linux-x86_64/wheel/./espsecure copying build/lib/espsecure/__main__.py -> build/bdist.linux-x86_64/wheel/./espsecure creating build/bdist.linux-x86_64/wheel/esptool creating build/bdist.linux-x86_64/wheel/esptool/targets creating build/bdist.linux-x86_64/wheel/esptool/targets/stub_flasher creating build/bdist.linux-x86_64/wheel/esptool/targets/stub_flasher/1 copying build/lib/esptool/targets/stub_flasher/1/esp8266.json -> build/bdist.linux-x86_64/wheel/./esptool/targets/stub_flasher/1 copying build/lib/esptool/targets/stub_flasher/1/esp32s3.json -> build/bdist.linux-x86_64/wheel/./esptool/targets/stub_flasher/1 copying build/lib/esptool/targets/stub_flasher/1/esp32s2.json -> build/bdist.linux-x86_64/wheel/./esptool/targets/stub_flasher/1 copying build/lib/esptool/targets/stub_flasher/1/esp32p4-rev1.json -> build/bdist.linux-x86_64/wheel/./esptool/targets/stub_flasher/1 copying build/lib/esptool/targets/stub_flasher/1/esp32h2.json -> build/bdist.linux-x86_64/wheel/./esptool/targets/stub_flasher/1 copying build/lib/esptool/targets/stub_flasher/1/esp32c6.json -> build/bdist.linux-x86_64/wheel/./esptool/targets/stub_flasher/1 copying build/lib/esptool/targets/stub_flasher/1/esp32c5.json -> build/bdist.linux-x86_64/wheel/./esptool/targets/stub_flasher/1 copying build/lib/esptool/targets/stub_flasher/1/esp32c3.json -> build/bdist.linux-x86_64/wheel/./esptool/targets/stub_flasher/1 copying build/lib/esptool/targets/stub_flasher/1/esp32c2.json -> build/bdist.linux-x86_64/wheel/./esptool/targets/stub_flasher/1 copying build/lib/esptool/targets/stub_flasher/1/esp32.json -> build/bdist.linux-x86_64/wheel/./esptool/targets/stub_flasher/1 copying build/lib/esptool/targets/stub_flasher/1/README.md -> build/bdist.linux-x86_64/wheel/./esptool/targets/stub_flasher/1 creating build/bdist.linux-x86_64/wheel/esptool/targets/stub_flasher/2 copying build/lib/esptool/targets/stub_flasher/2/esp8266.json -> build/bdist.linux-x86_64/wheel/./esptool/targets/stub_flasher/2 copying build/lib/esptool/targets/stub_flasher/2/esp32s31.json -> build/bdist.linux-x86_64/wheel/./esptool/targets/stub_flasher/2 copying build/lib/esptool/targets/stub_flasher/2/esp32s3.json -> build/bdist.linux-x86_64/wheel/./esptool/targets/stub_flasher/2 copying build/lib/esptool/targets/stub_flasher/2/esp32s2.json -> build/bdist.linux-x86_64/wheel/./esptool/targets/stub_flasher/2 copying build/lib/esptool/targets/stub_flasher/2/esp32p4.json -> build/bdist.linux-x86_64/wheel/./esptool/targets/stub_flasher/2 copying build/lib/esptool/targets/stub_flasher/2/esp32p4-rev1.json -> build/bdist.linux-x86_64/wheel/./esptool/targets/stub_flasher/2 copying build/lib/esptool/targets/stub_flasher/2/esp32h4.json -> build/bdist.linux-x86_64/wheel/./esptool/targets/stub_flasher/2 copying build/lib/esptool/targets/stub_flasher/2/esp32h2.json -> build/bdist.linux-x86_64/wheel/./esptool/targets/stub_flasher/2 copying build/lib/esptool/targets/stub_flasher/2/esp32c61.json -> build/bdist.linux-x86_64/wheel/./esptool/targets/stub_flasher/2 copying build/lib/esptool/targets/stub_flasher/2/esp32c6.json -> build/bdist.linux-x86_64/wheel/./esptool/targets/stub_flasher/2 copying build/lib/esptool/targets/stub_flasher/2/esp32c5.json -> build/bdist.linux-x86_64/wheel/./esptool/targets/stub_flasher/2 copying build/lib/esptool/targets/stub_flasher/2/esp32c3.json -> build/bdist.linux-x86_64/wheel/./esptool/targets/stub_flasher/2 copying build/lib/esptool/targets/stub_flasher/2/esp32c2.json -> build/bdist.linux-x86_64/wheel/./esptool/targets/stub_flasher/2 copying build/lib/esptool/targets/stub_flasher/2/esp32.json -> build/bdist.linux-x86_64/wheel/./esptool/targets/stub_flasher/2 copying build/lib/esptool/targets/stub_flasher/2/README.md -> build/bdist.linux-x86_64/wheel/./esptool/targets/stub_flasher/2 copying build/lib/esptool/targets/stub_flasher/2/LICENSE-MIT -> build/bdist.linux-x86_64/wheel/./esptool/targets/stub_flasher/2 copying build/lib/esptool/targets/stub_flasher/2/LICENSE-APACHE -> build/bdist.linux-x86_64/wheel/./esptool/targets/stub_flasher/2 copying build/lib/esptool/targets/__init__.py -> build/bdist.linux-x86_64/wheel/./esptool/targets copying build/lib/esptool/targets/esp32.py -> build/bdist.linux-x86_64/wheel/./esptool/targets copying build/lib/esptool/targets/esp32c2.py -> build/bdist.linux-x86_64/wheel/./esptool/targets copying build/lib/esptool/targets/esp32c3.py -> build/bdist.linux-x86_64/wheel/./esptool/targets copying build/lib/esptool/targets/esp32c5.py -> build/bdist.linux-x86_64/wheel/./esptool/targets copying build/lib/esptool/targets/esp32c6.py -> build/bdist.linux-x86_64/wheel/./esptool/targets copying build/lib/esptool/targets/esp32c61.py -> build/bdist.linux-x86_64/wheel/./esptool/targets copying build/lib/esptool/targets/esp32e22.py -> build/bdist.linux-x86_64/wheel/./esptool/targets copying build/lib/esptool/targets/esp32h2.py -> build/bdist.linux-x86_64/wheel/./esptool/targets copying build/lib/esptool/targets/esp32h21.py -> build/bdist.linux-x86_64/wheel/./esptool/targets copying build/lib/esptool/targets/esp32h4.py -> build/bdist.linux-x86_64/wheel/./esptool/targets copying build/lib/esptool/targets/esp32p4.py -> build/bdist.linux-x86_64/wheel/./esptool/targets copying build/lib/esptool/targets/esp32s2.py -> build/bdist.linux-x86_64/wheel/./esptool/targets copying build/lib/esptool/targets/esp32s3.py -> build/bdist.linux-x86_64/wheel/./esptool/targets copying build/lib/esptool/targets/esp32s31.py -> build/bdist.linux-x86_64/wheel/./esptool/targets copying build/lib/esptool/targets/esp8266.py -> build/bdist.linux-x86_64/wheel/./esptool/targets copying build/lib/esptool/__init__.py -> build/bdist.linux-x86_64/wheel/./esptool copying build/lib/esptool/__main__.py -> build/bdist.linux-x86_64/wheel/./esptool copying build/lib/esptool/bin_image.py -> build/bdist.linux-x86_64/wheel/./esptool copying build/lib/esptool/cli_util.py -> build/bdist.linux-x86_64/wheel/./esptool copying build/lib/esptool/cmds.py -> build/bdist.linux-x86_64/wheel/./esptool copying build/lib/esptool/config.py -> build/bdist.linux-x86_64/wheel/./esptool copying build/lib/esptool/loader.py -> build/bdist.linux-x86_64/wheel/./esptool copying build/lib/esptool/logger.py -> build/bdist.linux-x86_64/wheel/./esptool copying build/lib/esptool/reset.py -> build/bdist.linux-x86_64/wheel/./esptool copying build/lib/esptool/uf2_writer.py -> build/bdist.linux-x86_64/wheel/./esptool copying build/lib/esptool/util.py -> build/bdist.linux-x86_64/wheel/./esptool running install_egg_info Copying esptool.egg-info to build/bdist.linux-x86_64/wheel/./esptool-5.4.0-py3.15.egg-info running install_scripts creating build/bdist.linux-x86_64/wheel/esptool-5.4.0.data/scripts copying build/scripts-3.15/esp_rfc2217_server.py -> build/bdist.linux-x86_64/wheel/esptool-5.4.0.data/scripts copying build/scripts-3.15/espsecure.py -> build/bdist.linux-x86_64/wheel/esptool-5.4.0.data/scripts copying build/scripts-3.15/espefuse.py -> build/bdist.linux-x86_64/wheel/esptool-5.4.0.data/scripts copying build/scripts-3.15/esptool.py -> build/bdist.linux-x86_64/wheel/esptool-5.4.0.data/scripts changing mode of build/bdist.linux-x86_64/wheel/esptool-5.4.0.data/scripts/esp_rfc2217_server.py to 755 changing mode of build/bdist.linux-x86_64/wheel/esptool-5.4.0.data/scripts/espsecure.py to 755 changing mode of build/bdist.linux-x86_64/wheel/esptool-5.4.0.data/scripts/espefuse.py to 755 changing mode of build/bdist.linux-x86_64/wheel/esptool-5.4.0.data/scripts/esptool.py to 755 creating build/bdist.linux-x86_64/wheel/esptool-5.4.0.dist-info/WHEEL creating '/builddir/build/BUILD/esptool-5.4.0-build/.pyproject-builddir/pip-ephem-wheel-cache-cilucneo/wheels/3f/4f/67/43b3f9367b4d60c8c704b0bb0b956a061b410e197bf49c0755/tmpu10k35j1/.tmp-vl01b5i5/esptool-5.4.0-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it adding 'esp_rfc2217_server/__init__.py' adding 'esp_rfc2217_server/__main__.py' adding 'esp_rfc2217_server/esp_port_manager.py' adding 'esp_rfc2217_server/redirector.py' adding 'espefuse/__init__.py' adding 'espefuse/__main__.py' adding 'espefuse/cli_util.py' adding 'espefuse/efuse_interface.py' adding 'espefuse/efuse/__init__.py' adding 'espefuse/efuse/base_fields.py' adding 'espefuse/efuse/base_operations.py' adding 'espefuse/efuse/csv_table_parser.py' adding 'espefuse/efuse/emulate_efuse_controller_base.py' adding 'espefuse/efuse/mem_definition_base.py' adding 'espefuse/efuse/token.py' adding 'espefuse/efuse/util.py' adding 'espefuse/efuse/esp32/__init__.py' adding 'espefuse/efuse/esp32/emulate_efuse_controller.py' adding 'espefuse/efuse/esp32/fields.py' adding 'espefuse/efuse/esp32/mem_definition.py' adding 'espefuse/efuse/esp32/operations.py' adding 'espefuse/efuse/esp32c2/__init__.py' adding 'espefuse/efuse/esp32c2/emulate_efuse_controller.py' adding 'espefuse/efuse/esp32c2/fields.py' adding 'espefuse/efuse/esp32c2/mem_definition.py' adding 'espefuse/efuse/esp32c2/operations.py' adding 'espefuse/efuse/esp32c3/__init__.py' adding 'espefuse/efuse/esp32c3/emulate_efuse_controller.py' adding 'espefuse/efuse/esp32c3/fields.py' adding 'espefuse/efuse/esp32c3/mem_definition.py' adding 'espefuse/efuse/esp32c3/operations.py' adding 'espefuse/efuse/esp32c5/__init__.py' adding 'espefuse/efuse/esp32c5/emulate_efuse_controller.py' adding 'espefuse/efuse/esp32c5/fields.py' adding 'espefuse/efuse/esp32c5/mem_definition.py' adding 'espefuse/efuse/esp32c5/operations.py' adding 'espefuse/efuse/esp32c6/__init__.py' adding 'espefuse/efuse/esp32c6/emulate_efuse_controller.py' adding 'espefuse/efuse/esp32c6/fields.py' adding 'espefuse/efuse/esp32c6/mem_definition.py' adding 'espefuse/efuse/esp32c6/operations.py' adding 'espefuse/efuse/esp32c61/__init__.py' adding 'espefuse/efuse/esp32c61/emulate_efuse_controller.py' adding 'espefuse/efuse/esp32c61/fields.py' adding 'espefuse/efuse/esp32c61/mem_definition.py' adding 'espefuse/efuse/esp32c61/operations.py' adding 'espefuse/efuse/esp32e22/__init__.py' adding 'espefuse/efuse/esp32e22/emulate_efuse_controller.py' adding 'espefuse/efuse/esp32e22/fields.py' adding 'espefuse/efuse/esp32e22/mem_definition.py' adding 'espefuse/efuse/esp32e22/operations.py' adding 'espefuse/efuse/esp32h2/__init__.py' adding 'espefuse/efuse/esp32h2/emulate_efuse_controller.py' adding 'espefuse/efuse/esp32h2/fields.py' adding 'espefuse/efuse/esp32h2/mem_definition.py' adding 'espefuse/efuse/esp32h2/operations.py' adding 'espefuse/efuse/esp32h21/__init__.py' adding 'espefuse/efuse/esp32h21/emulate_efuse_controller.py' adding 'espefuse/efuse/esp32h21/fields.py' adding 'espefuse/efuse/esp32h21/mem_definition.py' adding 'espefuse/efuse/esp32h21/operations.py' adding 'espefuse/efuse/esp32h4/__init__.py' adding 'espefuse/efuse/esp32h4/emulate_efuse_controller.py' adding 'espefuse/efuse/esp32h4/fields.py' adding 'espefuse/efuse/esp32h4/mem_definition.py' adding 'espefuse/efuse/esp32h4/operations.py' adding 'espefuse/efuse/esp32p4/__init__.py' adding 'espefuse/efuse/esp32p4/emulate_efuse_controller.py' adding 'espefuse/efuse/esp32p4/fields.py' adding 'espefuse/efuse/esp32p4/mem_definition.py' adding 'espefuse/efuse/esp32p4/operations.py' adding 'espefuse/efuse/esp32s2/__init__.py' adding 'espefuse/efuse/esp32s2/emulate_efuse_controller.py' adding 'espefuse/efuse/esp32s2/fields.py' adding 'espefuse/efuse/esp32s2/mem_definition.py' adding 'espefuse/efuse/esp32s2/operations.py' adding 'espefuse/efuse/esp32s3/__init__.py' adding 'espefuse/efuse/esp32s3/emulate_efuse_controller.py' adding 'espefuse/efuse/esp32s3/fields.py' adding 'espefuse/efuse/esp32s3/mem_definition.py' adding 'espefuse/efuse/esp32s3/operations.py' adding 'espefuse/efuse/esp32s31/__init__.py' adding 'espefuse/efuse/esp32s31/emulate_efuse_controller.py' adding 'espefuse/efuse/esp32s31/fields.py' adding 'espefuse/efuse/esp32s31/mem_definition.py' adding 'espefuse/efuse/esp32s31/operations.py' adding 'espefuse/efuse_defs/esp32.yaml' adding 'espefuse/efuse_defs/esp32c2.yaml' adding 'espefuse/efuse_defs/esp32c3.yaml' adding 'espefuse/efuse_defs/esp32c5.yaml' adding 'espefuse/efuse_defs/esp32c6.yaml' adding 'espefuse/efuse_defs/esp32c61.yaml' adding 'espefuse/efuse_defs/esp32e22.yaml' adding 'espefuse/efuse_defs/esp32h2.yaml' adding 'espefuse/efuse_defs/esp32h21.yaml' adding 'espefuse/efuse_defs/esp32h2_v0.0_v1.1.yaml' adding 'espefuse/efuse_defs/esp32h4.yaml' adding 'espefuse/efuse_defs/esp32p4.yaml' adding 'espefuse/efuse_defs/esp32p4_v3.0.yaml' adding 'espefuse/efuse_defs/esp32s2.yaml' adding 'espefuse/efuse_defs/esp32s3.yaml' adding 'espefuse/efuse_defs/esp32s31.yaml' adding 'espsecure/__init__.py' adding 'espsecure/__main__.py' adding 'espsecure/esp_hsm_sign/__init__.py' adding 'espsecure/esp_hsm_sign/exceptions.py' adding 'espsecure/esp_sdc/__init__.py' adding 'esptool/__init__.py' adding 'esptool/__main__.py' adding 'esptool/bin_image.py' adding 'esptool/cli_util.py' adding 'esptool/cmds.py' adding 'esptool/config.py' adding 'esptool/loader.py' adding 'esptool/logger.py' adding 'esptool/reset.py' adding 'esptool/uf2_writer.py' adding 'esptool/util.py' adding 'esptool/targets/__init__.py' adding 'esptool/targets/esp32.py' adding 'esptool/targets/esp32c2.py' adding 'esptool/targets/esp32c3.py' adding 'esptool/targets/esp32c5.py' adding 'esptool/targets/esp32c6.py' adding 'esptool/targets/esp32c61.py' adding 'esptool/targets/esp32e22.py' adding 'esptool/targets/esp32h2.py' adding 'esptool/targets/esp32h21.py' adding 'esptool/targets/esp32h4.py' adding 'esptool/targets/esp32p4.py' adding 'esptool/targets/esp32s2.py' adding 'esptool/targets/esp32s3.py' adding 'esptool/targets/esp32s31.py' adding 'esptool/targets/esp8266.py' adding 'esptool/targets/stub_flasher/1/README.md' adding 'esptool/targets/stub_flasher/1/esp32.json' adding 'esptool/targets/stub_flasher/1/esp32c2.json' adding 'esptool/targets/stub_flasher/1/esp32c3.json' adding 'esptool/targets/stub_flasher/1/esp32c5.json' adding 'esptool/targets/stub_flasher/1/esp32c6.json' adding 'esptool/targets/stub_flasher/1/esp32h2.json' adding 'esptool/targets/stub_flasher/1/esp32p4-rev1.json' adding 'esptool/targets/stub_flasher/1/esp32s2.json' adding 'esptool/targets/stub_flasher/1/esp32s3.json' adding 'esptool/targets/stub_flasher/1/esp8266.json' adding 'esptool/targets/stub_flasher/2/LICENSE-APACHE' adding 'esptool/targets/stub_flasher/2/LICENSE-MIT' adding 'esptool/targets/stub_flasher/2/README.md' adding 'esptool/targets/stub_flasher/2/esp32.json' adding 'esptool/targets/stub_flasher/2/esp32c2.json' adding 'esptool/targets/stub_flasher/2/esp32c3.json' adding 'esptool/targets/stub_flasher/2/esp32c5.json' adding 'esptool/targets/stub_flasher/2/esp32c6.json' adding 'esptool/targets/stub_flasher/2/esp32c61.json' adding 'esptool/targets/stub_flasher/2/esp32h2.json' adding 'esptool/targets/stub_flasher/2/esp32h4.json' adding 'esptool/targets/stub_flasher/2/esp32p4-rev1.json' adding 'esptool/targets/stub_flasher/2/esp32p4.json' adding 'esptool/targets/stub_flasher/2/esp32s2.json' adding 'esptool/targets/stub_flasher/2/esp32s3.json' adding 'esptool/targets/stub_flasher/2/esp32s31.json' adding 'esptool/targets/stub_flasher/2/esp8266.json' adding 'esptool-5.4.0.data/scripts/esp_rfc2217_server.py' adding 'esptool-5.4.0.data/scripts/espefuse.py' adding 'esptool-5.4.0.data/scripts/espsecure.py' adding 'esptool-5.4.0.data/scripts/esptool.py' adding 'esptool-5.4.0.dist-info/licenses/LICENSE' adding 'esptool-5.4.0.dist-info/METADATA' adding 'esptool-5.4.0.dist-info/WHEEL' adding 'esptool-5.4.0.dist-info/entry_points.txt' adding 'esptool-5.4.0.dist-info/top_level.txt' adding 'esptool-5.4.0.dist-info/RECORD' removing build/bdist.linux-x86_64/wheel Building wheel for esptool (pyproject.toml): finished with status 'done' Created wheel for esptool: filename=esptool-5.4.0-py3-none-any.whl size=637287 sha256=72dea0e21ad20b8768299b167d26a23ff046f1889cd95938837d007785d96806 Stored in directory: /builddir/build/BUILD/esptool-5.4.0-build/.pyproject-builddir/pip-ephem-wheel-cache-cilucneo/wheels/3f/4f/67/43b3f9367b4d60c8c704b0bb0b956a061b410e197bf49c0755 Successfully built esptool + RPM_EC=0 ++ jobs -p + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.O7T38m + umask 022 + cd /builddir/build/BUILD/esptool-5.4.0-build + '[' /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT '!=' / ']' + rm -rf /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT ++ dirname /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT + mkdir -p /builddir/build/BUILD/esptool-5.4.0-build + mkdir /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd esptool-5.4.0 ++ ls /builddir/build/BUILD/esptool-5.4.0-build/pyproject-wheeldir/esptool-5.4.0-py3-none-any.whl ++ xargs basename --multiple ++ sed -E 's/([^-]+)-([^-]+)-.+\.whl/\1==\2/' + specifier=esptool==5.4.0 + '[' -z esptool==5.4.0 ']' + PIP_CONFIG_FILE=/dev/null + TMPDIR=/builddir/build/BUILD/esptool-5.4.0-build/.pyproject-builddir + /usr/bin/python3 -m pip install --root /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT --prefix /usr --no-deps --disable-pip-version-check --progress-bar off --verbose --ignore-installed --no-warn-script-location --no-index --no-cache-dir --find-links /builddir/build/BUILD/esptool-5.4.0-build/pyproject-wheeldir esptool==5.4.0 Using pip 26.2.1 from /usr/lib/python3.15/site-packages/pip (python 3.15) Looking in links: /builddir/build/BUILD/esptool-5.4.0-build/pyproject-wheeldir Processing /builddir/build/BUILD/esptool-5.4.0-build/pyproject-wheeldir/esptool-5.4.0-py3-none-any.whl Installing collected packages: esptool changing mode of /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/bin/esp_rfc2217_server to 755 changing mode of /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/bin/espefuse to 755 changing mode of /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/bin/espsecure to 755 changing mode of /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/bin/esptool to 755 Successfully installed esptool-5.4.0 + '[' -d /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/bin ']' + '[' -z sP ']' + shebang_flags=-kasP + /usr/bin/python3 -B /usr/lib/rpm/redhat/pathfix.py -pni /usr/bin/python3 -kasP /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/bin/__pycache__ /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/bin/esp_rfc2217_server /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/bin/esp_rfc2217_server.py /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/bin/espefuse /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/bin/espefuse.py /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/bin/espsecure /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/bin/espsecure.py /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/bin/esptool /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/bin/esptool.py recursedown('/builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/bin/__pycache__') /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/bin/esp_rfc2217_server: updating /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/bin/esp_rfc2217_server.py: updating /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/bin/espefuse: updating /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/bin/espefuse.py: updating /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/bin/espsecure: updating /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/bin/espsecure.py: updating /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/bin/esptool: updating /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/bin/esptool.py: updating + rm -rfv /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/bin/__pycache__ removed '/builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/bin/__pycache__/esptool.cpython-315.pyc' removed '/builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/bin/__pycache__/espsecure.cpython-315.pyc' removed '/builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/bin/__pycache__/espefuse.cpython-315.pyc' removed '/builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/bin/__pycache__/esp_rfc2217_server.cpython-315.pyc' removed directory '/builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/bin/__pycache__' + rm -f /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0-1.fc46.x86_64-pyproject-ghost-distinfo + site_dirs=() + '[' -d /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages ']' + site_dirs+=("/usr/lib/python3.15/site-packages") + '[' /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib64/python3.15/site-packages '!=' /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages ']' + '[' -d /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib64/python3.15/site-packages ']' + for site_dir in ${site_dirs[@]} + for distinfo in /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT$site_dir/*.dist-info + echo '%ghost %dir /usr/lib/python3.15/site-packages/esptool-5.4.0.dist-info' +++ basename /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/esptool-5.4.0.dist-info ++ PYTHONPATH=/usr/lib/rpm/redhat ++ /usr/bin/python3 -sBc 'import sys; from pyproject_save_files import canonical_name_from_distinfo; print(canonical_name_from_distinfo(sys.argv[1]))' esptool-5.4.0.dist-info + _normalized=esptool + echo '%ghost %dir /usr/lib/python3.15/site-packages/esptool-5.4.0.dist-info' + sed -i s/pip/rpm/ /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/esptool-5.4.0.dist-info/INSTALLER + PYTHONPATH=/usr/lib/rpm/redhat + /usr/bin/python3 -B /usr/lib/rpm/redhat/pyproject_preprocess_record.py --buildroot /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT --record /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/esptool-5.4.0.dist-info/RECORD --output /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0-1.fc46.x86_64-pyproject-record + rm -fv /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/esptool-5.4.0.dist-info/RECORD removed '/builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/esptool-5.4.0.dist-info/RECORD' + rm -fv /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/esptool-5.4.0.dist-info/REQUESTED removed '/builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/esptool-5.4.0.dist-info/REQUESTED' + '[' -f /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0-1.fc46.x86_64-pyproject-dep-overrides ']' ++ wc -l /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0-1.fc46.x86_64-pyproject-ghost-distinfo ++ cut -f1 '-d ' + lines=1 + '[' 1 -ne 1 ']' + RPM_FILES_ESCAPE=4.19 + /usr/bin/python3 /usr/lib/rpm/redhat/pyproject_save_files.py --output-files /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0-1.fc46.x86_64-pyproject-files --output-modules /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0-1.fc46.x86_64-pyproject-modules --buildroot /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT --sitelib /usr/lib/python3.15/site-packages --sitearch /usr/lib64/python3.15/site-packages --python-version 3.15 --pyproject-record /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0-1.fc46.x86_64-pyproject-record --prefix /usr esptool espefuse espsecure esp_rfc2217_server + /usr/lib/rpm/check-buildroot + /usr/lib/rpm/redhat/brp-ldconfig + COMPRESS='gzip -9 -n' + COMPRESS_EXT=.gz + /usr/lib/rpm/brp-compress + /usr/lib/rpm/brp-strip /usr/bin/strip + /usr/lib/rpm/brp-strip-comment-note /usr/bin/strip /usr/bin/objdump + /usr/lib/rpm/redhat/brp-strip-lto /usr/bin/strip + /usr/lib/rpm/check-rpaths + /usr/lib/rpm/redhat/brp-mangle-shebangs + /usr/lib/rpm/brp-remove-la-files + /usr/lib/rpm/redhat/brp-python-rpm-in-distinfo + env /usr/lib/rpm/redhat/brp-python-bytecompile '' 1 0 -j4 Bytecompiling .py files below /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15 using python3.15 + /usr/lib/rpm/redhat/brp-python-hardlink + /usr/bin/add-det --brp -j4 /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/esptool/__pycache__/uf2_writer.cpython-315.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/esptool/__pycache__/uf2_writer.cpython-315.pyc: replacing with normalized version /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/esptool/__pycache__/util.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/esptool/__pycache__/reset.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/esptool/__pycache__/logger.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/esptool/__pycache__/__init__.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/esptool/__pycache__/cmds.cpython-315.pyc: replacing with normalized version /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/esptool/__pycache__/cmds.cpython-315.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/esptool/__pycache__/cli_util.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/esptool/__pycache__/config.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/esptool/__pycache__/__main__.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/esptool/targets/__pycache__/esp8266.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/esptool/targets/__pycache__/esp32s31.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/esptool/__pycache__/loader.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/esptool/targets/__pycache__/esp32p4.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/esptool/targets/__pycache__/esp32h4.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/esptool/targets/__pycache__/esp32s3.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/esptool/__pycache__/bin_image.cpython-315.pyc: replacing with normalized version /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/esptool/targets/__pycache__/esp32h21.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/esptool/__pycache__/bin_image.cpython-315.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/esptool/targets/__pycache__/esp32h2.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/esptool/targets/__pycache__/esp32c61.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/esptool/targets/__pycache__/esp32s2.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/esptool/targets/__pycache__/esp32e22.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/esptool/targets/__pycache__/esp32c2.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/esptool/targets/__pycache__/esp32c3.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/esptool/targets/__pycache__/esp32c6.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/esptool/targets/__pycache__/__init__.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espsecure/__pycache__/__main__.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/esptool/targets/__pycache__/esp32c5.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/esptool/targets/__pycache__/esp32.cpython-315.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/esptool/targets/__pycache__/esp32.cpython-315.pyc: replacing with normalized version /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espsecure/esp_hsm_sign/__pycache__/exceptions.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espsecure/esp_hsm_sign/__pycache__/__init__.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/__pycache__/efuse_interface.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espsecure/esp_sdc/__pycache__/__init__.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/__pycache__/__main__.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/__pycache__/__init__.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/__pycache__/cli_util.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/__pycache__/token.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/__pycache__/util.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/__pycache__/mem_definition_base.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espsecure/__pycache__/__init__.cpython-315.pyc: replacing with normalized version /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/__pycache__/csv_table_parser.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/__pycache__/emulate_efuse_controller_base.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espsecure/__pycache__/__init__.cpython-315.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/__pycache__/base_operations.cpython-315.pyc: replacing with normalized version /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/__pycache__/base_operations.cpython-315.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/__pycache__/__init__.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32s31/__pycache__/operations.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32s31/__pycache__/mem_definition.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32s31/__pycache__/fields.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32s31/__pycache__/__init__.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/__pycache__/base_fields.cpython-315.pyc: replacing with normalized version /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32s3/__pycache__/mem_definition.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32s31/__pycache__/emulate_efuse_controller.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/__pycache__/base_fields.cpython-315.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32s3/__pycache__/operations.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32s3/__pycache__/__init__.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32s3/__pycache__/fields.cpython-315.pyc: replacing with normalized version /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32s2/__pycache__/__init__.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32s3/__pycache__/emulate_efuse_controller.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32s3/__pycache__/fields.cpython-315.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32s2/__pycache__/operations.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32s2/__pycache__/mem_definition.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32s2/__pycache__/emulate_efuse_controller.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32s2/__pycache__/fields.cpython-315.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32p4/__pycache__/operations.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32s2/__pycache__/fields.cpython-315.pyc: replacing with normalized version /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32p4/__pycache__/mem_definition.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32p4/__pycache__/__init__.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32p4/__pycache__/emulate_efuse_controller.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32h4/__pycache__/operations.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32p4/__pycache__/fields.cpython-315.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32h4/__pycache__/mem_definition.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32p4/__pycache__/fields.cpython-315.pyc: replacing with normalized version /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32h4/__pycache__/__init__.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32h4/__pycache__/fields.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32h4/__pycache__/emulate_efuse_controller.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32h21/__pycache__/mem_definition.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32h21/__pycache__/__init__.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32h21/__pycache__/emulate_efuse_controller.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32h21/__pycache__/operations.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32h21/__pycache__/fields.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32h2/__pycache__/__init__.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32h2/__pycache__/mem_definition.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32h2/__pycache__/operations.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32h2/__pycache__/emulate_efuse_controller.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32e22/__pycache__/mem_definition.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32e22/__pycache__/operations.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32h2/__pycache__/fields.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32e22/__pycache__/__init__.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32e22/__pycache__/emulate_efuse_controller.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32c61/__pycache__/operations.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32c61/__pycache__/fields.cpython-315.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32e22/__pycache__/fields.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32c61/__pycache__/__init__.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32c61/__pycache__/fields.cpython-315.pyc: replacing with normalized version /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32c61/__pycache__/mem_definition.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32c61/__pycache__/emulate_efuse_controller.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32c6/__pycache__/operations.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32c6/__pycache__/mem_definition.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32c6/__pycache__/__init__.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32c6/__pycache__/emulate_efuse_controller.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32c5/__pycache__/__init__.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32c6/__pycache__/fields.cpython-315.pyc: replacing with normalized version /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32c6/__pycache__/fields.cpython-315.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32c5/__pycache__/operations.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32c5/__pycache__/mem_definition.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32c5/__pycache__/emulate_efuse_controller.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32c3/__pycache__/operations.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32c3/__pycache__/mem_definition.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32c5/__pycache__/fields.cpython-315.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32c5/__pycache__/fields.cpython-315.pyc: replacing with normalized version /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32c3/__pycache__/__init__.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32c3/__pycache__/fields.cpython-315.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32c3/__pycache__/emulate_efuse_controller.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32c2/__pycache__/fields.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32c3/__pycache__/fields.cpython-315.pyc: replacing with normalized version /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32c2/__pycache__/mem_definition.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32c2/__pycache__/__init__.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32c2/__pycache__/operations.cpython-315.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32c2/__pycache__/operations.cpython-315.pyc: replacing with normalized version /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32/__pycache__/mem_definition.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32c2/__pycache__/emulate_efuse_controller.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32/__pycache__/operations.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32/__pycache__/__init__.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32/__pycache__/emulate_efuse_controller.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32/__pycache__/fields.cpython-315.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/esp_rfc2217_server/__pycache__/__main__.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/esp_rfc2217_server/__pycache__/esp_port_manager.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/esp_rfc2217_server/__pycache__/redirector.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/esp_rfc2217_server/__pycache__/__init__.cpython-315.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/efuse/esp32/__pycache__/fields.cpython-315.pyc: replacing with normalized version Scanned 56 directories and 412 files, processed 134 inodes, 134 modified (32 replaced + 102 rewritten), 0 unsupported format, 0 errors + /usr/bin/linkdupes --brp /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr Scanned 55 directories and 412 files, considered 412 files, read 50 files, linked 0 files, 0 errors sum of sizes of linked files: 0 bytes Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.ZwCmzr + umask 022 + cd /builddir/build/BUILD/esptool-5.4.0-build + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd esptool-5.4.0 + '[' '!' -f /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0-1.fc46.x86_64-pyproject-modules ']' + PATH=/builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin + PYTHONPATH=/builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib64/python3.15/site-packages:/builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages + _PYTHONSITE=/builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib64/python3.15/site-packages:/builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages + PYTHONDONTWRITEBYTECODE=1 + /usr/bin/python3 -sP /usr/lib/rpm/redhat/import_all_modules.py -f /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0-1.fc46.x86_64-pyproject-modules -e 'espsecure.esp_hsm_sign*' Check import: esp_rfc2217_server Check import: esp_rfc2217_server.esp_port_manager Check import: esp_rfc2217_server.redirector Check import: espefuse Check import: espefuse.cli_util Check import: espefuse.efuse Check import: espefuse.efuse.base_fields Check import: espefuse.efuse.base_operations Check import: espefuse.efuse.csv_table_parser Check import: espefuse.efuse.emulate_efuse_controller_base Check import: espefuse.efuse.esp32 Check import: espefuse.efuse.esp32.emulate_efuse_controller Check import: espefuse.efuse.esp32.fields Check import: espefuse.efuse.esp32.mem_definition Check import: espefuse.efuse.esp32.operations Check import: espefuse.efuse.esp32c2 Check import: espefuse.efuse.esp32c2.emulate_efuse_controller Check import: espefuse.efuse.esp32c2.fields Check import: espefuse.efuse.esp32c2.mem_definition Check import: espefuse.efuse.esp32c2.operations Check import: espefuse.efuse.esp32c3 Check import: espefuse.efuse.esp32c3.emulate_efuse_controller Check import: espefuse.efuse.esp32c3.fields Check import: espefuse.efuse.esp32c3.mem_definition Check import: espefuse.efuse.esp32c3.operations Check import: espefuse.efuse.esp32c5 Check import: espefuse.efuse.esp32c5.emulate_efuse_controller Check import: espefuse.efuse.esp32c5.fields Check import: espefuse.efuse.esp32c5.mem_definition Check import: espefuse.efuse.esp32c5.operations Check import: espefuse.efuse.esp32c6 Check import: espefuse.efuse.esp32c6.emulate_efuse_controller Check import: espefuse.efuse.esp32c6.fields Check import: espefuse.efuse.esp32c6.mem_definition Check import: espefuse.efuse.esp32c6.operations Check import: espefuse.efuse.esp32c61 Check import: espefuse.efuse.esp32c61.emulate_efuse_controller Check import: espefuse.efuse.esp32c61.fields Check import: espefuse.efuse.esp32c61.mem_definition Check import: espefuse.efuse.esp32c61.operations Check import: espefuse.efuse.esp32e22 Check import: espefuse.efuse.esp32e22.emulate_efuse_controller Check import: espefuse.efuse.esp32e22.fields Check import: espefuse.efuse.esp32e22.mem_definition Check import: espefuse.efuse.esp32e22.operations Check import: espefuse.efuse.esp32h2 Check import: espefuse.efuse.esp32h2.emulate_efuse_controller Check import: espefuse.efuse.esp32h2.fields Check import: espefuse.efuse.esp32h2.mem_definition Check import: espefuse.efuse.esp32h2.operations Check import: espefuse.efuse.esp32h21 Check import: espefuse.efuse.esp32h21.emulate_efuse_controller Check import: espefuse.efuse.esp32h21.fields Check import: espefuse.efuse.esp32h21.mem_definition Check import: espefuse.efuse.esp32h21.operations Check import: espefuse.efuse.esp32h4 Check import: espefuse.efuse.esp32h4.emulate_efuse_controller Check import: espefuse.efuse.esp32h4.fields Check import: espefuse.efuse.esp32h4.mem_definition Check import: espefuse.efuse.esp32h4.operations Check import: espefuse.efuse.esp32p4 Check import: espefuse.efuse.esp32p4.emulate_efuse_controller Check import: espefuse.efuse.esp32p4.fields Check import: espefuse.efuse.esp32p4.mem_definition Check import: espefuse.efuse.esp32p4.operations Check import: espefuse.efuse.esp32s2 Check import: espefuse.efuse.esp32s2.emulate_efuse_controller Check import: espefuse.efuse.esp32s2.fields Check import: espefuse.efuse.esp32s2.mem_definition Check import: espefuse.efuse.esp32s2.operations Check import: espefuse.efuse.esp32s3 Check import: espefuse.efuse.esp32s3.emulate_efuse_controller Check import: espefuse.efuse.esp32s3.fields Check import: espefuse.efuse.esp32s3.mem_definition Check import: espefuse.efuse.esp32s3.operations Check import: espefuse.efuse.esp32s31 Check import: espefuse.efuse.esp32s31.emulate_efuse_controller Check import: espefuse.efuse.esp32s31.fields Check import: espefuse.efuse.esp32s31.mem_definition Check import: espefuse.efuse.esp32s31.operations Check import: espefuse.efuse.mem_definition_base Check import: espefuse.efuse.token Check import: espefuse.efuse.util Check import: espefuse.efuse_interface Check import: espsecure Check import: espsecure.esp_sdc Check import: esptool Check import: esptool.bin_image Check import: esptool.cli_util Check import: esptool.cmds Check import: esptool.config Check import: esptool.loader Check import: esptool.logger Check import: esptool.reset Check import: esptool.targets Check import: esptool.targets.esp32 Check import: esptool.targets.esp32c2 Check import: esptool.targets.esp32c3 Check import: esptool.targets.esp32c5 Check import: esptool.targets.esp32c6 Check import: esptool.targets.esp32c61 Check import: esptool.targets.esp32e22 Check import: esptool.targets.esp32h2 Check import: esptool.targets.esp32h21 Check import: esptool.targets.esp32h4 Check import: esptool.targets.esp32p4 Check import: esptool.targets.esp32s2 Check import: esptool.targets.esp32s3 Check import: esptool.targets.esp32s31 Check import: esptool.targets.esp8266 Check import: esptool.uf2_writer Check import: esptool.util + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-hardened-ld-errors -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + PATH=/builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin + PYTHONPATH=/builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib64/python3.15/site-packages:/builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages + PYTHONDONTWRITEBYTECODE=1 + PYTEST_ADDOPTS=' --ignore=/builddir/build/BUILD/esptool-5.4.0-build/.pyproject-builddir' + PYTEST_XDIST_AUTO_NUM_WORKERS=4 + /usr/bin/pytest -m host_test --ignore test/test_espsecure_hsm.py -k 'not ecdsa192' ============================= test session starts ============================== platform linux -- Python 3.15.0rc2, pytest-9.1.1, pluggy-1.6.0 -- /usr/bin/python3 cachedir: .pytest_cache rootdir: /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0 configfile: pyproject.toml plugins: rerunfailures-15.0 collecting ... Host tests of espefuse for esp32: Running espefuse tests... Running esptool tests... collected 639 items / 174 deselected / 465 selected test/test_espefuse.py::TestReadCommands::test_help Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmphttoe2j4 -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. PASSED test/test_espefuse.py::TestReadCommands::test_dump Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpwckwbd6b -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpwckwbd6b -d --do-not-confirm dump -h espefuse v5.4.0 Usage: python -m espefuse dump [OPTIONS] Dump raw hex values of all eFuses. ╭─ Options ────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ --format [default|split|joint|token] Select the dump format: default - usual console eFuse dump; joint - │ │ all eFuse blocks are stored in one file; split - each eFuse block is │ │ placed into its own file. token - dump read area of efuses in EFSR │ │ token format. │ │ --file-name FILE The path to the file in which to save the dump, if not specified, │ │ output to the console. │ │ --help -h Show this message and exit. │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpwckwbd6b -d --do-not-confirm dump espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "dump" command === BLOCK0 ( ) [0 ] dump: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] dump: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] dump: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] dump: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 PASSED test/test_espefuse.py::TestReadCommands::test_dump_format_joint Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp98kiqq34 -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp98kiqq34 -d --do-not-confirm dump --format joint --file-name /tmp/tmp5_r37eyu espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "dump" command === Dump eFuse blocks -> /tmp/tmp5_r37eyu PASSED test/test_espefuse.py::TestReadCommands::test_dump_format_joint_stdout Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpqdrpv15i -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpqdrpv15i -d --do-not-confirm dump --format joint espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "dump" command === 00000000000000000000000000800000000000000000100000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 PASSED test/test_espefuse.py::TestReadCommands::test_dump_split_default Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmplw_gy_88 -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmplw_gy_88 -d --do-not-confirm dump --file-name /tmp/tmpdzllcwf5 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "dump" command === Dump eFuse block0 -> /tmp/tmpdzllcwf50 Dump eFuse block1 -> /tmp/tmpdzllcwf51 Dump eFuse block2 -> /tmp/tmpdzllcwf52 Dump eFuse block3 -> /tmp/tmpdzllcwf53 PASSED test/test_espefuse.py::TestReadCommands::test_dump_format_split_stdout Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp2ep0246o -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp2ep0246o -d --do-not-confirm dump --format split espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "dump" command === 00000000000000000000000000800000000000000000100000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 PASSED test/test_espefuse.py::TestReadCommands::test_dump_split Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpwl__7r7r -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpwl__7r7r -d --do-not-confirm dump --format split --file-name /tmp/tmpwdl7b4d2 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "dump" command === Dump eFuse block0 -> /tmp/tmpwdl7b4d20 Dump eFuse block1 -> /tmp/tmpwdl7b4d21 Dump eFuse block2 -> /tmp/tmpwdl7b4d22 Dump eFuse block3 -> /tmp/tmpwdl7b4d23 PASSED test/test_espefuse.py::TestReadCommands::test_summary Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp5gmauc1b -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp5gmauc1b -d --do-not-confirm summary -h espefuse v5.4.0 Usage: python -m espefuse summary [OPTIONS] [EFUSES_TO_SHOW]... Print human-readable summary of eFuse values. ╭─ Arguments ──────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ EFUSES_TO_SHOW TEXT │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─ Options ────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ --format [summary|json|value_only] Select the summary format. │ │ --active Show only active eFuses. │ │ --file FILENAME File to save the eFuse summary to. │ │ --help -h Show this message and exit. │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp5gmauc1b -d --do-not-confirm summary espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "summary" command === EFUSE_REG_DEC_STATUS 0x00000000 EFUSE_NAME (Block) Description = [Meaningful Value] [Readable/Writeable] (Hex Value) ---------------------------------------------------------------------------------------- Calibration fuses: ADC_VREF (BLOCK0) True ADC reference voltage = 1100 R/W (0b00000) Config fuses: WR_DIS (BLOCK0) Efuse write disable mask = 0 R/W (0x0000) RD_DIS (BLOCK0) Disable reading from BlOCK1-3 = 0 R/W (0x0) DISABLE_APP_CPU (BLOCK0) Disables APP CPU = False R/W (0b0) DISABLE_BT (BLOCK0) Disables Bluetooth = False R/W (0b0) DIS_CACHE (BLOCK0) Disables cache = False R/W (0b0) CHIP_CPU_FREQ_LOW (BLOCK0) If set alongside EFUSE_RD_CHIP_CPU_FREQ_RATED; the = False R/W (0b0) ESP32's max CPU frequency is rated for 160MHz. 24 0MHz otherwise CHIP_CPU_FREQ_RATED (BLOCK0) If set; the ESP32's maximum CPU frequency has been = False R/W (0b0) rated BLK3_PART_RESERVE (BLOCK0) BLOCK3 partially served for ADC calibration data = False R/W (0b0) CLK8M_FREQ (BLOCK0) 8MHz clock freq override = 0 R/W (0x00) VOL_LEVEL_HP_INV (BLOCK0) This field stores the voltage level for CPU to run = 0 R/W (0b00) at 240 MHz; or for flash/PSRAM to run at 80 MHz.0 x0: level 7; 0x1: level 6; 0x2: level 5; 0x3: leve l 4. (RO) CODING_SCHEME (BLOCK0) Efuse variable block length scheme = NONE (BLK1-3 len=256 bits) R/W (0b00) CONSOLE_DEBUG_DISABLE (BLOCK0) Disable ROM BASIC interpreter fallback = False R/W (0b0) DISABLE_SDIO_HOST (BLOCK0) = False R/W (0b0) DISABLE_DL_CACHE (BLOCK0) Disable flash cache in UART bootloader = False R/W (0b0) Flash fuses: FLASH_CRYPT_CNT (BLOCK0) Flash encryption is enabled if this field has an o = 0 R/W (0b0000000) dd number of bits set FLASH_CRYPT_CONFIG (BLOCK0) Flash encryption config (key tweak bits) = 0 R/W (0x0) Identity fuses: CHIP_PACKAGE_4BIT (BLOCK0) Chip package identifier #4bit = False R/W (0b0) CHIP_PACKAGE (BLOCK0) Chip package identifier = 0 R/W (0b000) CHIP_VER_REV1 (BLOCK0) bit is set to 1 for rev1 silicon = True R/W (0b1) CHIP_VER_REV2 (BLOCK0) = True R/W (0b1) WAFER_VERSION_MINOR (BLOCK0) = 0 R/W (0b00) WAFER_VERSION_MAJOR (BLOCK0) calc WAFER VERSION MAJOR from CHIP_VER_REV1 and CH = 3 R/W (0b011) IP_VER_REV2 and apb_ctl_date (read only) PKG_VERSION (BLOCK0) calc Chip package = CHIP_PACKAGE_4BIT << 3 + CHIP_ = 0 R/W (0x0) PACKAGE (read only) Jtag fuses: JTAG_DISABLE (BLOCK0) Disable JTAG = False R/W (0b0) Mac fuses: MAC (BLOCK0) MAC address = 00:00:00:00:00:00 (CRC 0x00 OK) R/W MAC_CRC (BLOCK0) CRC8 for MAC address = 0 R/W (0x00) MAC_VERSION (BLOCK3) Version of the MAC field = 0 R/W (0x00) CUSTOM_MAC_CRC (BLOCK3) CRC8 for custom MAC address = 0 R/W (0x00) CUSTOM_MAC (BLOCK3) Custom MAC address = 00:00:00:00:00:00 (CRC 0x00 OK) R/W Security fuses: UART_DOWNLOAD_DIS (BLOCK0) Disable UART download mode. Valid for ESP32 V3 and = False R/W (0b0) newer; only 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) 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) KEY_STATUS (BLOCK0) Usage of efuse block 3 (reserved) = False R/W (0b0) SECURE_VERSION (BLOCK3) Secure version for anti-rollback = 0 R/W (0x00000000) 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 00 00 00 00 00 00 00 00 R/W BLOCK2 (BLOCK2) Security 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 00 00 00 00 00 00 00 00 R/W BLOCK3 (BLOCK3) Variable Block 3 = 00 00 00 00 00 00 00 00 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 Spi Pad fuses: SPI_PAD_CONFIG_HD (BLOCK0) read for SPI_pad_config_hd = 0 R/W (0b00000) 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_CS0 (BLOCK0) Override SD_CMD pad (GPIO11/SPICS0) = 0 R/W (0b00000) Vdd fuses: XPD_SDIO_REG (BLOCK0) read for XPD_SDIO_REG = False R/W (0b0) XPD_SDIO_TIEH (BLOCK0) If XPD_SDIO_FORCE & XPD_SDIO_REG = 1.8V R/W (0b0) XPD_SDIO_FORCE (BLOCK0) Ignore MTDI pin (GPIO12) for VDD_SDIO on reset = False R/W (0b0) Flash voltage (VDD_SDIO) determined by GPIO12 on reset (High for 1.8V, Low/NC for 3.3V) PASSED test/test_espefuse.py::TestReadCommands::test_summary_json Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpj0u05bqg -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpj0u05bqg -d --do-not-confirm summary --format json espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "summary" command === { "ABS_DONE_0": { "bit_len": 1, "block": 0, "category": "security", "description": "Secure boot V1 is enabled for bootloader image", "efuse_type": "bool", "name": "ABS_DONE_0", "pos": 4, "raw_value": "0x0", "readable": true, "value": false, "word": 6, "writeable": true }, "ABS_DONE_1": { "bit_len": 1, "block": 0, "category": "security", "description": "Secure boot V2 is enabled for bootloader image", "efuse_type": "bool", "name": "ABS_DONE_1", "pos": 5, "raw_value": "0x0", "readable": true, "value": false, "word": 6, "writeable": true }, "ADC_VREF": { "bit_len": 5, "block": 0, "category": "calibration", "description": "True ADC reference voltage", "efuse_type": "uint:5", "name": "ADC_VREF", "pos": 8, "raw_value": "0x00", "readable": true, "value": 1100, "word": 4, "writeable": true }, "BLK3_PART_RESERVE": { "bit_len": 1, "block": 0, "category": "config", "description": "BLOCK3 partially served for ADC calibration data", "efuse_type": "bool", "name": "BLK3_PART_RESERVE", "pos": 14, "raw_value": "0x0", "readable": true, "value": false, "word": 3, "writeable": true }, "BLOCK1": { "bit_len": 256, "block": 1, "category": "security", "description": "Flash encryption key", "efuse_type": "bytes:32", "name": "BLOCK1", "pos": 0, "raw_value": "0x0000000000000000000000000000000000000000000000000000000000000000", "readable": true, "value": "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00", "word": 0, "writeable": true }, "BLOCK2": { "bit_len": 256, "block": 2, "category": "security", "description": "Security boot key", "efuse_type": "bytes:32", "name": "BLOCK2", "pos": 0, "raw_value": "0x0000000000000000000000000000000000000000000000000000000000000000", "readable": true, "value": "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00", "word": 0, "writeable": true }, "BLOCK3": { "bit_len": 256, "block": 3, "category": "security", "description": "Variable Block 3", "efuse_type": "bytes:32", "name": "BLOCK3", "pos": 0, "raw_value": "0x0000000000000000000000000000000000000000000000000000000000000000", "readable": true, "value": "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00", "word": 0, "writeable": true }, "CHIP_CPU_FREQ_LOW": { "bit_len": 1, "block": 0, "category": "config", "description": "If set alongside EFUSE_RD_CHIP_CPU_FREQ_RATED; the ESP32's max CPU frequency is rated for 160MHz. 240MHz otherwise", "efuse_type": "bool", "name": "CHIP_CPU_FREQ_LOW", "pos": 12, "raw_value": "0x0", "readable": true, "value": false, "word": 3, "writeable": true }, "CHIP_CPU_FREQ_RATED": { "bit_len": 1, "block": 0, "category": "config", "description": "If set; the ESP32's maximum CPU frequency has been rated", "efuse_type": "bool", "name": "CHIP_CPU_FREQ_RATED", "pos": 13, "raw_value": "0x0", "readable": true, "value": false, "word": 3, "writeable": true }, "CHIP_PACKAGE": { "bit_len": 3, "block": 0, "category": "identity", "description": "Chip package identifier", "efuse_type": "uint:3", "name": "CHIP_PACKAGE", "pos": 9, "raw_value": "0x0", "readable": true, "value": 0, "word": 3, "writeable": true }, "CHIP_PACKAGE_4BIT": { "bit_len": 1, "block": 0, "category": "identity", "description": "Chip package identifier #4bit", "efuse_type": "bool", "name": "CHIP_PACKAGE_4BIT", "pos": 2, "raw_value": "0x0", "readable": true, "value": false, "word": 3, "writeable": true }, "CHIP_VER_REV1": { "bit_len": 1, "block": 0, "category": "identity", "description": "bit is set to 1 for rev1 silicon", "efuse_type": "bool", "name": "CHIP_VER_REV1", "pos": 15, "raw_value": "0x1", "readable": true, "value": true, "word": 3, "writeable": true }, "CHIP_VER_REV2": { "bit_len": 1, "block": 0, "category": "identity", "description": "", "efuse_type": "bool", "name": "CHIP_VER_REV2", "pos": 20, "raw_value": "0x1", "readable": true, "value": true, "word": 5, "writeable": true }, "CLK8M_FREQ": { "bit_len": 8, "block": 0, "category": "config", "description": "8MHz clock freq override", "efuse_type": "uint:8", "name": "CLK8M_FREQ", "pos": 0, "raw_value": "0x00", "readable": true, "value": 0, "word": 4, "writeable": true }, "CODING_SCHEME": { "bit_len": 2, "block": 0, "category": "config", "description": "Efuse variable block length scheme", "efuse_type": "uint:2", "name": "CODING_SCHEME", "pos": 0, "raw_value": "0x0", "readable": true, "value": "NONE (BLK1-3 len=256 bits)", "word": 6, "writeable": true }, "CONSOLE_DEBUG_DISABLE": { "bit_len": 1, "block": 0, "category": "config", "description": "Disable ROM BASIC interpreter fallback", "efuse_type": "bool", "name": "CONSOLE_DEBUG_DISABLE", "pos": 2, "raw_value": "0x0", "readable": true, "value": false, "word": 6, "writeable": true }, "CUSTOM_MAC": { "bit_len": 48, "block": 3, "category": "MAC", "description": "Custom MAC address", "efuse_type": "bytes:6", "name": "CUSTOM_MAC", "pos": 8, "raw_value": "0x000000000000", "readable": true, "value": "00:00:00:00:00:00 (CRC 0x00 OK)", "word": 0, "writeable": true }, "CUSTOM_MAC_CRC": { "bit_len": 8, "block": 3, "category": "MAC", "description": "CRC8 for custom MAC address", "efuse_type": "uint:8", "name": "CUSTOM_MAC_CRC", "pos": 0, "raw_value": "0x00", "readable": true, "value": 0, "word": 0, "writeable": true }, "DISABLE_APP_CPU": { "bit_len": 1, "block": 0, "category": "config", "description": "Disables APP CPU", "efuse_type": "bool", "name": "DISABLE_APP_CPU", "pos": 0, "raw_value": "0x0", "readable": true, "value": false, "word": 3, "writeable": true }, "DISABLE_BT": { "bit_len": 1, "block": 0, "category": "config", "description": "Disables Bluetooth", "efuse_type": "bool", "name": "DISABLE_BT", "pos": 1, "raw_value": "0x0", "readable": true, "value": false, "word": 3, "writeable": true }, "DISABLE_DL_CACHE": { "bit_len": 1, "block": 0, "category": "config", "description": "Disable flash cache in UART bootloader", "efuse_type": "bool", "name": "DISABLE_DL_CACHE", "pos": 9, "raw_value": "0x0", "readable": true, "value": false, "word": 6, "writeable": true }, "DISABLE_DL_DECRYPT": { "bit_len": 1, "block": 0, "category": "security", "description": "Disable flash decryption in UART bootloader", "efuse_type": "bool", "name": "DISABLE_DL_DECRYPT", "pos": 8, "raw_value": "0x0", "readable": true, "value": false, "word": 6, "writeable": true }, "DISABLE_DL_ENCRYPT": { "bit_len": 1, "block": 0, "category": "security", "description": "Disable flash encryption in UART bootloader", "efuse_type": "bool", "name": "DISABLE_DL_ENCRYPT", "pos": 7, "raw_value": "0x0", "readable": true, "value": false, "word": 6, "writeable": true }, "DISABLE_SDIO_HOST": { "bit_len": 1, "block": 0, "category": "config", "description": "", "efuse_type": "bool", "name": "DISABLE_SDIO_HOST", "pos": 3, "raw_value": "0x0", "readable": true, "value": false, "word": 6, "writeable": true }, "DIS_CACHE": { "bit_len": 1, "block": 0, "category": "config", "description": "Disables cache", "efuse_type": "bool", "name": "DIS_CACHE", "pos": 3, "raw_value": "0x0", "readable": true, "value": false, "word": 3, "writeable": true }, "FLASH_CRYPT_CNT": { "bit_len": 7, "block": 0, "category": "flash", "description": "Flash encryption is enabled if this field has an odd number of bits set", "efuse_type": "uint:7", "name": "FLASH_CRYPT_CNT", "pos": 20, "raw_value": "0x00", "readable": true, "value": 0, "word": 0, "writeable": true }, "FLASH_CRYPT_CONFIG": { "bit_len": 4, "block": 0, "category": "flash", "description": "Flash encryption config (key tweak bits)", "efuse_type": "uint:4", "name": "FLASH_CRYPT_CONFIG", "pos": 28, "raw_value": "0x0", "readable": true, "value": 0, "word": 5, "writeable": true }, "JTAG_DISABLE": { "bit_len": 1, "block": 0, "category": "jtag", "description": "Disable JTAG", "efuse_type": "bool", "name": "JTAG_DISABLE", "pos": 6, "raw_value": "0x0", "readable": true, "value": false, "word": 6, "writeable": true }, "KEY_STATUS": { "bit_len": 1, "block": 0, "category": "security", "description": "Usage of efuse block 3 (reserved)", "efuse_type": "bool", "name": "KEY_STATUS", "pos": 10, "raw_value": "0x0", "readable": true, "value": false, "word": 6, "writeable": true }, "MAC": { "bit_len": 48, "block": 0, "category": "MAC", "description": "MAC address", "efuse_type": "bytes:6", "name": "MAC", "pos": 0, "raw_value": "0x000000000000", "readable": true, "value": "00:00:00:00:00:00 (CRC 0x00 OK)", "word": 1, "writeable": true }, "MAC_CRC": { "bit_len": 8, "block": 0, "category": "MAC", "description": "CRC8 for MAC address", "efuse_type": "uint:8", "name": "MAC_CRC", "pos": 16, "raw_value": "0x00", "readable": true, "value": 0, "word": 2, "writeable": true }, "MAC_VERSION": { "bit_len": 8, "block": 3, "category": "MAC", "description": "Version of the MAC field", "efuse_type": "uint:8", "name": "MAC_VERSION", "pos": 24, "raw_value": "0x00", "readable": true, "value": 0, "word": 5, "writeable": true }, "PKG_VERSION": { "bit_len": 4, "block": 0, "category": "identity", "description": "calc Chip package = CHIP_PACKAGE_4BIT << 3 + CHIP_PACKAGE (read only)", "efuse_type": "uint:4", "name": "PKG_VERSION", "pos": null, "raw_value": "0x0", "readable": true, "value": 0, "word": null, "writeable": true }, "RD_DIS": { "bit_len": 4, "block": 0, "category": "config", "description": "Disable reading from BlOCK1-3", "efuse_type": "uint:4", "name": "RD_DIS", "pos": 16, "raw_value": "0x0", "readable": true, "value": 0, "word": 0, "writeable": true }, "SECURE_VERSION": { "bit_len": 32, "block": 3, "category": "security", "description": "Secure version for anti-rollback", "efuse_type": "uint:32", "name": "SECURE_VERSION", "pos": 0, "raw_value": "0x00000000", "readable": true, "value": 0, "word": 4, "writeable": true }, "SPI_PAD_CONFIG_CLK": { "bit_len": 5, "block": 0, "category": "spi pad", "description": "Override SD_CLK pad (GPIO6/SPICLK)", "efuse_type": "uint:5", "name": "SPI_PAD_CONFIG_CLK", "pos": 0, "raw_value": "0x00", "readable": true, "value": 0, "word": 5, "writeable": true }, "SPI_PAD_CONFIG_CS0": { "bit_len": 5, "block": 0, "category": "spi pad", "description": "Override SD_CMD pad (GPIO11/SPICS0)", "efuse_type": "uint:5", "name": "SPI_PAD_CONFIG_CS0", "pos": 15, "raw_value": "0x00", "readable": true, "value": 0, "word": 5, "writeable": true }, "SPI_PAD_CONFIG_D": { "bit_len": 5, "block": 0, "category": "spi pad", "description": "Override SD_DATA_1 pad (GPIO8/SPID)", "efuse_type": "uint:5", "name": "SPI_PAD_CONFIG_D", "pos": 10, "raw_value": "0x00", "readable": true, "value": 0, "word": 5, "writeable": true }, "SPI_PAD_CONFIG_HD": { "bit_len": 5, "block": 0, "category": "spi pad", "description": "read for SPI_pad_config_hd", "efuse_type": "uint:5", "name": "SPI_PAD_CONFIG_HD", "pos": 4, "raw_value": "0x00", "readable": true, "value": 0, "word": 3, "writeable": true }, "SPI_PAD_CONFIG_Q": { "bit_len": 5, "block": 0, "category": "spi pad", "description": "Override SD_DATA_0 pad (GPIO7/SPIQ)", "efuse_type": "uint:5", "name": "SPI_PAD_CONFIG_Q", "pos": 5, "raw_value": "0x00", "readable": true, "value": 0, "word": 5, "writeable": true }, "UART_DOWNLOAD_DIS": { "bit_len": 1, "block": 0, "category": "security", "description": "Disable UART download mode. Valid for ESP32 V3 and newer; only", "efuse_type": "bool", "name": "UART_DOWNLOAD_DIS", "pos": 27, "raw_value": "0x0", "readable": true, "value": false, "word": 0, "writeable": true }, "VOL_LEVEL_HP_INV": { "bit_len": 2, "block": 0, "category": "config", "description": "This field stores the voltage level for CPU to run at 240 MHz; or for flash/PSRAM to run at 80 MHz.0x0: level 7; 0x1: level 6; 0x2: level 5; 0x3: level 4. (RO)", "efuse_type": "uint:2", "name": "VOL_LEVEL_HP_INV", "pos": 22, "raw_value": "0x0", "readable": true, "value": 0, "word": 5, "writeable": true }, "WAFER_VERSION_MAJOR": { "bit_len": 3, "block": 0, "category": "identity", "description": "calc WAFER VERSION MAJOR from CHIP_VER_REV1 and CHIP_VER_REV2 and apb_ctl_date (read only)", "efuse_type": "uint:3", "name": "WAFER_VERSION_MAJOR", "pos": null, "raw_value": "0x3", "readable": true, "value": 3, "word": null, "writeable": true }, "WAFER_VERSION_MINOR": { "bit_len": 2, "block": 0, "category": "identity", "description": "", "efuse_type": "uint:2", "name": "WAFER_VERSION_MINOR", "pos": 24, "raw_value": "0x0", "readable": true, "value": 0, "word": 5, "writeable": true }, "WR_DIS": { "bit_len": 16, "block": 0, "category": "config", "description": "Efuse write disable mask", "efuse_type": "uint:16", "name": "WR_DIS", "pos": 0, "raw_value": "0x0000", "readable": true, "value": 0, "word": 0, "writeable": true }, "XPD_SDIO_FORCE": { "bit_len": 1, "block": 0, "category": "vdd", "description": "Ignore MTDI pin (GPIO12) for VDD_SDIO on reset", "efuse_type": "bool", "name": "XPD_SDIO_FORCE", "pos": 16, "raw_value": "0x0", "readable": true, "value": false, "word": 4, "writeable": true }, "XPD_SDIO_REG": { "bit_len": 1, "block": 0, "category": "vdd", "description": "read for XPD_SDIO_REG", "efuse_type": "bool", "name": "XPD_SDIO_REG", "pos": 14, "raw_value": "0x0", "readable": true, "value": false, "word": 4, "writeable": true }, "XPD_SDIO_TIEH": { "bit_len": 1, "block": 0, "category": "vdd", "description": "If XPD_SDIO_FORCE & XPD_SDIO_REG", "efuse_type": "bool", "name": "XPD_SDIO_TIEH", "pos": 15, "raw_value": "0x0", "readable": true, "value": "1.8V", "word": 4, "writeable": true } } PASSED test/test_espefuse.py::TestReadCommands::test_summary_json_to_file Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp5brxdtty -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp5brxdtty -d --do-not-confirm summary --format json --file /tmp/tmpngwx73fh espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "summary" command === Saving eFuse values to /tmp/tmpngwx73fh Done PASSED test/test_espefuse.py::TestReadCommands::test_summary_json_raw_value Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpdklk3qwg -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpdklk3qwg -d --do-not-confirm summary --format json espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "summary" command === { "ABS_DONE_0": { "bit_len": 1, "block": 0, "category": "security", "description": "Secure boot V1 is enabled for bootloader image", "efuse_type": "bool", "name": "ABS_DONE_0", "pos": 4, "raw_value": "0x0", "readable": true, "value": false, "word": 6, "writeable": true }, "ABS_DONE_1": { "bit_len": 1, "block": 0, "category": "security", "description": "Secure boot V2 is enabled for bootloader image", "efuse_type": "bool", "name": "ABS_DONE_1", "pos": 5, "raw_value": "0x0", "readable": true, "value": false, "word": 6, "writeable": true }, "ADC_VREF": { "bit_len": 5, "block": 0, "category": "calibration", "description": "True ADC reference voltage", "efuse_type": "uint:5", "name": "ADC_VREF", "pos": 8, "raw_value": "0x00", "readable": true, "value": 1100, "word": 4, "writeable": true }, "BLK3_PART_RESERVE": { "bit_len": 1, "block": 0, "category": "config", "description": "BLOCK3 partially served for ADC calibration data", "efuse_type": "bool", "name": "BLK3_PART_RESERVE", "pos": 14, "raw_value": "0x0", "readable": true, "value": false, "word": 3, "writeable": true }, "BLOCK1": { "bit_len": 256, "block": 1, "category": "security", "description": "Flash encryption key", "efuse_type": "bytes:32", "name": "BLOCK1", "pos": 0, "raw_value": "0x0000000000000000000000000000000000000000000000000000000000000000", "readable": true, "value": "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00", "word": 0, "writeable": true }, "BLOCK2": { "bit_len": 256, "block": 2, "category": "security", "description": "Security boot key", "efuse_type": "bytes:32", "name": "BLOCK2", "pos": 0, "raw_value": "0x0000000000000000000000000000000000000000000000000000000000000000", "readable": true, "value": "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00", "word": 0, "writeable": true }, "BLOCK3": { "bit_len": 256, "block": 3, "category": "security", "description": "Variable Block 3", "efuse_type": "bytes:32", "name": "BLOCK3", "pos": 0, "raw_value": "0x0000000000000000000000000000000000000000000000000000000000000000", "readable": true, "value": "00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00", "word": 0, "writeable": true }, "CHIP_CPU_FREQ_LOW": { "bit_len": 1, "block": 0, "category": "config", "description": "If set alongside EFUSE_RD_CHIP_CPU_FREQ_RATED; the ESP32's max CPU frequency is rated for 160MHz. 240MHz otherwise", "efuse_type": "bool", "name": "CHIP_CPU_FREQ_LOW", "pos": 12, "raw_value": "0x0", "readable": true, "value": false, "word": 3, "writeable": true }, "CHIP_CPU_FREQ_RATED": { "bit_len": 1, "block": 0, "category": "config", "description": "If set; the ESP32's maximum CPU frequency has been rated", "efuse_type": "bool", "name": "CHIP_CPU_FREQ_RATED", "pos": 13, "raw_value": "0x0", "readable": true, "value": false, "word": 3, "writeable": true }, "CHIP_PACKAGE": { "bit_len": 3, "block": 0, "category": "identity", "description": "Chip package identifier", "efuse_type": "uint:3", "name": "CHIP_PACKAGE", "pos": 9, "raw_value": "0x0", "readable": true, "value": 0, "word": 3, "writeable": true }, "CHIP_PACKAGE_4BIT": { "bit_len": 1, "block": 0, "category": "identity", "description": "Chip package identifier #4bit", "efuse_type": "bool", "name": "CHIP_PACKAGE_4BIT", "pos": 2, "raw_value": "0x0", "readable": true, "value": false, "word": 3, "writeable": true }, "CHIP_VER_REV1": { "bit_len": 1, "block": 0, "category": "identity", "description": "bit is set to 1 for rev1 silicon", "efuse_type": "bool", "name": "CHIP_VER_REV1", "pos": 15, "raw_value": "0x1", "readable": true, "value": true, "word": 3, "writeable": true }, "CHIP_VER_REV2": { "bit_len": 1, "block": 0, "category": "identity", "description": "", "efuse_type": "bool", "name": "CHIP_VER_REV2", "pos": 20, "raw_value": "0x1", "readable": true, "value": true, "word": 5, "writeable": true }, "CLK8M_FREQ": { "bit_len": 8, "block": 0, "category": "config", "description": "8MHz clock freq override", "efuse_type": "uint:8", "name": "CLK8M_FREQ", "pos": 0, "raw_value": "0x00", "readable": true, "value": 0, "word": 4, "writeable": true }, "CODING_SCHEME": { "bit_len": 2, "block": 0, "category": "config", "description": "Efuse variable block length scheme", "efuse_type": "uint:2", "name": "CODING_SCHEME", "pos": 0, "raw_value": "0x0", "readable": true, "value": "NONE (BLK1-3 len=256 bits)", "word": 6, "writeable": true }, "CONSOLE_DEBUG_DISABLE": { "bit_len": 1, "block": 0, "category": "config", "description": "Disable ROM BASIC interpreter fallback", "efuse_type": "bool", "name": "CONSOLE_DEBUG_DISABLE", "pos": 2, "raw_value": "0x0", "readable": true, "value": false, "word": 6, "writeable": true }, "CUSTOM_MAC": { "bit_len": 48, "block": 3, "category": "MAC", "description": "Custom MAC address", "efuse_type": "bytes:6", "name": "CUSTOM_MAC", "pos": 8, "raw_value": "0x000000000000", "readable": true, "value": "00:00:00:00:00:00 (CRC 0x00 OK)", "word": 0, "writeable": true }, "CUSTOM_MAC_CRC": { "bit_len": 8, "block": 3, "category": "MAC", "description": "CRC8 for custom MAC address", "efuse_type": "uint:8", "name": "CUSTOM_MAC_CRC", "pos": 0, "raw_value": "0x00", "readable": true, "value": 0, "word": 0, "writeable": true }, "DISABLE_APP_CPU": { "bit_len": 1, "block": 0, "category": "config", "description": "Disables APP CPU", "efuse_type": "bool", "name": "DISABLE_APP_CPU", "pos": 0, "raw_value": "0x0", "readable": true, "value": false, "word": 3, "writeable": true }, "DISABLE_BT": { "bit_len": 1, "block": 0, "category": "config", "description": "Disables Bluetooth", "efuse_type": "bool", "name": "DISABLE_BT", "pos": 1, "raw_value": "0x0", "readable": true, "value": false, "word": 3, "writeable": true }, "DISABLE_DL_CACHE": { "bit_len": 1, "block": 0, "category": "config", "description": "Disable flash cache in UART bootloader", "efuse_type": "bool", "name": "DISABLE_DL_CACHE", "pos": 9, "raw_value": "0x0", "readable": true, "value": false, "word": 6, "writeable": true }, "DISABLE_DL_DECRYPT": { "bit_len": 1, "block": 0, "category": "security", "description": "Disable flash decryption in UART bootloader", "efuse_type": "bool", "name": "DISABLE_DL_DECRYPT", "pos": 8, "raw_value": "0x0", "readable": true, "value": false, "word": 6, "writeable": true }, "DISABLE_DL_ENCRYPT": { "bit_len": 1, "block": 0, "category": "security", "description": "Disable flash encryption in UART bootloader", "efuse_type": "bool", "name": "DISABLE_DL_ENCRYPT", "pos": 7, "raw_value": "0x0", "readable": true, "value": false, "word": 6, "writeable": true }, "DISABLE_SDIO_HOST": { "bit_len": 1, "block": 0, "category": "config", "description": "", "efuse_type": "bool", "name": "DISABLE_SDIO_HOST", "pos": 3, "raw_value": "0x0", "readable": true, "value": false, "word": 6, "writeable": true }, "DIS_CACHE": { "bit_len": 1, "block": 0, "category": "config", "description": "Disables cache", "efuse_type": "bool", "name": "DIS_CACHE", "pos": 3, "raw_value": "0x0", "readable": true, "value": false, "word": 3, "writeable": true }, "FLASH_CRYPT_CNT": { "bit_len": 7, "block": 0, "category": "flash", "description": "Flash encryption is enabled if this field has an odd number of bits set", "efuse_type": "uint:7", "name": "FLASH_CRYPT_CNT", "pos": 20, "raw_value": "0x00", "readable": true, "value": 0, "word": 0, "writeable": true }, "FLASH_CRYPT_CONFIG": { "bit_len": 4, "block": 0, "category": "flash", "description": "Flash encryption config (key tweak bits)", "efuse_type": "uint:4", "name": "FLASH_CRYPT_CONFIG", "pos": 28, "raw_value": "0x0", "readable": true, "value": 0, "word": 5, "writeable": true }, "JTAG_DISABLE": { "bit_len": 1, "block": 0, "category": "jtag", "description": "Disable JTAG", "efuse_type": "bool", "name": "JTAG_DISABLE", "pos": 6, "raw_value": "0x0", "readable": true, "value": false, "word": 6, "writeable": true }, "KEY_STATUS": { "bit_len": 1, "block": 0, "category": "security", "description": "Usage of efuse block 3 (reserved)", "efuse_type": "bool", "name": "KEY_STATUS", "pos": 10, "raw_value": "0x0", "readable": true, "value": false, "word": 6, "writeable": true }, "MAC": { "bit_len": 48, "block": 0, "category": "MAC", "description": "MAC address", "efuse_type": "bytes:6", "name": "MAC", "pos": 0, "raw_value": "0x000000000000", "readable": true, "value": "00:00:00:00:00:00 (CRC 0x00 OK)", "word": 1, "writeable": true }, "MAC_CRC": { "bit_len": 8, "block": 0, "category": "MAC", "description": "CRC8 for MAC address", "efuse_type": "uint:8", "name": "MAC_CRC", "pos": 16, "raw_value": "0x00", "readable": true, "value": 0, "word": 2, "writeable": true }, "MAC_VERSION": { "bit_len": 8, "block": 3, "category": "MAC", "description": "Version of the MAC field", "efuse_type": "uint:8", "name": "MAC_VERSION", "pos": 24, "raw_value": "0x00", "readable": true, "value": 0, "word": 5, "writeable": true }, "PKG_VERSION": { "bit_len": 4, "block": 0, "category": "identity", "description": "calc Chip package = CHIP_PACKAGE_4BIT << 3 + CHIP_PACKAGE (read only)", "efuse_type": "uint:4", "name": "PKG_VERSION", "pos": null, "raw_value": "0x0", "readable": true, "value": 0, "word": null, "writeable": true }, "RD_DIS": { "bit_len": 4, "block": 0, "category": "config", "description": "Disable reading from BlOCK1-3", "efuse_type": "uint:4", "name": "RD_DIS", "pos": 16, "raw_value": "0x0", "readable": true, "value": 0, "word": 0, "writeable": true }, "SECURE_VERSION": { "bit_len": 32, "block": 3, "category": "security", "description": "Secure version for anti-rollback", "efuse_type": "uint:32", "name": "SECURE_VERSION", "pos": 0, "raw_value": "0x00000000", "readable": true, "value": 0, "word": 4, "writeable": true }, "SPI_PAD_CONFIG_CLK": { "bit_len": 5, "block": 0, "category": "spi pad", "description": "Override SD_CLK pad (GPIO6/SPICLK)", "efuse_type": "uint:5", "name": "SPI_PAD_CONFIG_CLK", "pos": 0, "raw_value": "0x00", "readable": true, "value": 0, "word": 5, "writeable": true }, "SPI_PAD_CONFIG_CS0": { "bit_len": 5, "block": 0, "category": "spi pad", "description": "Override SD_CMD pad (GPIO11/SPICS0)", "efuse_type": "uint:5", "name": "SPI_PAD_CONFIG_CS0", "pos": 15, "raw_value": "0x00", "readable": true, "value": 0, "word": 5, "writeable": true }, "SPI_PAD_CONFIG_D": { "bit_len": 5, "block": 0, "category": "spi pad", "description": "Override SD_DATA_1 pad (GPIO8/SPID)", "efuse_type": "uint:5", "name": "SPI_PAD_CONFIG_D", "pos": 10, "raw_value": "0x00", "readable": true, "value": 0, "word": 5, "writeable": true }, "SPI_PAD_CONFIG_HD": { "bit_len": 5, "block": 0, "category": "spi pad", "description": "read for SPI_pad_config_hd", "efuse_type": "uint:5", "name": "SPI_PAD_CONFIG_HD", "pos": 4, "raw_value": "0x00", "readable": true, "value": 0, "word": 3, "writeable": true }, "SPI_PAD_CONFIG_Q": { "bit_len": 5, "block": 0, "category": "spi pad", "description": "Override SD_DATA_0 pad (GPIO7/SPIQ)", "efuse_type": "uint:5", "name": "SPI_PAD_CONFIG_Q", "pos": 5, "raw_value": "0x00", "readable": true, "value": 0, "word": 5, "writeable": true }, "UART_DOWNLOAD_DIS": { "bit_len": 1, "block": 0, "category": "security", "description": "Disable UART download mode. Valid for ESP32 V3 and newer; only", "efuse_type": "bool", "name": "UART_DOWNLOAD_DIS", "pos": 27, "raw_value": "0x0", "readable": true, "value": false, "word": 0, "writeable": true }, "VOL_LEVEL_HP_INV": { "bit_len": 2, "block": 0, "category": "config", "description": "This field stores the voltage level for CPU to run at 240 MHz; or for flash/PSRAM to run at 80 MHz.0x0: level 7; 0x1: level 6; 0x2: level 5; 0x3: level 4. (RO)", "efuse_type": "uint:2", "name": "VOL_LEVEL_HP_INV", "pos": 22, "raw_value": "0x0", "readable": true, "value": 0, "word": 5, "writeable": true }, "WAFER_VERSION_MAJOR": { "bit_len": 3, "block": 0, "category": "identity", "description": "calc WAFER VERSION MAJOR from CHIP_VER_REV1 and CHIP_VER_REV2 and apb_ctl_date (read only)", "efuse_type": "uint:3", "name": "WAFER_VERSION_MAJOR", "pos": null, "raw_value": "0x3", "readable": true, "value": 3, "word": null, "writeable": true }, "WAFER_VERSION_MINOR": { "bit_len": 2, "block": 0, "category": "identity", "description": "", "efuse_type": "uint:2", "name": "WAFER_VERSION_MINOR", "pos": 24, "raw_value": "0x0", "readable": true, "value": 0, "word": 5, "writeable": true }, "WR_DIS": { "bit_len": 16, "block": 0, "category": "config", "description": "Efuse write disable mask", "efuse_type": "uint:16", "name": "WR_DIS", "pos": 0, "raw_value": "0x0000", "readable": true, "value": 0, "word": 0, "writeable": true }, "XPD_SDIO_FORCE": { "bit_len": 1, "block": 0, "category": "vdd", "description": "Ignore MTDI pin (GPIO12) for VDD_SDIO on reset", "efuse_type": "bool", "name": "XPD_SDIO_FORCE", "pos": 16, "raw_value": "0x0", "readable": true, "value": false, "word": 4, "writeable": true }, "XPD_SDIO_REG": { "bit_len": 1, "block": 0, "category": "vdd", "description": "read for XPD_SDIO_REG", "efuse_type": "bool", "name": "XPD_SDIO_REG", "pos": 14, "raw_value": "0x0", "readable": true, "value": false, "word": 4, "writeable": true }, "XPD_SDIO_TIEH": { "bit_len": 1, "block": 0, "category": "vdd", "description": "If XPD_SDIO_FORCE & XPD_SDIO_REG", "efuse_type": "bool", "name": "XPD_SDIO_TIEH", "pos": 15, "raw_value": "0x0", "readable": true, "value": "1.8V", "word": 4, "writeable": true } } PASSED test/test_espefuse.py::TestReadCommands::test_summary_filter Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpp6pxe757 -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpp6pxe757 -d --do-not-confirm summary MAC espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "summary" command === EFUSE_REG_DEC_STATUS 0x00000000 EFUSE_NAME (Block) Description = [Meaningful Value] [Readable/Writeable] (Hex Value) ---------------------------------------------------------------------------------------- Mac fuses: MAC (BLOCK0) MAC address = 00:00:00:00:00:00 (CRC 0x00 OK) R/W Flash voltage (VDD_SDIO) determined by GPIO12 on reset (High for 1.8V, Low/NC for 3.3V) Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpp6pxe757 -d --do-not-confirm summary --format value_only MAC espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "summary" command === 00:00:00:00:00:00 (CRC 0x00 OK) Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpp6pxe757 -d --do-not-confirm summary --format value_only MAC WR_DIS espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "summary" command === ERROR: A fatal error occurred: The 'value_only' format can be used exactly for one eFuse. /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpp6pxe757 -d --do-not-confirm summary --format value_only MAC WR_DIS espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "summary" command === ERROR: A fatal error occurred: The 'value_only' format can be used exactly for one eFuse. PASSED test/test_espefuse.py::TestReadCommands::test_summary_active Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp1kinc7lg -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp1kinc7lg -d --do-not-confirm summary espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "summary" command === EFUSE_REG_DEC_STATUS 0x00000000 EFUSE_NAME (Block) Description = [Meaningful Value] [Readable/Writeable] (Hex Value) ---------------------------------------------------------------------------------------- Calibration fuses: ADC_VREF (BLOCK0) True ADC reference voltage = 1100 R/W (0b00000) Config fuses: WR_DIS (BLOCK0) Efuse write disable mask = 0 R/W (0x0000) RD_DIS (BLOCK0) Disable reading from BlOCK1-3 = 0 R/W (0x0) DISABLE_APP_CPU (BLOCK0) Disables APP CPU = False R/W (0b0) DISABLE_BT (BLOCK0) Disables Bluetooth = False R/W (0b0) DIS_CACHE (BLOCK0) Disables cache = False R/W (0b0) CHIP_CPU_FREQ_LOW (BLOCK0) If set alongside EFUSE_RD_CHIP_CPU_FREQ_RATED; the = False R/W (0b0) ESP32's max CPU frequency is rated for 160MHz. 24 0MHz otherwise CHIP_CPU_FREQ_RATED (BLOCK0) If set; the ESP32's maximum CPU frequency has been = False R/W (0b0) rated BLK3_PART_RESERVE (BLOCK0) BLOCK3 partially served for ADC calibration data = False R/W (0b0) CLK8M_FREQ (BLOCK0) 8MHz clock freq override = 0 R/W (0x00) VOL_LEVEL_HP_INV (BLOCK0) This field stores the voltage level for CPU to run = 0 R/W (0b00) at 240 MHz; or for flash/PSRAM to run at 80 MHz.0 x0: level 7; 0x1: level 6; 0x2: level 5; 0x3: leve l 4. (RO) CODING_SCHEME (BLOCK0) Efuse variable block length scheme = NONE (BLK1-3 len=256 bits) R/W (0b00) CONSOLE_DEBUG_DISABLE (BLOCK0) Disable ROM BASIC interpreter fallback = False R/W (0b0) DISABLE_SDIO_HOST (BLOCK0) = False R/W (0b0) DISABLE_DL_CACHE (BLOCK0) Disable flash cache in UART bootloader = False R/W (0b0) Flash fuses: FLASH_CRYPT_CNT (BLOCK0) Flash encryption is enabled if this field has an o = 0 R/W (0b0000000) dd number of bits set FLASH_CRYPT_CONFIG (BLOCK0) Flash encryption config (key tweak bits) = 0 R/W (0x0) Identity fuses: CHIP_PACKAGE_4BIT (BLOCK0) Chip package identifier #4bit = False R/W (0b0) CHIP_PACKAGE (BLOCK0) Chip package identifier = 0 R/W (0b000) CHIP_VER_REV1 (BLOCK0) bit is set to 1 for rev1 silicon = True R/W (0b1) CHIP_VER_REV2 (BLOCK0) = True R/W (0b1) WAFER_VERSION_MINOR (BLOCK0) = 0 R/W (0b00) WAFER_VERSION_MAJOR (BLOCK0) calc WAFER VERSION MAJOR from CHIP_VER_REV1 and CH = 3 R/W (0b011) IP_VER_REV2 and apb_ctl_date (read only) PKG_VERSION (BLOCK0) calc Chip package = CHIP_PACKAGE_4BIT << 3 + CHIP_ = 0 R/W (0x0) PACKAGE (read only) Jtag fuses: JTAG_DISABLE (BLOCK0) Disable JTAG = False R/W (0b0) Mac fuses: MAC (BLOCK0) MAC address = 00:00:00:00:00:00 (CRC 0x00 OK) R/W MAC_CRC (BLOCK0) CRC8 for MAC address = 0 R/W (0x00) MAC_VERSION (BLOCK3) Version of the MAC field = 0 R/W (0x00) CUSTOM_MAC_CRC (BLOCK3) CRC8 for custom MAC address = 0 R/W (0x00) CUSTOM_MAC (BLOCK3) Custom MAC address = 00:00:00:00:00:00 (CRC 0x00 OK) R/W Security fuses: UART_DOWNLOAD_DIS (BLOCK0) Disable UART download mode. Valid for ESP32 V3 and = False R/W (0b0) newer; only 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) 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) KEY_STATUS (BLOCK0) Usage of efuse block 3 (reserved) = False R/W (0b0) SECURE_VERSION (BLOCK3) Secure version for anti-rollback = 0 R/W (0x00000000) 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 00 00 00 00 00 00 00 00 R/W BLOCK2 (BLOCK2) Security 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 00 00 00 00 00 00 00 00 R/W BLOCK3 (BLOCK3) Variable Block 3 = 00 00 00 00 00 00 00 00 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 Spi Pad fuses: SPI_PAD_CONFIG_HD (BLOCK0) read for SPI_pad_config_hd = 0 R/W (0b00000) 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_CS0 (BLOCK0) Override SD_CMD pad (GPIO11/SPICS0) = 0 R/W (0b00000) Vdd fuses: XPD_SDIO_REG (BLOCK0) read for XPD_SDIO_REG = False R/W (0b0) XPD_SDIO_TIEH (BLOCK0) If XPD_SDIO_FORCE & XPD_SDIO_REG = 1.8V R/W (0b0) XPD_SDIO_FORCE (BLOCK0) Ignore MTDI pin (GPIO12) for VDD_SDIO on reset = False R/W (0b0) Flash voltage (VDD_SDIO) determined by GPIO12 on reset (High for 1.8V, Low/NC for 3.3V) Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp1kinc7lg -d --do-not-confirm summary --active espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "summary" command === EFUSE_REG_DEC_STATUS 0x00000000 EFUSE_NAME (Block) Description = [Meaningful Value] [Readable/Writeable] (Hex Value) ---------------------------------------------------------------------------------------- Calibration fuses: Config fuses: Flash fuses: Identity fuses: CHIP_VER_REV1 (BLOCK0) bit is set to 1 for rev1 silicon = True R/W (0b1) CHIP_VER_REV2 (BLOCK0) = True R/W (0b1) WAFER_VERSION_MAJOR (BLOCK0) calc WAFER VERSION MAJOR from CHIP_VER_REV1 and CH = 3 R/W (0b011) IP_VER_REV2 and apb_ctl_date (read only) Jtag fuses: Mac fuses: Security fuses: Spi Pad fuses: Vdd fuses: Flash voltage (VDD_SDIO) determined by GPIO12 on reset (High for 1.8V, Low/NC for 3.3V) PASSED test/test_espefuse.py::TestReadCommands::test_get_custom_mac Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp9azoyvap -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp9azoyvap -d --do-not-confirm get-custom-mac -h espefuse v5.4.0 Usage: python -m espefuse get-custom-mac [OPTIONS] Get the 48-bit Custom MAC Address. ╭─ Options ────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ --help -h Show this message and exit. │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp9azoyvap -d --do-not-confirm get-custom-mac espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "get-custom-mac" command === Custom MAC Address is not set in the device. PASSED test/test_espefuse.py::TestReadCommands::test_adc_info Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpde9o3700 -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpde9o3700 -d --do-not-confirm adc-info -h espefuse v5.4.0 Usage: python -m espefuse adc-info [OPTIONS] Display information about ADC calibration data stored in eFuse. ╭─ Options ────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ --help -h Show this message and exit. │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpde9o3700 -d --do-not-confirm adc-info espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "adc-info" command === ADC VRef calibration: None (1100mV nominal) PASSED test/test_espefuse.py::TestReadCommands::test_adc_info_2 Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpv0jpp10e -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpv0jpp10e -d --do-not-confirm burn-efuse BLK3_PART_RESERVE 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - BLK3_PART_RESERVE Burning eFuses: - 'BLK3_PART_RESERVE' (BLOCK3 partially served for ADC calibration data) 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is not empty (written ): 0x00000000001000000000000000008000000000000000000000000000 (to write): 0x00000000000000000000000000004000000000000000000000000000 (coding scheme = NONE) [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00004000 00000000 00000000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 4000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 0 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000004000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 0000c000 00000000 00100000 00000000 BURN BLOCK0 - OK (all write block bits are set) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 0000c000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpv0jpp10e -d --do-not-confirm adc-info espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 0000c000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "adc-info" command === ADC VRef calibration: None (1100mV nominal) ADC readings stored in eFuse BLOCK3: ADC1 Low reading (150mV): 278 ADC1 High reading (850mV): 3265 ADC2 Low reading (150mV): 421 ADC2 High reading (850mV): 3406 PASSED test/test_espefuse.py::TestReadCommands::test_check_error Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpd7us5eze -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpd7us5eze -d --do-not-confirm check-error -h espefuse v5.4.0 Usage: python -m espefuse check-error [OPTIONS] Checks eFuse errors. ╭─ Options ────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ --recovery Recovery of BLOCKs after encoding errors. │ │ --help -h Show this message and exit. │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpd7us5eze -d --do-not-confirm check-error espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "check-error" command === EFUSE_REG_DEC_STATUS 0x00000000 No errors detected. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpd7us5eze -d --do-not-confirm check-error --recovery espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "check-error" command === EFUSE_REG_DEC_STATUS 0x00000000 No errors detected. PASSED test/test_espefuse.py::TestReadProtectionCommands::test_read_protect_efuse Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp37qmjno3 -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp37qmjno3 -d --do-not-confirm read-protect-efuse -h espefuse v5.4.0 Usage: python -m espefuse read-protect-efuse [OPTIONS] {BLK3_PART_RESERVE|FLASH_CRYPT_CONFIG|ENCRYPT_CONFIG|CODING_SCHEME|KEY_STATUS|SECURE_VERSION|MAC_VERSION|MAC_CUSTOM_V… Disable readback for the selected eFuse with the specified name. ╭─ Arguments ──────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ * EFUSE_NAME {BLK3_PART_RESERVE|FLASH_CRYPT_CONFIG|ENCRYPT_CO [required] │ │ NFIG|CODING_SCHEME|KEY_STATUS|SECURE_VERSION|MAC │ │ _VERSION|MAC_CUSTOM_VER|BLOCK1|ENCRYPT_FLASH_KEY │ │ |BLOCK2|SECURE_BOOT_KEY|BLOCK3|CUSTOM_MAC_CRC|MA │ │ C_CUSTOM_CRC|CUSTOM_MAC|MAC_CUSTOM|ADC1_TP_LOW|A │ │ DC1_TP_HIGH|ADC2_TP_LOW|ADC2_TP_HIGH}... │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─ Options ────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ --show-token Display the eFuse token dump for the write operation before the confirmation prompt. This │ │ produces EFSW token. If the goal is only to obtain the token, press ENTER to abort (no burning │ │ will occur). Be aware that this may expose sensitive data. │ │ --help -h Show this message and exit. │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp37qmjno3 -d --do-not-confirm read-protect-efuse CODING_SCHEME MAC_VERSION BLOCK1 BLOCK2 BLOCK3 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "read-protect-efuse" command === Permanently read-disabling eFuses BLK3_PART_RESERVE, FLASH_CRYPT_CONFIG, CODING_SCHEME, KEY_STATUS Permanently read-disabling eFuses SECURE_VERSION, MAC_VERSION, BLOCK3, CUSTOM_MAC_CRC, CUSTOM_MAC Permanently read-disabling eFuse BLOCK1 If Secure Boot V2 is used, BLOCK2 must be readable, please stop this operation! Permanently read-disabling eFuse BLOCK2 Permanently read-disabling eFuses SECURE_VERSION, MAC_VERSION, BLOCK3, CUSTOM_MAC_CRC, CUSTOM_MAC Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is not empty (written ): 0x00000000001000000000000000008000000000000000000000000000 (to write): 0x000000000000000000000000000000000000000000000000000f0000 (coding scheme = NONE) [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0xf'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } Burn postponed eFuses from BLOCK0. BLOCK0 ( ) [0 ] to_write: 000f0000 00000000 00000000 00000000 00000000 00000000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= f0000 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 0 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 0 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 000000000000000000000000000000000000000000000000000f0000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 000f0000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (all write block bits are set) Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 000f0000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp37qmjno3 -d --do-not-confirm read-protect-efuse CODING_SCHEME MAC_VERSION BLOCK1 BLOCK2 BLOCK3 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 000f0000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "read-protect-efuse" command === Efuse CODING_SCHEME is already read protected Efuse MAC_VERSION is already read protected Efuse BLOCK1 is already read protected Efuse BLOCK2 is already read protected Efuse BLOCK3 is already read protected Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 nothing to burn [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn Nothing to burn, see messages above. Checking eFuses... Successful. PASSED test/test_espefuse.py::TestReadProtectionCommands::test_read_protect_efuse2 Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpko3oouio -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpko3oouio -d --do-not-confirm write-protect-efuse RD_DIS espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "write-protect-efuse" command === Permanently write-disabling eFuse RD_DIS Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is not empty (written ): 0x00000000001000000000000000008000000000000000000000000000 (to write): 0x00000000000000000000000000000000000000000000000000000001 (coding scheme = NONE) [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0001'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } Burn postponed eFuses from BLOCK0. BLOCK0 ( ) [0 ] to_write: 00000001 00000000 00000000 00000000 00000000 00000000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 1 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 0 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 0 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000001 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000001 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (all write block bits are set) Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000001 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpko3oouio -d --do-not-confirm read-protect-efuse CODING_SCHEME espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000001 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "read-protect-efuse" command === Permanently read-disabling eFuses BLK3_PART_RESERVE, FLASH_CRYPT_CONFIG, CODING_SCHEME, KEY_STATUS ERROR: A fatal error occurred: This eFuse cannot be read-disabled due to the RD_DIS field being already write-disabled /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpko3oouio -d --do-not-confirm read-protect-efuse CODING_SCHEME espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000001 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "read-protect-efuse" command === Permanently read-disabling eFuses BLK3_PART_RESERVE, FLASH_CRYPT_CONFIG, CODING_SCHEME, KEY_STATUS ERROR: A fatal error occurred: This eFuse cannot be read-disabled due to the RD_DIS field being already write-disabled PASSED test/test_espefuse.py::TestReadProtectionCommands::test_read_protect_efuse3 Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpnhr1wh8e -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpnhr1wh8e -d --do-not-confirm burn-efuse ABS_DONE_1 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - ABS_DONE_1 Burning eFuses: - 'ABS_DONE_1' (Secure boot V2 is enabled for bootloader image) 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is not empty (written ): 0x00000000001000000000000000008000000000000000000000000000 (to write): 0x00000020000000000000000000000000000000000000000000000000 (coding scheme = NONE) [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b1'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } Burn postponed eFuses from BLOCK0. BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00000000 00000000 00000000 00000020 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 0 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 0 Addr 3ff5a034, data= 20 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000020000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000020 BURN BLOCK0 - OK (all write block bits are set) Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000020 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpnhr1wh8e -d --do-not-confirm burn-key BLOCK2 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/256bit espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000020 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-key" command === Burn keys to blocks: - BLOCK2 -> Disabling write to key block... Burn keys in eFuse blocks. The key block will be read and write protected (no further changes or readback). Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is not empty (written ): 0x00000020001000000000000000008000000000000000000000000000 (to write): 0x00000000000000000000000000000000000000000000000000000100 (coding scheme = NONE) [01] BLOCK1 nothing to burn [02] BLOCK2 is empty, will burn the new value [03] BLOCK3 nothing to burn . This is an irreversible operation! BLOCK2 (secure_boot_v1 s) [2 ] to_write: a3a2a1a0 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bfbebdbc Write data to BLOCK2 Addr 3ff5a0b8, data= a3a2a1a0 Addr 3ff5a0bc, data= a7a6a5a4 Addr 3ff5a0c0, data= abaaa9a8 Addr 3ff5a0c4, data= afaeadac Addr 3ff5a0c8, data= b3b2b1b0 Addr 3ff5a0cc, data= b7b6b5b4 Addr 3ff5a0d0, data= bbbab9b8 Addr 3ff5a0d4, data= bfbebdbc BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 bfbebdbcbbbab9b8b7b6b5b4b3b2b1b0afaeadacabaaa9a8a7a6a5a4a3a2a1a0 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: a3a2a1a0 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bfbebdbc BURN BLOCK2 - OK (write block == read block) These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0100'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } Burn postponed eFuses from BLOCK0. The same value for ABS_DONE_1 is already burned. Do not change the eFuse. BLOCK0 ( ) [0 ] to_write: 00000100 00000000 00000000 00000000 00000000 00000000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 100 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 0 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 0 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000100 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000100 00000000 00000000 00008000 00000000 00100000 00000020 BURN BLOCK0 - OK (all write block bits are set) Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000100 00000000 00000000 00008000 00000000 00100000 00000020 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: a3a2a1a0 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bfbebdbc BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpnhr1wh8e -d --do-not-confirm read-protect-efuse BLOCK2 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000100 00000000 00000000 00008000 00000000 00100000 00000020 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: a3a2a1a0 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bfbebdbc BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "read-protect-efuse" command === ERROR: A fatal error occurred: Secure Boot V2 is on (ABS_DONE_1 = True), BLOCK2 must be readable, stop this operation! /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpnhr1wh8e -d --do-not-confirm read-protect-efuse BLOCK2 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000100 00000000 00000000 00008000 00000000 00100000 00000020 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: a3a2a1a0 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bfbebdbc BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "read-protect-efuse" command === ERROR: A fatal error occurred: Secure Boot V2 is on (ABS_DONE_1 = True), BLOCK2 must be readable, stop this operation! PASSED test/test_espefuse.py::TestReadProtectionCommands::test_read_protect_efuse4 Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp3cy8dxdv -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp3cy8dxdv -d --do-not-confirm burn-key BLOCK2 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/256bit espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-key" command === Burn keys to blocks: - BLOCK2 -> Disabling write to key block... Burn keys in eFuse blocks. The key block will be read and write protected (no further changes or readback). Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is not empty (written ): 0x00000000001000000000000000008000000000000000000000000000 (to write): 0x00000000000000000000000000000000000000000000000000000100 (coding scheme = NONE) [01] BLOCK1 nothing to burn [02] BLOCK2 is empty, will burn the new value [03] BLOCK3 nothing to burn . This is an irreversible operation! BLOCK2 (secure_boot_v1 s) [2 ] to_write: a3a2a1a0 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bfbebdbc Write data to BLOCK2 Addr 3ff5a0b8, data= a3a2a1a0 Addr 3ff5a0bc, data= a7a6a5a4 Addr 3ff5a0c0, data= abaaa9a8 Addr 3ff5a0c4, data= afaeadac Addr 3ff5a0c8, data= b3b2b1b0 Addr 3ff5a0cc, data= b7b6b5b4 Addr 3ff5a0d0, data= bbbab9b8 Addr 3ff5a0d4, data= bfbebdbc BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 bfbebdbcbbbab9b8b7b6b5b4b3b2b1b0afaeadacabaaa9a8a7a6a5a4a3a2a1a0 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: a3a2a1a0 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bfbebdbc BURN BLOCK2 - OK (write block == read block) These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0100'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } Burn postponed eFuses from BLOCK0. BLOCK0 ( ) [0 ] to_write: 00000100 00000000 00000000 00000000 00000000 00000000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 100 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 0 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 0 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000100 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000100 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (all write block bits are set) Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000100 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: a3a2a1a0 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bfbebdbc BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp3cy8dxdv -d --do-not-confirm read-protect-efuse BLOCK2 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000100 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: a3a2a1a0 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bfbebdbc BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "read-protect-efuse" command === If Secure Boot V2 is used, BLOCK2 must be readable, please stop this operation! Permanently read-disabling eFuse BLOCK2 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is not empty (written ): 0x00000000001000000000000000008000000000000000000000000100 (to write): 0x00000000000000000000000000000000000000000000000000020000 (coding scheme = NONE) [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x2'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } Burn postponed eFuses from BLOCK0. The same value for WR_DIS is already burned. Do not change the eFuse. BLOCK0 ( ) [0 ] to_write: 00020000 00000000 00000000 00000000 00000000 00000000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 20000 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 0 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 0 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000020000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00020100 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (all write block bits are set) Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00020100 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. PASSED test/test_espefuse.py::TestReadProtectionCommands::test_burn_and_read_protect_efuse Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpw57du1w9 -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpw57du1w9 -d --do-not-confirm burn-efuse FLASH_CRYPT_CONFIG 15 RD_DIS 8 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - FLASH_CRYPT_CONFIG - RD_DIS Burning eFuses: - 'FLASH_CRYPT_CONFIG' (Flash encryption config (key tweak bits)) 0x0 -> 0xf - 'RD_DIS' (Disable reading from BlOCK1-3) 0x0 -> 0x8 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is not empty (written ): 0x00000000001000000000000000008000000000000000000000000000 (to write): 0x00000000f00000000000000000000000000000000000000000080000 (coding scheme = NONE) [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x8'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00000000 00000000 f0000000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 0 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= f0000000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000f00000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 f0100000 00000000 BURN BLOCK0 - OK (all write block bits are set) Burn postponed eFuses from BLOCK0. BLOCK0 ( ) [0 ] to_write: 00080000 00000000 00000000 00000000 00000000 00000000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 80000 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 0 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 0 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000080000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00080000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK0 ( ) [0 ] Expected: 00080000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK0 ( ) [0 ] Real : 00080000 00000000 00000000 00008000 00000000 00100000 00000000 Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00080000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Efuse FLASH_CRYPT_CONFIG is read-protected. Read back the burn value is not possible. Successful. PASSED test/test_espefuse.py::TestReadProtectionCommands::test_read_protect_invalid_name Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpmct49ygd -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpmct49ygd -d --do-not-confirm read-protect-efuse INVALID_NAME espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 Usage: python -m espefuse read-protect-efuse [OPTIONS] {BLK3_PART_RESERVE|FLASH_CRYPT_CONFIG|ENCRYPT_CONFIG|CODING_SCHEME|KEY_STATUS|SECURE_VERSION|MAC_VERSION|MAC_CUSTOM_V… Try 'python -m espefuse read-protect-efuse -h' for help ╭─ Error ──────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ Invalid value for │ │ '{BLK3_PART_RESERVE|FLASH_CRYPT_CONFIG|ENCRYPT_CONFIG|CODING_SCHEME|KEY_STATUS|SECURE_VERSION|MAC_VERSION|MAC_CUSTOM │ │ _VER|BLOCK1|ENCRYPT_FLASH_KEY|BLOCK2|SECURE_BOOT_KEY|BLOCK3}...': 'INVALID_NAME' is not one of 'BLK3_PART_RESERVE', │ │ 'FLASH_CRYPT_CONFIG', 'ENCRYPT_CONFIG', 'CODING_SCHEME', 'KEY_STATUS', 'SECURE_VERSION', 'MAC_VERSION', │ │ 'MAC_CUSTOM_VER', 'BLOCK1', 'ENCRYPT_FLASH_KEY', 'BLOCK2', 'SECURE_BOOT_KEY', 'BLOCK3'. │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpmct49ygd -d --do-not-confirm read-protect-efuse INVALID_NAME espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 Usage: python -m espefuse read-protect-efuse [OPTIONS] {BLK3_PART_RESERVE|FLASH_CRYPT_CONFIG|ENCRYPT_CONFIG|CODING_SCHEME|KEY_STATUS|SECURE_VERSION|MAC_VERSION|MAC_CUSTOM_V… Try 'python -m espefuse read-protect-efuse -h' for help ╭─ Error ──────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ Invalid value for │ │ '{BLK3_PART_RESERVE|FLASH_CRYPT_CONFIG|ENCRYPT_CONFIG|CODING_SCHEME|KEY_STATUS|SECURE_VERSION|MAC_VERSION|MAC_CUSTOM │ │ _VER|BLOCK1|ENCRYPT_FLASH_KEY|BLOCK2|SECURE_BOOT_KEY|BLOCK3}...': 'INVALID_NAME' is not one of 'BLK3_PART_RESERVE', │ │ 'FLASH_CRYPT_CONFIG', 'ENCRYPT_CONFIG', 'CODING_SCHEME', 'KEY_STATUS', 'SECURE_VERSION', 'MAC_VERSION', │ │ 'MAC_CUSTOM_VER', 'BLOCK1', 'ENCRYPT_FLASH_KEY', 'BLOCK2', 'SECURE_BOOT_KEY', 'BLOCK3'. │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ PASSED test/test_espefuse.py::TestWriteProtectionCommands::test_write_protect_efuse Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpgmdutpac -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpgmdutpac -d --do-not-confirm write-protect-efuse -h espefuse v5.4.0 Usage: python -m espefuse write-protect-efuse [OPTIONS] {WR_DIS|RD_DIS|FLASH_CRYPT_CNT|UART_DOWNLOAD_DIS|MAC|MAC_FACTORY|MAC_CRC|MAC_FACTORY_CRC|DISABLE_APP_CPU|CHIP_VER_DIS… Disable writing to the eFuse with the specified name. ╭─ Arguments ──────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ * EFUSE_NAME {WR_DIS|RD_DIS|FLASH_CRYPT_CNT|UART_DOWNLOAD_DIS [required] │ │ |MAC|MAC_FACTORY|MAC_CRC|MAC_FACTORY_CRC|DISABLE │ │ _APP_CPU|CHIP_VER_DIS_APP_CPU|DISABLE_BT|CHIP_VE │ │ R_DIS_BT|DIS_CACHE|CHIP_VER_DIS_CACHE|BLK3_PART_ │ │ RESERVE|CLK8M_FREQ|CK8M_FREQ|ADC_VREF|XPD_SDIO_R │ │ EG|XPD_SDIO_TIEH|SDIO_TIEH|XPD_SDIO_FORCE|SDIO_F │ │ ORCE|SPI_PAD_CONFIG_CLK|SPI_PAD_CONFIG_Q|SPI_PAD │ │ _CONFIG_D|SPI_PAD_CONFIG_CS0|VOL_LEVEL_HP_INV|FL │ │ ASH_CRYPT_CONFIG|ENCRYPT_CONFIG|CODING_SCHEME|CO │ │ NSOLE_DEBUG_DISABLE|ABS_DONE_0|ABS_DONE_1|JTAG_D │ │ ISABLE|DISABLE_JTAG|DISABLE_DL_ENCRYPT|DISABLE_D │ │ L_DECRYPT|DISABLE_DL_CACHE|KEY_STATUS|SECURE_VER │ │ SION|MAC_VERSION|MAC_CUSTOM_VER|BLOCK1|ENCRYPT_F │ │ LASH_KEY|BLOCK2|SECURE_BOOT_KEY|BLOCK3|CUSTOM_MA │ │ C_CRC|MAC_CUSTOM_CRC|CUSTOM_MAC|MAC_CUSTOM|ADC1_ │ │ TP_LOW|ADC1_TP_HIGH|ADC2_TP_LOW|ADC2_TP_HIGH}... │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─ Options ────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ --show-token Display the eFuse token dump for the write operation before the confirmation prompt. This │ │ produces EFSW token. If the goal is only to obtain the token, press ENTER to abort (no burning │ │ will occur). Be aware that this may expose sensitive data. │ │ --help -h Show this message and exit. │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpgmdutpac -d --do-not-confirm write-protect-efuse WR_DIS RD_DIS CODING_SCHEME XPD_SDIO_FORCE XPD_SDIO_REG XPD_SDIO_TIEH SPI_PAD_CONFIG_CLK FLASH_CRYPT_CNT UART_DOWNLOAD_DIS FLASH_CRYPT_CONFIG ADC_VREF BLOCK1 BLOCK2 BLOCK3 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "write-protect-efuse" command === Permanently write-disabling eFuse WR_DIS Permanently write-disabling eFuse RD_DIS Permanently write-disabling eFuses BLK3_PART_RESERVE, FLASH_CRYPT_CONFIG, CODING_SCHEME, KEY_STATUS Permanently write-disabling eFuses XPD_SDIO_REG, XPD_SDIO_TIEH, XPD_SDIO_FORCE Permanently write-disabling eFuses XPD_SDIO_REG, XPD_SDIO_TIEH, XPD_SDIO_FORCE Permanently write-disabling eFuses XPD_SDIO_REG, XPD_SDIO_TIEH, XPD_SDIO_FORCE Permanently write-disabling eFuses SPI_PAD_CONFIG_CLK, SPI_PAD_CONFIG_Q, SPI_PAD_CONFIG_D, SPI_PAD_CONFIG_CS0 Permanently write-disabling eFuses FLASH_CRYPT_CNT, UART_DOWNLOAD_DIS Permanently write-disabling eFuses FLASH_CRYPT_CNT, UART_DOWNLOAD_DIS Permanently write-disabling eFuses BLK3_PART_RESERVE, FLASH_CRYPT_CONFIG, CODING_SCHEME, KEY_STATUS Permanently write-disabling eFuses CLK8M_FREQ, ADC_VREF Permanently write-disabling eFuse BLOCK1 Permanently write-disabling eFuse BLOCK2 Permanently write-disabling eFuses SECURE_VERSION, MAC_VERSION, BLOCK3, CUSTOM_MAC_CRC, CUSTOM_MAC Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is not empty (written ): 0x00000000001000000000000000008000000000000000000000000000 (to write): 0x000000000000000000000000000000000000000000000000000007f7 (coding scheme = NONE) [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x07f7'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } Burn postponed eFuses from BLOCK0. BLOCK0 ( ) [0 ] to_write: 000007f7 00000000 00000000 00000000 00000000 00000000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 7f7 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 0 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 0 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 000000000000000000000000000000000000000000000000000007f7 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 000007f7 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (all write block bits are set) Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 000007f7 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpgmdutpac -d --do-not-confirm write-protect-efuse WR_DIS RD_DIS espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 000007f7 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "write-protect-efuse" command === Efuse WR_DIS is already write protected. Efuse RD_DIS is already write protected. Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 nothing to burn [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn Nothing to burn, see messages above. Checking eFuses... Successful. PASSED test/test_espefuse.py::TestWriteProtectionCommands::test_write_protect_efuse2 Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp5eqjpgpx -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp5eqjpgpx -d --do-not-confirm write-protect-efuse WR_DIS espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "write-protect-efuse" command === Permanently write-disabling eFuse WR_DIS Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is not empty (written ): 0x00000000001000000000000000008000000000000000000000000000 (to write): 0x00000000000000000000000000000000000000000000000000000002 (coding scheme = NONE) [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0002'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } Burn postponed eFuses from BLOCK0. BLOCK0 ( ) [0 ] to_write: 00000002 00000000 00000000 00000000 00000000 00000000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 2 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 0 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 0 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000002 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000002 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (all write block bits are set) Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000002 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp5eqjpgpx -d --do-not-confirm write-protect-efuse CODING_SCHEME espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000002 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "write-protect-efuse" command === Permanently write-disabling eFuses BLK3_PART_RESERVE, FLASH_CRYPT_CONFIG, CODING_SCHEME, KEY_STATUS ERROR: A fatal error occurred: This eFuse cannot be write-disabled due to the WR_DIS field being already write-disabled /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp5eqjpgpx -d --do-not-confirm write-protect-efuse CODING_SCHEME espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000002 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "write-protect-efuse" command === Permanently write-disabling eFuses BLK3_PART_RESERVE, FLASH_CRYPT_CONFIG, CODING_SCHEME, KEY_STATUS ERROR: A fatal error occurred: This eFuse cannot be write-disabled due to the WR_DIS field being already write-disabled PASSED test/test_espefuse.py::TestWriteProtectionCommands::test_write_protect_invalid_name Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmptw0urxwt -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmptw0urxwt -d --do-not-confirm write-protect-efuse INVALID_NAME espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 Usage: python -m espefuse write-protect-efuse [OPTIONS] {WR_DIS|RD_DIS|FLASH_CRYPT_CNT|UART_DOWNLOAD_DIS|MAC|MAC_FACTORY|MAC_CRC|MAC_FACTORY_CRC|DISABLE_APP_CPU|CHIP_VER_DIS… Try 'python -m espefuse write-protect-efuse -h' for help ╭─ Error ──────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ Invalid value for │ │ '{WR_DIS|RD_DIS|FLASH_CRYPT_CNT|UART_DOWNLOAD_DIS|MAC|MAC_FACTORY|MAC_CRC|MAC_FACTORY_CRC|DISABLE_APP_CPU|CHIP_VER_D │ │ IS_APP_CPU|DISABLE_BT|CHIP_VER_DIS_BT|DIS_CACHE|CHIP_VER_DIS_CACHE|BLK3_PART_RESERVE|CLK8M_FREQ|CK8M_FREQ|ADC_VREF|X │ │ PD_SDIO_REG|XPD_SDIO_TIEH|SDIO_TIEH|XPD_SDIO_FORCE|SDIO_FORCE|SPI_PAD_CONFIG_CLK|SPI_PAD_CONFIG_Q|SPI_PAD_CONFIG_D|S │ │ PI_PAD_CONFIG_CS0|VOL_LEVEL_HP_INV|FLASH_CRYPT_CONFIG|ENCRYPT_CONFIG|CODING_SCHEME|CONSOLE_DEBUG_DISABLE|ABS_DONE_0| │ │ ABS_DONE_1|JTAG_DISABLE|DISABLE_JTAG|DISABLE_DL_ENCRYPT|DISABLE_DL_DECRYPT|DISABLE_DL_CACHE|KEY_STATUS|SECURE_VERSIO │ │ N|MAC_VERSION|MAC_CUSTOM_VER|BLOCK1|ENCRYPT_FLASH_KEY|BLOCK2|SECURE_BOOT_KEY|BLOCK3}...': 'INVALID_NAME' is not one │ │ of 'WR_DIS', 'RD_DIS', 'FLASH_CRYPT_CNT', 'UART_DOWNLOAD_DIS', 'MAC', 'MAC_FACTORY', 'MAC_CRC', 'MAC_FACTORY_CRC', │ │ 'DISABLE_APP_CPU', 'CHIP_VER_DIS_APP_CPU', 'DISABLE_BT', 'CHIP_VER_DIS_BT', 'DIS_CACHE', 'CHIP_VER_DIS_CACHE', │ │ 'BLK3_PART_RESERVE', 'CLK8M_FREQ', 'CK8M_FREQ', 'ADC_VREF', 'XPD_SDIO_REG', 'XPD_SDIO_TIEH', 'SDIO_TIEH', │ │ 'XPD_SDIO_FORCE', 'SDIO_FORCE', 'SPI_PAD_CONFIG_CLK', 'SPI_PAD_CONFIG_Q', 'SPI_PAD_CONFIG_D', 'SPI_PAD_CONFIG_CS0', │ │ 'VOL_LEVEL_HP_INV', 'FLASH_CRYPT_CONFIG', 'ENCRYPT_CONFIG', 'CODING_SCHEME', 'CONSOLE_DEBUG_DISABLE', 'ABS_DONE_0', │ │ 'ABS_DONE_1', 'JTAG_DISABLE', 'DISABLE_JTAG', 'DISABLE_DL_ENCRYPT', 'DISABLE_DL_DECRYPT', 'DISABLE_DL_CACHE', │ │ 'KEY_STATUS', 'SECURE_VERSION', 'MAC_VERSION', 'MAC_CUSTOM_VER', 'BLOCK1', 'ENCRYPT_FLASH_KEY', 'BLOCK2', │ │ 'SECURE_BOOT_KEY', 'BLOCK3'. │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmptw0urxwt -d --do-not-confirm write-protect-efuse INVALID_NAME espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 Usage: python -m espefuse write-protect-efuse [OPTIONS] {WR_DIS|RD_DIS|FLASH_CRYPT_CNT|UART_DOWNLOAD_DIS|MAC|MAC_FACTORY|MAC_CRC|MAC_FACTORY_CRC|DISABLE_APP_CPU|CHIP_VER_DIS… Try 'python -m espefuse write-protect-efuse -h' for help ╭─ Error ──────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ Invalid value for │ │ '{WR_DIS|RD_DIS|FLASH_CRYPT_CNT|UART_DOWNLOAD_DIS|MAC|MAC_FACTORY|MAC_CRC|MAC_FACTORY_CRC|DISABLE_APP_CPU|CHIP_VER_D │ │ IS_APP_CPU|DISABLE_BT|CHIP_VER_DIS_BT|DIS_CACHE|CHIP_VER_DIS_CACHE|BLK3_PART_RESERVE|CLK8M_FREQ|CK8M_FREQ|ADC_VREF|X │ │ PD_SDIO_REG|XPD_SDIO_TIEH|SDIO_TIEH|XPD_SDIO_FORCE|SDIO_FORCE|SPI_PAD_CONFIG_CLK|SPI_PAD_CONFIG_Q|SPI_PAD_CONFIG_D|S │ │ PI_PAD_CONFIG_CS0|VOL_LEVEL_HP_INV|FLASH_CRYPT_CONFIG|ENCRYPT_CONFIG|CODING_SCHEME|CONSOLE_DEBUG_DISABLE|ABS_DONE_0| │ │ ABS_DONE_1|JTAG_DISABLE|DISABLE_JTAG|DISABLE_DL_ENCRYPT|DISABLE_DL_DECRYPT|DISABLE_DL_CACHE|KEY_STATUS|SECURE_VERSIO │ │ N|MAC_VERSION|MAC_CUSTOM_VER|BLOCK1|ENCRYPT_FLASH_KEY|BLOCK2|SECURE_BOOT_KEY|BLOCK3}...': 'INVALID_NAME' is not one │ │ of 'WR_DIS', 'RD_DIS', 'FLASH_CRYPT_CNT', 'UART_DOWNLOAD_DIS', 'MAC', 'MAC_FACTORY', 'MAC_CRC', 'MAC_FACTORY_CRC', │ │ 'DISABLE_APP_CPU', 'CHIP_VER_DIS_APP_CPU', 'DISABLE_BT', 'CHIP_VER_DIS_BT', 'DIS_CACHE', 'CHIP_VER_DIS_CACHE', │ │ 'BLK3_PART_RESERVE', 'CLK8M_FREQ', 'CK8M_FREQ', 'ADC_VREF', 'XPD_SDIO_REG', 'XPD_SDIO_TIEH', 'SDIO_TIEH', │ │ 'XPD_SDIO_FORCE', 'SDIO_FORCE', 'SPI_PAD_CONFIG_CLK', 'SPI_PAD_CONFIG_Q', 'SPI_PAD_CONFIG_D', 'SPI_PAD_CONFIG_CS0', │ │ 'VOL_LEVEL_HP_INV', 'FLASH_CRYPT_CONFIG', 'ENCRYPT_CONFIG', 'CODING_SCHEME', 'CONSOLE_DEBUG_DISABLE', 'ABS_DONE_0', │ │ 'ABS_DONE_1', 'JTAG_DISABLE', 'DISABLE_JTAG', 'DISABLE_DL_ENCRYPT', 'DISABLE_DL_DECRYPT', 'DISABLE_DL_CACHE', │ │ 'KEY_STATUS', 'SECURE_VERSION', 'MAC_VERSION', 'MAC_CUSTOM_VER', 'BLOCK1', 'ENCRYPT_FLASH_KEY', 'BLOCK2', │ │ 'SECURE_BOOT_KEY', 'BLOCK3'. │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ PASSED test/test_espefuse.py::TestBurnCustomMacCommands::test_burn_custom_mac Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp9qv3ywai -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp9qv3ywai -d --do-not-confirm burn-custom-mac -h espefuse v5.4.0 Usage: python -m espefuse burn-custom-mac [OPTIONS] MAC Burn a 48-bit Custom MAC address to EFUSE,BLOCK3. Mac address should be given in hexadecimal format with bytes separated by colons (e.g. AA:CD:EF:01:02:03). ╭─ Arguments ──────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ * MAC CUSTOM_MAC [required] │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─ Options ────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ --force-write-always Write the eFuse even if it looks like it's already been written, or is write protected. │ │ Note that this option can't disable write protection, or clear any bit which has already │ │ been set. │ │ --show-token Display the eFuse token dump for the write operation before the confirmation prompt. │ │ This produces EFSW token. If the goal is only to obtain the token, press ENTER to abort │ │ (no burning will occur). Be aware that this may expose sensitive data. │ │ --help -h Show this message and exit. │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp9qv3ywai -d --do-not-confirm burn-custom-mac AA:CD:EF:11:22:33 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-custom-mac" command === - 'MAC_VERSION' (Version of the MAC field) 0x00 -> 0x1 - 'CUSTOM_MAC' (Custom MAC address) 0x000000000000 -> 0x332211efcdaa - 'CUSTOM_MAC_CRC' (CRC8 for custom MAC address) 0x00 -> 0x63 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 nothing to burn [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 is empty, will burn the new value . This is an irreversible operation! BLOCK3 ( ) [3 ] to_write: efcdaa63 00332211 00000000 00000000 00000000 01000000 00000000 00000000 Write data to BLOCK3 Addr 3ff5a0d8, data= efcdaa63 Addr 3ff5a0dc, data= 332211 Addr 3ff5a0e0, data= 0 Addr 3ff5a0e4, data= 0 Addr 3ff5a0e8, data= 0 Addr 3ff5a0ec, data= 1000000 Addr 3ff5a0f0, data= 0 Addr 3ff5a0f4, data= 0 BLOCK3 00000000000000000100000000000000000000000000000000332211efcdaa63 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 ( ) [3 ] read_regs: efcdaa63 00332211 00000000 00000000 00000000 01000000 00000000 00000000 BURN BLOCK3 - OK (write block == read block) These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: efcdaa63 00332211 00000000 00000000 00000000 01000000 00000000 00000000 Custom MAC Address version 1: aa:cd:ef:11:22:33 (CRC 0x63 OK) Successful. PASSED test/test_espefuse.py::TestBurnCustomMacCommands::test_burn_custom_mac2 Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp4m3awn6j -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp4m3awn6j -d --do-not-confirm burn-custom-mac AA:CD:EF:11:22:33:44 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 ERROR: A fatal error occurred: MAC Address needs to be a 6-byte hexadecimal format separated by colons (:)! /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp4m3awn6j -d --do-not-confirm burn-custom-mac AA:CD:EF:11:22:33:44 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 ERROR: A fatal error occurred: MAC Address needs to be a 6-byte hexadecimal format separated by colons (:)! PASSED test/test_espefuse.py::TestBurnCustomMacCommands::test_burn_custom_mac3 Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmph0xc__1l -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmph0xc__1l -d --do-not-confirm burn-custom-mac AB:CD:EF:11:22:33 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 ERROR: A fatal error occurred: Custom MAC must be a unicast MAC! /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmph0xc__1l -d --do-not-confirm burn-custom-mac AB:CD:EF:11:22:33 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 ERROR: A fatal error occurred: Custom MAC must be a unicast MAC! PASSED test/test_espefuse.py::TestBurnCustomMacCommands::test_burn_custom_mac_with_34_coding_scheme Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpxlckc38y -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpxlckc38y -d --do-not-confirm burn-efuse CODING_SCHEME 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CODING_SCHEME Burning eFuses: - 'CODING_SCHEME' (Efuse variable block length scheme) 0b00 -> 0b01 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is not empty (written ): 0x00000000001000000000000000008000000000000000000000000000 (to write): 0x00000001000000000000000000000000000000000000000000000000 (coding scheme = NONE) [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00000000 00000000 00000000 00000001 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 0 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 0 Addr 3ff5a034, data= 1 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000001000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BURN BLOCK0 - OK (all write block bits are set) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpxlckc38y -d --do-not-confirm burn-custom-mac -h espefuse v5.4.0 Usage: python -m espefuse burn-custom-mac [OPTIONS] MAC Burn a 48-bit Custom MAC address to EFUSE,BLOCK3. Mac address should be given in hexadecimal format with bytes separated by colons (e.g. AA:CD:EF:01:02:03). ╭─ Arguments ──────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ * MAC CUSTOM_MAC [required] │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─ Options ────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ --force-write-always Write the eFuse even if it looks like it's already been written, or is write protected. │ │ Note that this option can't disable write protection, or clear any bit which has already │ │ been set. │ │ --show-token Display the eFuse token dump for the write operation before the confirmation prompt. │ │ This produces EFSW token. If the goal is only to obtain the token, press ENTER to abort │ │ (no burning will occur). Be aware that this may expose sensitive data. │ │ --help -h Show this message and exit. │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpxlckc38y -d --do-not-confirm burn-custom-mac AA:CD:EF:01:02:03 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-custom-mac" command === - 'MAC_VERSION' (Version of the MAC field) 0x00 -> 0x1 - 'CUSTOM_MAC' (Custom MAC address) 0x000000000000 -> 0x030201efcdaa - 'CUSTOM_MAC_CRC' (CRC8 for custom MAC address) 0x00 -> 0x56 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 nothing to burn [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 is empty, will burn the new value . This is an irreversible operation! BLOCK3 ( ) [3 ] to_write: efcdaa56 00030201 00000000 00000000 00000000 01000000 Write data to BLOCK3 Addr 3ff5a0d8, data= efcdaa56 Addr 3ff5a0dc, data= 42dd0201 Addr 3ff5a0e0, data= 3 Addr 3ff5a0e4, data= 2030000 Addr 3ff5a0e8, data= 0 Addr 3ff5a0ec, data= 0 Addr 3ff5a0f0, data= 0 Addr 3ff5a0f4, data= 6010100 BLOCK3 06010100000000000000000000000000020300000000000342dd0201efcdaa56 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 ( ) [3 ] read_regs: efcdaa56 00030201 00000000 00000000 00000000 01000000 BURN BLOCK3 - OK (write block == read block) These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: efcdaa56 00030201 00000000 00000000 00000000 01000000 Custom MAC Address version 1: aa:cd:ef:01:02:03 (CRC 0x56 OK) Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpxlckc38y -d --do-not-confirm get-custom-mac espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: efcdaa56 00030201 00000000 00000000 00000000 01000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "get-custom-mac" command === Custom MAC Address version 1: aa:cd:ef:01:02:03 (CRC 0x56 OK) Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpxlckc38y -d --do-not-confirm burn-custom-mac FE:22:33:44:55:66 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: efcdaa56 00030201 00000000 00000000 00000000 01000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-custom-mac" command === - 'CUSTOM_MAC' (Custom MAC address) 0x030201efcdaa -> 0x6655443322fe ERROR: A fatal error occurred: New value contains some bits that cannot be cleared (value will be 0x675745ffeffe)(use '--force-write-always' option to ignore it) /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpxlckc38y -d --do-not-confirm burn-custom-mac FE:22:33:44:55:66 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: efcdaa56 00030201 00000000 00000000 00000000 01000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-custom-mac" command === - 'CUSTOM_MAC' (Custom MAC address) 0x030201efcdaa -> 0x6655443322fe ERROR: A fatal error occurred: New value contains some bits that cannot be cleared (value will be 0x675745ffeffe)(use '--force-write-always' option to ignore it) PASSED test/test_espefuse.py::TestSetFlashVoltageCommands::test_set_flash_voltage_1_8v Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmph28z8dlr -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmph28z8dlr -d --do-not-confirm set-flash-voltage -h espefuse v5.4.0 Usage: python -m espefuse set-flash-voltage [OPTIONS] {1.8V|3.3V|OFF} Permanently set the internal flash voltage regulator to either 1.8V, 3.3V or OFF. This means GPIO12 can be high or low at reset without changing the flash voltage. ╭─ Arguments ──────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ * VOLTAGE {1.8V|3.3V|OFF} [required] │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─ Options ────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ --show-token Display the eFuse token dump for the write operation before the confirmation prompt. This │ │ produces EFSW token. If the goal is only to obtain the token, press ENTER to abort (no burning │ │ will occur). Be aware that this may expose sensitive data. │ │ --help -h Show this message and exit. │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmph28z8dlr -d --do-not-confirm set-flash-voltage 1.8V espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "set-flash-voltage" command === Set internal flash voltage regulator (VDD_SDIO) to 1.8V. The following eFuses are burned: XPD_SDIO_FORCE, XPD_SDIO_REG. It is possible to later increase the voltage to 3.3V (permanently) by burning additional eFuse XPD_SDIO_TIEH. VDD_SDIO setting complete. Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is not empty (written ): 0x00000000001000000000000000008000000000000000000000000000 (to write): 0x00000000000000000001400000000000000000000000000000000000 (coding scheme = NONE) [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00000000 00014000 00000000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 0 Addr 3ff5a02c, data= 14000 Addr 3ff5a030, data= 0 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000001400000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00014000 00100000 00000000 BURN BLOCK0 - OK (all write block bits are set) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00014000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmph28z8dlr -d --do-not-confirm set-flash-voltage 3.3V espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00014000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "set-flash-voltage" command === Enable internal flash voltage regulator (VDD_SDIO) to 3.3V. The following eFuses are burned: XPD_SDIO_FORCE, XPD_SDIO_REG, XPD_SDIO_TIEH. The same value for XPD_SDIO_FORCE is already burned. Do not change the eFuse. The same value for XPD_SDIO_REG is already burned. Do not change the eFuse. VDD_SDIO setting complete. Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is not empty (written ): 0x00000000001000000001400000008000000000000000000000000000 (to write): 0x00000000000000000000800000000000000000000000000000000000 (coding scheme = NONE) [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00000000 00008000 00000000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 0 Addr 3ff5a02c, data= 8000 Addr 3ff5a030, data= 0 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000800000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 0001c000 00100000 00000000 BURN BLOCK0 - OK (all write block bits are set) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 0001c000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmph28z8dlr -d --do-not-confirm set-flash-voltage OFF espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 0001c000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "set-flash-voltage" command === ERROR: A fatal error occurred: Can't set flash regulator to OFF as XPD_SDIO_REG eFuse is already burned. /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmph28z8dlr -d --do-not-confirm set-flash-voltage OFF espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 0001c000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "set-flash-voltage" command === ERROR: A fatal error occurred: Can't set flash regulator to OFF as XPD_SDIO_REG eFuse is already burned. PASSED test/test_espefuse.py::TestSetFlashVoltageCommands::test_set_flash_voltage_3_3v Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpjn9ze6gr -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpjn9ze6gr -d --do-not-confirm set-flash-voltage 3.3V espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "set-flash-voltage" command === Enable internal flash voltage regulator (VDD_SDIO) to 3.3V. The following eFuses are burned: XPD_SDIO_FORCE, XPD_SDIO_REG, XPD_SDIO_TIEH. VDD_SDIO setting complete. Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is not empty (written ): 0x00000000001000000000000000008000000000000000000000000000 (to write): 0x00000000000000000001c00000000000000000000000000000000000 (coding scheme = NONE) [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00000000 0001c000 00000000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 0 Addr 3ff5a02c, data= 1c000 Addr 3ff5a030, data= 0 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000001c00000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 0001c000 00100000 00000000 BURN BLOCK0 - OK (all write block bits are set) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 0001c000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpjn9ze6gr -d --do-not-confirm set-flash-voltage 1.8V espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 0001c000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "set-flash-voltage" command === ERROR: A fatal error occurred: Can't set regulator to 1.8V is XPD_SDIO_TIEH eFuse is already burned. /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpjn9ze6gr -d --do-not-confirm set-flash-voltage 1.8V espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 0001c000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "set-flash-voltage" command === ERROR: A fatal error occurred: Can't set regulator to 1.8V is XPD_SDIO_TIEH eFuse is already burned. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpjn9ze6gr -d --do-not-confirm set-flash-voltage OFF espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 0001c000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "set-flash-voltage" command === ERROR: A fatal error occurred: Can't set flash regulator to OFF as XPD_SDIO_REG eFuse is already burned. /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpjn9ze6gr -d --do-not-confirm set-flash-voltage OFF espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 0001c000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "set-flash-voltage" command === ERROR: A fatal error occurred: Can't set flash regulator to OFF as XPD_SDIO_REG eFuse is already burned. PASSED test/test_espefuse.py::TestSetFlashVoltageCommands::test_set_flash_voltage_off Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpsctc9546 -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpsctc9546 -d --do-not-confirm set-flash-voltage OFF espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "set-flash-voltage" command === Disable internal flash voltage regulator (VDD_SDIO). SPI flash will need to be powered from an external source. The following eFuse is burned: XPD_SDIO_FORCE. It is possible to later re-enable the internal regulatorto 1.8V or 3.3Vby burning an additional eFuse. VDD_SDIO setting complete. Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is not empty (written ): 0x00000000001000000000000000008000000000000000000000000000 (to write): 0x00000000000000000001000000000000000000000000000000000000 (coding scheme = NONE) [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00000000 00010000 00000000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 0 Addr 3ff5a02c, data= 10000 Addr 3ff5a030, data= 0 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000001000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00010000 00100000 00000000 BURN BLOCK0 - OK (all write block bits are set) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00010000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpsctc9546 -d --do-not-confirm set-flash-voltage 3.3V espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00010000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "set-flash-voltage" command === Enable internal flash voltage regulator (VDD_SDIO) to 3.3V. The following eFuses are burned: XPD_SDIO_FORCE, XPD_SDIO_REG, XPD_SDIO_TIEH. The same value for XPD_SDIO_FORCE is already burned. Do not change the eFuse. VDD_SDIO setting complete. Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is not empty (written ): 0x00000000001000000001000000008000000000000000000000000000 (to write): 0x00000000000000000000c00000000000000000000000000000000000 (coding scheme = NONE) [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00000000 0000c000 00000000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 0 Addr 3ff5a02c, data= c000 Addr 3ff5a030, data= 0 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000c00000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 0001c000 00100000 00000000 BURN BLOCK0 - OK (all write block bits are set) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 0001c000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Successful. PASSED test/test_espefuse.py::TestSetFlashVoltageCommands::test_set_flash_voltage_off2 Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp6xs4_5vq -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp6xs4_5vq -d --do-not-confirm set-flash-voltage OFF espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "set-flash-voltage" command === Disable internal flash voltage regulator (VDD_SDIO). SPI flash will need to be powered from an external source. The following eFuse is burned: XPD_SDIO_FORCE. It is possible to later re-enable the internal regulatorto 1.8V or 3.3Vby burning an additional eFuse. VDD_SDIO setting complete. Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is not empty (written ): 0x00000000001000000000000000008000000000000000000000000000 (to write): 0x00000000000000000001000000000000000000000000000000000000 (coding scheme = NONE) [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00000000 00010000 00000000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 0 Addr 3ff5a02c, data= 10000 Addr 3ff5a030, data= 0 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000001000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00010000 00100000 00000000 BURN BLOCK0 - OK (all write block bits are set) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00010000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp6xs4_5vq -d --do-not-confirm set-flash-voltage 1.8V espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00010000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "set-flash-voltage" command === Set internal flash voltage regulator (VDD_SDIO) to 1.8V. The following eFuses are burned: XPD_SDIO_FORCE, XPD_SDIO_REG. It is possible to later increase the voltage to 3.3V (permanently) by burning additional eFuse XPD_SDIO_TIEH. The same value for XPD_SDIO_FORCE is already burned. Do not change the eFuse. VDD_SDIO setting complete. Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is not empty (written ): 0x00000000001000000001000000008000000000000000000000000000 (to write): 0x00000000000000000000400000000000000000000000000000000000 (coding scheme = NONE) [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00000000 00004000 00000000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 0 Addr 3ff5a02c, data= 4000 Addr 3ff5a030, data= 0 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000400000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00014000 00100000 00000000 BURN BLOCK0 - OK (all write block bits are set) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00014000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Successful. PASSED test/test_espefuse.py::TestValueArgForBurnEfuseCommands::test_efuse_is_bool_given_none SKIPPED test/test_espefuse.py::TestValueArgForBurnEfuseCommands::test_efuse_is_bool_given_0 SKIPPED test/test_espefuse.py::TestValueArgForBurnEfuseCommands::test_efuse_is_bool_given_2 SKIPPED test/test_espefuse.py::TestValueArgForBurnEfuseCommands::test_efuse_is_bytes_ok SKIPPED test/test_espefuse.py::TestValueArgForBurnEfuseCommands::test_efuse_is_bytes_given_short_val SKIPPED test/test_espefuse.py::TestValueArgForBurnEfuseCommands::test_efuse_is_bytes_given_none SKIPPED test/test_espefuse.py::TestValueArgForBurnEfuseCommands::test_efuse_is_int_ok SKIPPED test/test_espefuse.py::TestValueArgForBurnEfuseCommands::test_efuse_is_int_given_out_of_range_val SKIPPED test/test_espefuse.py::TestValueArgForBurnEfuseCommands::test_efuse_is_int_given_none SKIPPED test/test_espefuse.py::TestValueArgForBurnEfuseCommands::test_efuse_is_int_given_0 SKIPPED test/test_espefuse.py::TestValueArgForBurnEfuseCommands::test_efuse_is_bitcount_given_out_of_range_val SKIPPED test/test_espefuse.py::TestValueArgForBurnEfuseCommands::test_efuse_is_bitcount_given_increase_over_max SKIPPED test/test_espefuse.py::TestBurnEfuseCommands::test_set_spi_flash_pin_efuses Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpda4novj7 -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpda4novj7 -d --do-not-confirm burn-efuse SPI_PAD_CONFIG_HD 30 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 ERROR: A fatal error occurred: IO pins 30 & 31 cannot be set for SPI flash. 0-29, 32 & 33 only. /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpda4novj7 -d --do-not-confirm burn-efuse SPI_PAD_CONFIG_HD 30 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 ERROR: A fatal error occurred: IO pins 30 & 31 cannot be set for SPI flash. 0-29, 32 & 33 only. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpda4novj7 -d --do-not-confirm burn-efuse SPI_PAD_CONFIG_Q 0x23 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 ERROR: A fatal error occurred: IO pin 35 cannot be set for SPI flash. 0-29, 32 & 33 only. /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpda4novj7 -d --do-not-confirm burn-efuse SPI_PAD_CONFIG_Q 0x23 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 ERROR: A fatal error occurred: IO pin 35 cannot be set for SPI flash. 0-29, 32 & 33 only. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpda4novj7 -d --do-not-confirm burn-efuse SPI_PAD_CONFIG_CS0 33 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - SPI_PAD_CONFIG_CS0 Burning eFuses: - 'SPI_PAD_CONFIG_CS0' (Override SD_CMD pad (GPIO11/SPICS0)) 0b00000 -> 0b11111 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is not empty (written ): 0x00000000001000000000000000008000000000000000000000000000 (to write): 0x00000000000f80000000000000000000000000000000000000000000 (coding scheme = NONE) [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00000000 00000000 000f8000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 0 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= f8000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000f80000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 001f8000 00000000 BURN BLOCK0 - OK (all write block bits are set) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 001f8000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. PASSED test/test_espefuse.py::TestBurnEfuseCommands::test_burn_mac_custom_efuse Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpndb5xd6b -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpndb5xd6b -d --do-not-confirm burn-efuse -h espefuse v5.4.0 Usage: python -m espefuse burn-efuse [OPTIONS] [ ] ... Burn the eFuse with the specified name. Allowed options for EFUSE_NAME: [WR_DIS, RD_DIS, FLASH_CRYPT_CNT, UART_DOWNLOAD_DIS, MAC, MAC_CRC, DISABLE_APP_CPU, DISABLE_BT, CHIP_PACKAGE_4BIT, DIS_CACHE, SPI_PAD_CONFIG_HD, CHIP_PACKAGE, CHIP_CPU_FREQ_LOW, CHIP_CPU_FREQ_RATED, BLK3_PART_RESERVE, CHIP_VER_REV1, CLK8M_FREQ, ADC_VREF, XPD_SDIO_REG, XPD_SDIO_TIEH, XPD_SDIO_FORCE, SPI_PAD_CONFIG_CLK, SPI_PAD_CONFIG_Q, SPI_PAD_CONFIG_D, SPI_PAD_CONFIG_CS0, CHIP_VER_REV2, VOL_LEVEL_HP_INV, WAFER_VERSION_MINOR, FLASH_CRYPT_CONFIG, CODING_SCHEME, CONSOLE_DEBUG_DISABLE, DISABLE_SDIO_HOST, ABS_DONE_0, ABS_DONE_1, JTAG_DISABLE, DISABLE_DL_ENCRYPT, DISABLE_DL_DECRYPT, DISABLE_DL_CACHE, KEY_STATUS, SECURE_VERSION, MAC_VERSION, BLOCK1, BLOCK2, BLOCK3, CUSTOM_MAC_CRC, CUSTOM_MAC, ADC1_TP_LOW, ADC1_TP_HIGH, ADC2_TP_LOW, ADC2_TP_HIGH]. ╭─ Arguments ──────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ * NAME_VALUE_PAIRS [ ] ... [required] │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─ Options ────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ --force Suppress errors when burning eFuses. │ │ --show-token Display the eFuse token dump for the write operation before the confirmation prompt. This │ │ produces EFSW token. If the goal is only to obtain the token, press ENTER to abort (no burning │ │ will occur). Be aware that this may expose sensitive data. │ │ --help -h Show this message and exit. │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpndb5xd6b -d --do-not-confirm burn-efuse MAC AA:CD:EF:01:02:03 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - MAC Burning eFuses: - 'MAC' (MAC address) 0x000000000000 -> 0x030201efcdaa ERROR: A fatal error occurred: Writing Factory MAC address is not supported /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpndb5xd6b -d --do-not-confirm burn-efuse MAC AA:CD:EF:01:02:03 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - MAC Burning eFuses: - 'MAC' (MAC address) 0x000000000000 -> 0x030201efcdaa ERROR: A fatal error occurred: Writing Factory MAC address is not supported Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpndb5xd6b -d --do-not-confirm burn-efuse MAC_VERSION 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK3 - MAC_VERSION Burning eFuses: - 'MAC_VERSION' (Version of the MAC field) 0x00 -> 0x01 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 nothing to burn [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 is empty, will burn the new value . This is an irreversible operation! BLOCK3 ( ) [3 ] to_write: 00000000 00000000 00000000 00000000 00000000 01000000 00000000 00000000 Write data to BLOCK3 Addr 3ff5a0d8, data= 0 Addr 3ff5a0dc, data= 0 Addr 3ff5a0e0, data= 0 Addr 3ff5a0e4, data= 0 Addr 3ff5a0e8, data= 0 Addr 3ff5a0ec, data= 1000000 Addr 3ff5a0f0, data= 0 Addr 3ff5a0f4, data= 0 BLOCK3 0000000000000000010000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 01000000 00000000 00000000 BURN BLOCK3 - OK (write block == read block) These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 01000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpndb5xd6b -d --do-not-confirm burn-efuse -h espefuse v5.4.0 Usage: python -m espefuse burn-efuse [OPTIONS] [ ] ... Burn the eFuse with the specified name. Allowed options for EFUSE_NAME: [WR_DIS, RD_DIS, FLASH_CRYPT_CNT, UART_DOWNLOAD_DIS, MAC, MAC_CRC, DISABLE_APP_CPU, DISABLE_BT, CHIP_PACKAGE_4BIT, DIS_CACHE, SPI_PAD_CONFIG_HD, CHIP_PACKAGE, CHIP_CPU_FREQ_LOW, CHIP_CPU_FREQ_RATED, BLK3_PART_RESERVE, CHIP_VER_REV1, CLK8M_FREQ, ADC_VREF, XPD_SDIO_REG, XPD_SDIO_TIEH, XPD_SDIO_FORCE, SPI_PAD_CONFIG_CLK, SPI_PAD_CONFIG_Q, SPI_PAD_CONFIG_D, SPI_PAD_CONFIG_CS0, CHIP_VER_REV2, VOL_LEVEL_HP_INV, WAFER_VERSION_MINOR, FLASH_CRYPT_CONFIG, CODING_SCHEME, CONSOLE_DEBUG_DISABLE, DISABLE_SDIO_HOST, ABS_DONE_0, ABS_DONE_1, JTAG_DISABLE, DISABLE_DL_ENCRYPT, DISABLE_DL_DECRYPT, DISABLE_DL_CACHE, KEY_STATUS, SECURE_VERSION, MAC_VERSION, BLOCK1, BLOCK2, BLOCK3, CUSTOM_MAC_CRC, CUSTOM_MAC, ADC1_TP_LOW, ADC1_TP_HIGH, ADC2_TP_LOW, ADC2_TP_HIGH]. ╭─ Arguments ──────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ * NAME_VALUE_PAIRS [ ] ... [required] │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─ Options ────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ --force Suppress errors when burning eFuses. │ │ --show-token Display the eFuse token dump for the write operation before the confirmation prompt. This │ │ produces EFSW token. If the goal is only to obtain the token, press ENTER to abort (no burning │ │ will occur). Be aware that this may expose sensitive data. │ │ --help -h Show this message and exit. │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpndb5xd6b -d --do-not-confirm burn-efuse CUSTOM_MAC AB:CD:EF:01:02:03 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 01000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 ERROR: A fatal error occurred: Custom MAC must be a unicast MAC! /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpndb5xd6b -d --do-not-confirm burn-efuse CUSTOM_MAC AB:CD:EF:01:02:03 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 01000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 ERROR: A fatal error occurred: Custom MAC must be a unicast MAC! Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpndb5xd6b -d --do-not-confirm burn-efuse CUSTOM_MAC AA:CD:EF:01:02:03 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 01000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK3 - CUSTOM_MAC Burning eFuses: - 'CUSTOM_MAC' (Custom MAC address) 0x000000000000 -> 0x030201efcdaa - 'CUSTOM_MAC' (Custom MAC address) 0x000000000000 -> 0x030201efcdaa - 'CUSTOM_MAC_CRC' (CRC8 for custom MAC address) 0x00 -> 0x56 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 nothing to burn [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 is not empty (written ): 0x0000000000000000010000000000000000000000000000000000000000000000 (to write): 0x00000000000000000000000000000000000000000000000000030201efcdaa56 (coding scheme = NONE) . This is an irreversible operation! BLOCK3 ( ) [3 ] to_write: efcdaa56 00030201 00000000 00000000 00000000 00000000 00000000 00000000 Write data to BLOCK3 Addr 3ff5a0d8, data= efcdaa56 Addr 3ff5a0dc, data= 30201 Addr 3ff5a0e0, data= 0 Addr 3ff5a0e4, data= 0 Addr 3ff5a0e8, data= 0 Addr 3ff5a0ec, data= 0 Addr 3ff5a0f0, data= 0 Addr 3ff5a0f4, data= 0 BLOCK3 00000000000000000000000000000000000000000000000000030201efcdaa56 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 ( ) [3 ] read_regs: efcdaa56 00030201 00000000 00000000 00000000 01000000 00000000 00000000 BURN BLOCK3 - OK (all write block bits are set) These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: efcdaa56 00030201 00000000 00000000 00000000 01000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpndb5xd6b -d --do-not-confirm get-custom-mac espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: efcdaa56 00030201 00000000 00000000 00000000 01000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "get-custom-mac" command === Custom MAC Address version 1: aa:cd:ef:01:02:03 (CRC 0x56 OK) PASSED test/test_espefuse.py::TestBurnEfuseCommands::test_burn_efuse Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpy26q2zj5 -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpy26q2zj5 -d --do-not-confirm burn-efuse -h espefuse v5.4.0 Usage: python -m espefuse burn-efuse [OPTIONS] [ ] ... Burn the eFuse with the specified name. Allowed options for EFUSE_NAME: [WR_DIS, RD_DIS, FLASH_CRYPT_CNT, UART_DOWNLOAD_DIS, MAC, MAC_CRC, DISABLE_APP_CPU, DISABLE_BT, CHIP_PACKAGE_4BIT, DIS_CACHE, SPI_PAD_CONFIG_HD, CHIP_PACKAGE, CHIP_CPU_FREQ_LOW, CHIP_CPU_FREQ_RATED, BLK3_PART_RESERVE, CHIP_VER_REV1, CLK8M_FREQ, ADC_VREF, XPD_SDIO_REG, XPD_SDIO_TIEH, XPD_SDIO_FORCE, SPI_PAD_CONFIG_CLK, SPI_PAD_CONFIG_Q, SPI_PAD_CONFIG_D, SPI_PAD_CONFIG_CS0, CHIP_VER_REV2, VOL_LEVEL_HP_INV, WAFER_VERSION_MINOR, FLASH_CRYPT_CONFIG, CODING_SCHEME, CONSOLE_DEBUG_DISABLE, DISABLE_SDIO_HOST, ABS_DONE_0, ABS_DONE_1, JTAG_DISABLE, DISABLE_DL_ENCRYPT, DISABLE_DL_DECRYPT, DISABLE_DL_CACHE, KEY_STATUS, SECURE_VERSION, MAC_VERSION, BLOCK1, BLOCK2, BLOCK3, CUSTOM_MAC_CRC, CUSTOM_MAC, ADC1_TP_LOW, ADC1_TP_HIGH, ADC2_TP_LOW, ADC2_TP_HIGH]. ╭─ Arguments ──────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ * NAME_VALUE_PAIRS [ ] ... [required] │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─ Options ────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ --force Suppress errors when burning eFuses. │ │ --show-token Display the eFuse token dump for the write operation before the confirmation prompt. This │ │ produces EFSW token. If the goal is only to obtain the token, press ENTER to abort (no burning │ │ will occur). Be aware that this may expose sensitive data. │ │ --help -h Show this message and exit. │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpy26q2zj5 -d --do-not-confirm burn-efuse CHIP_VER_REV2 1 DISABLE_DL_ENCRYPT 1 CONSOLE_DEBUG_DISABLE 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV2 - DISABLE_DL_ENCRYPT - CONSOLE_DEBUG_DISABLE Burning eFuses: - 'CHIP_VER_REV2' () 0b1 -> 0b1 The same value for CHIP_VER_REV2 is already burned. Do not change the eFuse. - 'DISABLE_DL_ENCRYPT' (Disable flash encryption in UART bootloader) 0b0 -> 0b1 - 'CONSOLE_DEBUG_DISABLE' (Disable ROM BASIC interpreter fallback) 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is not empty (written ): 0x00000000001000000000000000008000000000000000000000000000 (to write): 0x00000084000000000000000000000000000000000000000000000000 (coding scheme = NONE) [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00000000 00000000 00000000 00000084 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 0 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 0 Addr 3ff5a034, data= 84 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000084000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000084 BURN BLOCK0 - OK (all write block bits are set) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000084 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpy26q2zj5 -d --do-not-confirm burn-efuse BLOCK1 0x00010203040506070809111111111111111111111111111111110000112233FF espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000084 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK1 - BLOCK1 Burning eFuses: - 'BLOCK1' (Flash encryption key) 0x0000000000000000000000000000000000000000000000000000000000000000 -> 0x00010203040506070809111111111111111111111111111111110000112233ff Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 nothing to burn [01] BLOCK1 is empty, will burn the new value [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! BLOCK1 (flash_encryption) [1 ] to_write: 112233ff 11110000 11111111 11111111 11111111 08091111 04050607 00010203 Write data to BLOCK1 Addr 3ff5a098, data= 112233ff Addr 3ff5a09c, data= 11110000 Addr 3ff5a0a0, data= 11111111 Addr 3ff5a0a4, data= 11111111 Addr 3ff5a0a8, data= 11111111 Addr 3ff5a0ac, data= 8091111 Addr 3ff5a0b0, data= 4050607 Addr 3ff5a0b4, data= 10203 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 00010203040506070809111111111111111111111111111111110000112233ff BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK1 (flash_encryption) [1 ] read_regs: 112233ff 11110000 11111111 11111111 11111111 08091111 04050607 00010203 BURN BLOCK1 - OK (write block == read block) These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000084 BLOCK1 (flash_encryption) [1 ] read_regs: 112233ff 11110000 11111111 11111111 11111111 08091111 04050607 00010203 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpy26q2zj5 -d --do-not-confirm -d summary espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000084 BLOCK1 (flash_encryption) [1 ] read_regs: 112233ff 11110000 11111111 11111111 11111111 08091111 04050607 00010203 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "summary" command === EFUSE_REG_DEC_STATUS 0x00000000 EFUSE_NAME (Block) Description = [Meaningful Value] [Readable/Writeable] (Hex Value) ---------------------------------------------------------------------------------------- Calibration fuses: ADC_VREF (BLOCK0) True ADC reference voltage = 1100 R/W (0b00000) Config fuses: WR_DIS (BLOCK0) Efuse write disable mask = 0 R/W (0x0000) RD_DIS (BLOCK0) Disable reading from BlOCK1-3 = 0 R/W (0x0) DISABLE_APP_CPU (BLOCK0) Disables APP CPU = False R/W (0b0) DISABLE_BT (BLOCK0) Disables Bluetooth = False R/W (0b0) DIS_CACHE (BLOCK0) Disables cache = False R/W (0b0) CHIP_CPU_FREQ_LOW (BLOCK0) If set alongside EFUSE_RD_CHIP_CPU_FREQ_RATED; the = False R/W (0b0) ESP32's max CPU frequency is rated for 160MHz. 24 0MHz otherwise CHIP_CPU_FREQ_RATED (BLOCK0) If set; the ESP32's maximum CPU frequency has been = False R/W (0b0) rated BLK3_PART_RESERVE (BLOCK0) BLOCK3 partially served for ADC calibration data = False R/W (0b0) CLK8M_FREQ (BLOCK0) 8MHz clock freq override = 0 R/W (0x00) VOL_LEVEL_HP_INV (BLOCK0) This field stores the voltage level for CPU to run = 0 R/W (0b00) at 240 MHz; or for flash/PSRAM to run at 80 MHz.0 x0: level 7; 0x1: level 6; 0x2: level 5; 0x3: leve l 4. (RO) CODING_SCHEME (BLOCK0) Efuse variable block length scheme = NONE (BLK1-3 len=256 bits) R/W (0b00) CONSOLE_DEBUG_DISABLE (BLOCK0) Disable ROM BASIC interpreter fallback = True R/W (0b1) DISABLE_SDIO_HOST (BLOCK0) = False R/W (0b0) DISABLE_DL_CACHE (BLOCK0) Disable flash cache in UART bootloader = False R/W (0b0) Flash fuses: FLASH_CRYPT_CNT (BLOCK0) Flash encryption is enabled if this field has an o = 0 R/W (0b0000000) dd number of bits set FLASH_CRYPT_CONFIG (BLOCK0) Flash encryption config (key tweak bits) = 0 R/W (0x0) Identity fuses: CHIP_PACKAGE_4BIT (BLOCK0) Chip package identifier #4bit = False R/W (0b0) CHIP_PACKAGE (BLOCK0) Chip package identifier = 0 R/W (0b000) CHIP_VER_REV1 (BLOCK0) bit is set to 1 for rev1 silicon = True R/W (0b1) CHIP_VER_REV2 (BLOCK0) = True R/W (0b1) WAFER_VERSION_MINOR (BLOCK0) = 0 R/W (0b00) WAFER_VERSION_MAJOR (BLOCK0) calc WAFER VERSION MAJOR from CHIP_VER_REV1 and CH = 3 R/W (0b011) IP_VER_REV2 and apb_ctl_date (read only) PKG_VERSION (BLOCK0) calc Chip package = CHIP_PACKAGE_4BIT << 3 + CHIP_ = 0 R/W (0x0) PACKAGE (read only) Jtag fuses: JTAG_DISABLE (BLOCK0) Disable JTAG = False R/W (0b0) Mac fuses: MAC (BLOCK0) MAC address = 00:00:00:00:00:00 (CRC 0x00 OK) R/W MAC_CRC (BLOCK0) CRC8 for MAC address = 0 R/W (0x00) MAC_VERSION (BLOCK3) Version of the MAC field = 0 R/W (0x00) CUSTOM_MAC_CRC (BLOCK3) CRC8 for custom MAC address = 0 R/W (0x00) CUSTOM_MAC (BLOCK3) Custom MAC address = 00:00:00:00:00:00 (CRC 0x00 OK) R/W Security fuses: UART_DOWNLOAD_DIS (BLOCK0) Disable UART download mode. Valid for ESP32 V3 and = False R/W (0b0) newer; only 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) DISABLE_DL_ENCRYPT (BLOCK0) Disable flash encryption in UART bootloader = True R/W (0b1) DISABLE_DL_DECRYPT (BLOCK0) Disable flash decryption in UART bootloader = False R/W (0b0) KEY_STATUS (BLOCK0) Usage of efuse block 3 (reserved) = False R/W (0b0) SECURE_VERSION (BLOCK3) Secure version for anti-rollback = 0 R/W (0x00000000) BLOCK1 (BLOCK1) Flash encryption key = ff 33 22 11 00 00 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 09 08 07 06 05 04 03 02 01 00 R/W BLOCK2 (BLOCK2) Security 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 00 00 00 00 00 00 00 00 R/W BLOCK3 (BLOCK3) Variable Block 3 = 00 00 00 00 00 00 00 00 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 Spi Pad fuses: SPI_PAD_CONFIG_HD (BLOCK0) read for SPI_pad_config_hd = 0 R/W (0b00000) 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_CS0 (BLOCK0) Override SD_CMD pad (GPIO11/SPICS0) = 0 R/W (0b00000) Vdd fuses: XPD_SDIO_REG (BLOCK0) read for XPD_SDIO_REG = False R/W (0b0) XPD_SDIO_TIEH (BLOCK0) If XPD_SDIO_FORCE & XPD_SDIO_REG = 1.8V R/W (0b0) XPD_SDIO_FORCE (BLOCK0) Ignore MTDI pin (GPIO12) for VDD_SDIO on reset = False R/W (0b0) Flash voltage (VDD_SDIO) determined by GPIO12 on reset (High for 1.8V, Low/NC for 3.3V) Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpy26q2zj5 -d --do-not-confirm burn-efuse BLOCK2 00010203040506070809111111111111111111111111111111110000112233FF espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000084 BLOCK1 (flash_encryption) [1 ] read_regs: 112233ff 11110000 11111111 11111111 11111111 08091111 04050607 00010203 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK2 - BLOCK2 Burning eFuses: - 'BLOCK2' (Security boot key) 0x0000000000000000000000000000000000000000000000000000000000000000 -> 0xff33221100001111111111111111111111111111111109080706050403020100 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 nothing to burn [01] BLOCK1 nothing to burn [02] BLOCK2 is empty, will burn the new value [03] BLOCK3 nothing to burn . This is an irreversible operation! BLOCK2 (secure_boot_v1 s) [2 ] to_write: 03020100 07060504 11110908 11111111 11111111 11111111 00001111 ff332211 Write data to BLOCK2 Addr 3ff5a0b8, data= 3020100 Addr 3ff5a0bc, data= 7060504 Addr 3ff5a0c0, data= 11110908 Addr 3ff5a0c4, data= 11111111 Addr 3ff5a0c8, data= 11111111 Addr 3ff5a0cc, data= 11111111 Addr 3ff5a0d0, data= 1111 Addr 3ff5a0d4, data= ff332211 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 ff33221100001111111111111111111111111111111109080706050403020100 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 03020100 07060504 11110908 11111111 11111111 11111111 00001111 ff332211 BURN BLOCK2 - OK (write block == read block) These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000084 BLOCK1 (flash_encryption) [1 ] read_regs: 112233ff 11110000 11111111 11111111 11111111 08091111 04050607 00010203 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 03020100 07060504 11110908 11111111 11111111 11111111 00001111 ff332211 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpy26q2zj5 -d --do-not-confirm -d summary espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000084 BLOCK1 (flash_encryption) [1 ] read_regs: 112233ff 11110000 11111111 11111111 11111111 08091111 04050607 00010203 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 03020100 07060504 11110908 11111111 11111111 11111111 00001111 ff332211 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "summary" command === EFUSE_REG_DEC_STATUS 0x00000000 EFUSE_NAME (Block) Description = [Meaningful Value] [Readable/Writeable] (Hex Value) ---------------------------------------------------------------------------------------- Calibration fuses: ADC_VREF (BLOCK0) True ADC reference voltage = 1100 R/W (0b00000) Config fuses: WR_DIS (BLOCK0) Efuse write disable mask = 0 R/W (0x0000) RD_DIS (BLOCK0) Disable reading from BlOCK1-3 = 0 R/W (0x0) DISABLE_APP_CPU (BLOCK0) Disables APP CPU = False R/W (0b0) DISABLE_BT (BLOCK0) Disables Bluetooth = False R/W (0b0) DIS_CACHE (BLOCK0) Disables cache = False R/W (0b0) CHIP_CPU_FREQ_LOW (BLOCK0) If set alongside EFUSE_RD_CHIP_CPU_FREQ_RATED; the = False R/W (0b0) ESP32's max CPU frequency is rated for 160MHz. 24 0MHz otherwise CHIP_CPU_FREQ_RATED (BLOCK0) If set; the ESP32's maximum CPU frequency has been = False R/W (0b0) rated BLK3_PART_RESERVE (BLOCK0) BLOCK3 partially served for ADC calibration data = False R/W (0b0) CLK8M_FREQ (BLOCK0) 8MHz clock freq override = 0 R/W (0x00) VOL_LEVEL_HP_INV (BLOCK0) This field stores the voltage level for CPU to run = 0 R/W (0b00) at 240 MHz; or for flash/PSRAM to run at 80 MHz.0 x0: level 7; 0x1: level 6; 0x2: level 5; 0x3: leve l 4. (RO) CODING_SCHEME (BLOCK0) Efuse variable block length scheme = NONE (BLK1-3 len=256 bits) R/W (0b00) CONSOLE_DEBUG_DISABLE (BLOCK0) Disable ROM BASIC interpreter fallback = True R/W (0b1) DISABLE_SDIO_HOST (BLOCK0) = False R/W (0b0) DISABLE_DL_CACHE (BLOCK0) Disable flash cache in UART bootloader = False R/W (0b0) Flash fuses: FLASH_CRYPT_CNT (BLOCK0) Flash encryption is enabled if this field has an o = 0 R/W (0b0000000) dd number of bits set FLASH_CRYPT_CONFIG (BLOCK0) Flash encryption config (key tweak bits) = 0 R/W (0x0) Identity fuses: CHIP_PACKAGE_4BIT (BLOCK0) Chip package identifier #4bit = False R/W (0b0) CHIP_PACKAGE (BLOCK0) Chip package identifier = 0 R/W (0b000) CHIP_VER_REV1 (BLOCK0) bit is set to 1 for rev1 silicon = True R/W (0b1) CHIP_VER_REV2 (BLOCK0) = True R/W (0b1) WAFER_VERSION_MINOR (BLOCK0) = 0 R/W (0b00) WAFER_VERSION_MAJOR (BLOCK0) calc WAFER VERSION MAJOR from CHIP_VER_REV1 and CH = 3 R/W (0b011) IP_VER_REV2 and apb_ctl_date (read only) PKG_VERSION (BLOCK0) calc Chip package = CHIP_PACKAGE_4BIT << 3 + CHIP_ = 0 R/W (0x0) PACKAGE (read only) Jtag fuses: JTAG_DISABLE (BLOCK0) Disable JTAG = False R/W (0b0) Mac fuses: MAC (BLOCK0) MAC address = 00:00:00:00:00:00 (CRC 0x00 OK) R/W MAC_CRC (BLOCK0) CRC8 for MAC address = 0 R/W (0x00) MAC_VERSION (BLOCK3) Version of the MAC field = 0 R/W (0x00) CUSTOM_MAC_CRC (BLOCK3) CRC8 for custom MAC address = 0 R/W (0x00) CUSTOM_MAC (BLOCK3) Custom MAC address = 00:00:00:00:00:00 (CRC 0x00 OK) R/W Security fuses: UART_DOWNLOAD_DIS (BLOCK0) Disable UART download mode. Valid for ESP32 V3 and = False R/W (0b0) newer; only 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) DISABLE_DL_ENCRYPT (BLOCK0) Disable flash encryption in UART bootloader = True R/W (0b1) DISABLE_DL_DECRYPT (BLOCK0) Disable flash decryption in UART bootloader = False R/W (0b0) KEY_STATUS (BLOCK0) Usage of efuse block 3 (reserved) = False R/W (0b0) SECURE_VERSION (BLOCK3) Secure version for anti-rollback = 0 R/W (0x00000000) BLOCK1 (BLOCK1) Flash encryption key = ff 33 22 11 00 00 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 09 08 07 06 05 04 03 02 01 00 R/W BLOCK2 (BLOCK2) Security boot key = 00 01 02 03 04 05 06 07 08 09 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 00 00 11 22 33 ff R/W BLOCK3 (BLOCK3) Variable Block 3 = 00 00 00 00 00 00 00 00 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 Spi Pad fuses: SPI_PAD_CONFIG_HD (BLOCK0) read for SPI_pad_config_hd = 0 R/W (0b00000) 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_CS0 (BLOCK0) Override SD_CMD pad (GPIO11/SPICS0) = 0 R/W (0b00000) Vdd fuses: XPD_SDIO_REG (BLOCK0) read for XPD_SDIO_REG = False R/W (0b0) XPD_SDIO_TIEH (BLOCK0) If XPD_SDIO_FORCE & XPD_SDIO_REG = 1.8V R/W (0b0) XPD_SDIO_FORCE (BLOCK0) Ignore MTDI pin (GPIO12) for VDD_SDIO on reset = False R/W (0b0) Flash voltage (VDD_SDIO) determined by GPIO12 on reset (High for 1.8V, Low/NC for 3.3V) PASSED test/test_espefuse.py::TestBurnEfuseCommands::test_burn_efuse_with_34_coding_scheme Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpx0zsv2zv -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpx0zsv2zv -d --do-not-confirm burn-efuse CODING_SCHEME 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CODING_SCHEME Burning eFuses: - 'CODING_SCHEME' (Efuse variable block length scheme) 0b00 -> 0b01 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is not empty (written ): 0x00000000001000000000000000008000000000000000000000000000 (to write): 0x00000001000000000000000000000000000000000000000000000000 (coding scheme = NONE) [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00000000 00000000 00000000 00000001 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 0 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 0 Addr 3ff5a034, data= 1 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000001000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BURN BLOCK0 - OK (all write block bits are set) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpx0zsv2zv -d --do-not-confirm burn-efuse BLK3_PART_RESERVE 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - BLK3_PART_RESERVE Burning eFuses: - 'BLK3_PART_RESERVE' (BLOCK3 partially served for ADC calibration data) 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is not empty (written ): 0x00000001001000000000000000008000000000000000000000000000 (to write): 0x00000000000000000000000000004000000000000000000000000000 (coding scheme = NONE) [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00004000 00000000 00000000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 4000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 0 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000004000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 0000c000 00000000 00100000 00000001 BURN BLOCK0 - OK (all write block bits are set) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 0000c000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpx0zsv2zv -d --do-not-confirm burn-efuse ADC1_TP_LOW 50 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 0000c000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK3 - ADC1_TP_LOW ATTENTION! This BLOCK uses NOT the NONE coding scheme and after 'BURN', these efuses can not be burned in the feature: ['SECURE_VERSION', 'MAC_VERSION', 'BLOCK3', 'ADC1_TP_HIGH', 'ADC2_TP_LOW'] ['ADC2_TP_HIGH', 'CUSTOM_MAC_CRC', 'CUSTOM_MAC'] Burning eFuses (see 'ATTENTION!' above): - 'ADC1_TP_LOW' (ADC1 Two Point calibration low point. Only valid if EFUSE_RD_BLK3_PART_RESERVE) 0b0000000 -> 0b0110010 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 nothing to burn [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 is empty, will burn the new value . This is an irreversible operation! BLOCK3 ( ) [3 ] to_write: 00000000 00000000 00000000 00000032 00000000 00000000 Write data to BLOCK3 Addr 3ff5a0d8, data= 0 Addr 3ff5a0dc, data= 0 Addr 3ff5a0e0, data= 0 Addr 3ff5a0e4, data= 0 Addr 3ff5a0e8, data= 32 Addr 3ff5a0ec, data= 3320000 Addr 3ff5a0f0, data= 0 Addr 3ff5a0f4, data= 0 BLOCK3 0000000000000000033200000000003200000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000032 00000000 00000000 BURN BLOCK3 - OK (write block == read block) These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 0000c000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000032 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpx0zsv2zv -d --do-not-confirm burn-efuse ADC1_TP_HIGH 55 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 0000c000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000032 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK3 - ADC1_TP_HIGH ATTENTION! This BLOCK uses NOT the NONE coding scheme and after 'BURN', these efuses can not be burned in the feature: ['SECURE_VERSION', 'MAC_VERSION', 'BLOCK3', 'ADC1_TP_LOW', 'ADC2_TP_LOW'] ['ADC2_TP_HIGH', 'CUSTOM_MAC_CRC', 'CUSTOM_MAC'] Burning eFuses (see 'ATTENTION!' above): - 'ADC1_TP_HIGH' (ADC1 Two Point calibration high point. Only valid if EFUSE_RD_BLK3_PART_RESERVE) 0b000000000 -> 0b000110111 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 nothing to burn [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 is not empty (written ): 0x000000000000000000000032000000000000000000000000 (to write): 0x000000000000000000001b80000000000000000000000000 (coding scheme = 3/4) written chunk [1] and wr_chunk are not empty. wr_chunk != rd_chunk. Can not burn. written 0x000000000032 to write 0x000000001b80 ERROR: A fatal error occurred: Burn into BLOCK3 is forbidden (3/4 coding scheme does not allow this). /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpx0zsv2zv -d --do-not-confirm burn-efuse ADC1_TP_HIGH 55 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 0000c000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000032 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK3 - ADC1_TP_HIGH ATTENTION! This BLOCK uses NOT the NONE coding scheme and after 'BURN', these efuses can not be burned in the feature: ['SECURE_VERSION', 'MAC_VERSION', 'BLOCK3', 'ADC1_TP_LOW', 'ADC2_TP_LOW'] ['ADC2_TP_HIGH', 'CUSTOM_MAC_CRC', 'CUSTOM_MAC'] Burning eFuses (see 'ATTENTION!' above): - 'ADC1_TP_HIGH' (ADC1 Two Point calibration high point. Only valid if EFUSE_RD_BLK3_PART_RESERVE) 0b000000000 -> 0b000110111 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 nothing to burn [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 is not empty (written ): 0x000000000000000000000032000000000000000000000000 (to write): 0x000000000000000000001b80000000000000000000000000 (coding scheme = 3/4) written chunk [1] and wr_chunk are not empty. wr_chunk != rd_chunk. Can not burn. written 0x000000000032 to write 0x000000001b80 ERROR: A fatal error occurred: Burn into BLOCK3 is forbidden (3/4 coding scheme does not allow this). PASSED test/test_espefuse.py::TestBurnEfuseCommands::test_burn_efuse_with_34_coding_scheme2 Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpuzlzo_04 -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpuzlzo_04 -d --do-not-confirm burn-efuse CODING_SCHEME 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CODING_SCHEME Burning eFuses: - 'CODING_SCHEME' (Efuse variable block length scheme) 0b00 -> 0b01 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is not empty (written ): 0x00000000001000000000000000008000000000000000000000000000 (to write): 0x00000001000000000000000000000000000000000000000000000000 (coding scheme = NONE) [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00000000 00000000 00000000 00000001 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 0 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 0 Addr 3ff5a034, data= 1 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000001000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BURN BLOCK0 - OK (all write block bits are set) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpuzlzo_04 -d --do-not-confirm burn-efuse BLK3_PART_RESERVE 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - BLK3_PART_RESERVE Burning eFuses: - 'BLK3_PART_RESERVE' (BLOCK3 partially served for ADC calibration data) 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is not empty (written ): 0x00000001001000000000000000008000000000000000000000000000 (to write): 0x00000000000000000000000000004000000000000000000000000000 (coding scheme = NONE) [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00004000 00000000 00000000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 4000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 0 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000004000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 0000c000 00000000 00100000 00000001 BURN BLOCK0 - OK (all write block bits are set) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 0000c000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpuzlzo_04 -d --do-not-confirm burn-efuse ADC1_TP_LOW 50 ADC1_TP_HIGH 55 ADC2_TP_LOW 40 ADC2_TP_HIGH 45 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 0000c000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK3 - ADC1_TP_LOW - ADC1_TP_HIGH - ADC2_TP_LOW - ADC2_TP_HIGH ATTENTION! This BLOCK uses NOT the NONE coding scheme and after 'BURN', these efuses can not be burned in the feature: ['SECURE_VERSION', 'MAC_VERSION', 'BLOCK3', 'CUSTOM_MAC_CRC', 'CUSTOM_MAC'] Burning eFuses (see 'ATTENTION!' above): - 'ADC1_TP_LOW' (ADC1 Two Point calibration low point. Only valid if EFUSE_RD_BLK3_PART_RESERVE) 0b0000000 -> 0b0110010 - 'ADC1_TP_HIGH' (ADC1 Two Point calibration high point. Only valid if EFUSE_RD_BLK3_PART_RESERVE) 0b000000000 -> 0b000110111 - 'ADC2_TP_LOW' (ADC2 Two Point calibration low point. Only valid if EFUSE_RD_BLK3_PART_RESERVE) 0b0000000 -> 0b0101000 - 'ADC2_TP_HIGH' (ADC2 Two Point calibration high point. Only valid if EFUSE_RD_BLK3_PART_RESERVE) 0b000000000 -> 0b000101101 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 nothing to burn [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 is empty, will burn the new value . This is an irreversible operation! BLOCK3 ( ) [3 ] to_write: 00000000 00000000 00000000 16a81bb2 00000000 00000000 Write data to BLOCK3 Addr 3ff5a0d8, data= 0 Addr 3ff5a0dc, data= 0 Addr 3ff5a0e0, data= 0 Addr 3ff5a0e4, data= 0 Addr 3ff5a0e8, data= 16a81bb2 Addr 3ff5a0ec, data= 21170000 Addr 3ff5a0f0, data= 0 Addr 3ff5a0f4, data= 0 BLOCK3 00000000000000002117000016a81bb200000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 16a81bb2 00000000 00000000 BURN BLOCK3 - OK (write block == read block) These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 0000c000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 16a81bb2 00000000 00000000 Checking eFuses... Successful. PASSED test/test_espefuse.py::TestBurnEfuseCommands::test_burn_efuse_incompatibility_check SKIPPED test/test_espefuse.py::TestBurnKeyCommands::test_burn_key_3_key_blocks Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpatlh3mxh -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpatlh3mxh -d --do-not-confirm burn-key -h espefuse v5.4.0 Usage: python -m espefuse burn-key [OPTIONS] [ ] ... (max 6 groups) Burn a 256-bit key to EFUSE. Arguments are pairs of block name and key file, containing 256 bits of binary key data. Block is one of: [BLOCK1, flash_encryption, BLOCK2, secure_boot_v1, secure_boot_v2, BLOCK3] ╭─ Arguments ──────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ * BLOCK_KEYFILE [ ] ... (max 6 groups) [required] │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─ Options ────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ --no-protect-key Disable the default read- and write-protection of the key. If this option is not set, │ │ once the key is flashed it cannot be read back or changed. │ │ --force-write-always Write the eFuse even if it looks like it's already been written, or is write protected. │ │ Note that this option can't disable write protection, or clear any bit which has │ │ already been set. │ │ --show-sensitive-info Show data to be burned (may expose sensitive data). Enabled if --debug is used. │ │ --show-token Display the eFuse token dump for the write operation before the confirmation prompt. │ │ This produces EFSW token. If the goal is only to obtain the token, press ENTER to abort │ │ (no burning will occur). Be aware that this may expose sensitive data. │ │ --help -h Show this message and exit. │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpatlh3mxh -d --do-not-confirm burn-key BLOCK1 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/192bit espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-key" command === Burn keys to blocks: - BLOCK1 -> [00 00 00 00 00 05 06 07 08 09 00 00 00 00 00 00 00 00 00 13 14 15 16 00] ERROR: A fatal error occurred: Incorrect key file size 24. Key file must be 32 bytes (256 bits) of raw binary key data. /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpatlh3mxh -d --do-not-confirm burn-key BLOCK1 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/192bit espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-key" command === Burn keys to blocks: - BLOCK1 -> [00 00 00 00 00 05 06 07 08 09 00 00 00 00 00 00 00 00 00 13 14 15 16 00] ERROR: A fatal error occurred: Incorrect key file size 24. Key file must be 32 bytes (256 bits) of raw binary key data. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpatlh3mxh -d --do-not-confirm burn-key BLOCK1 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/256bit BLOCK2 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/256bit_1 BLOCK3 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/256bit_2 --no-protect-key espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-key" command === Burn keys to blocks: - BLOCK1 -> - BLOCK2 -> [11 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd 11 bf] - BLOCK3 -> [22 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd 22 bf] Key is left unprotected as per --no-protect-key argument. Burn keys in eFuse blocks. The key block will be left readable and writeable (due to --no-protect-key). Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 nothing to burn [01] BLOCK1 is empty, will burn the new value [02] BLOCK2 is empty, will burn the new value [03] BLOCK3 is empty, will burn the new value . This is an irreversible operation! BLOCK3 ( ) [3 ] to_write: a3a2a122 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bf22bdbc Write data to BLOCK3 Addr 3ff5a0d8, data= a3a2a122 Addr 3ff5a0dc, data= a7a6a5a4 Addr 3ff5a0e0, data= abaaa9a8 Addr 3ff5a0e4, data= afaeadac Addr 3ff5a0e8, data= b3b2b1b0 Addr 3ff5a0ec, data= b7b6b5b4 Addr 3ff5a0f0, data= bbbab9b8 Addr 3ff5a0f4, data= bf22bdbc BLOCK3 bf22bdbcbbbab9b8b7b6b5b4b3b2b1b0afaeadacabaaa9a8a7a6a5a4a3a2a122 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 ( ) [3 ] read_regs: a3a2a122 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bf22bdbc BURN BLOCK3 - OK (write block == read block) BLOCK2 (secure_boot_v1 s) [2 ] to_write: a3a2a111 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bf11bdbc Write data to BLOCK2 Addr 3ff5a0b8, data= a3a2a111 Addr 3ff5a0bc, data= a7a6a5a4 Addr 3ff5a0c0, data= abaaa9a8 Addr 3ff5a0c4, data= afaeadac Addr 3ff5a0c8, data= b3b2b1b0 Addr 3ff5a0cc, data= b7b6b5b4 Addr 3ff5a0d0, data= bbbab9b8 Addr 3ff5a0d4, data= bf11bdbc BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 bf11bdbcbbbab9b8b7b6b5b4b3b2b1b0afaeadacabaaa9a8a7a6a5a4a3a2a111 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: a3a2a111 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bf11bdbc BURN BLOCK2 - OK (write block == read block) BLOCK1 (flash_encryption) [1 ] to_write: a3a2a1a0 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bfbebdbc Write data to BLOCK1 Addr 3ff5a098, data= a3a2a1a0 Addr 3ff5a09c, data= a7a6a5a4 Addr 3ff5a0a0, data= abaaa9a8 Addr 3ff5a0a4, data= afaeadac Addr 3ff5a0a8, data= b3b2b1b0 Addr 3ff5a0ac, data= b7b6b5b4 Addr 3ff5a0b0, data= bbbab9b8 Addr 3ff5a0b4, data= bfbebdbc BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 bfbebdbcbbbab9b8b7b6b5b4b3b2b1b0afaeadacabaaa9a8a7a6a5a4a3a2a1a0 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK1 (flash_encryption) [1 ] read_regs: a3a2a1a0 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bfbebdbc BURN BLOCK1 - OK (write block == read block) These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: a3a2a1a0 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bfbebdbc BLOCK2 (secure_boot_v1 s) [2 ] read_regs: a3a2a111 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bf11bdbc BLOCK3 ( ) [3 ] read_regs: a3a2a122 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bf22bdbc Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpatlh3mxh -d --do-not-confirm -d summary espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: a3a2a1a0 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bfbebdbc BLOCK2 (secure_boot_v1 s) [2 ] read_regs: a3a2a111 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bf11bdbc BLOCK3 ( ) [3 ] read_regs: a3a2a122 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bf22bdbc EFUSE_REG_DEC_STATUS 0x00000000 === Run "summary" command === EFUSE_REG_DEC_STATUS 0x00000000 EFUSE_NAME (Block) Description = [Meaningful Value] [Readable/Writeable] (Hex Value) ---------------------------------------------------------------------------------------- Calibration fuses: ADC_VREF (BLOCK0) True ADC reference voltage = 1100 R/W (0b00000) Config fuses: WR_DIS (BLOCK0) Efuse write disable mask = 0 R/W (0x0000) RD_DIS (BLOCK0) Disable reading from BlOCK1-3 = 0 R/W (0x0) DISABLE_APP_CPU (BLOCK0) Disables APP CPU = False R/W (0b0) DISABLE_BT (BLOCK0) Disables Bluetooth = False R/W (0b0) DIS_CACHE (BLOCK0) Disables cache = False R/W (0b0) CHIP_CPU_FREQ_LOW (BLOCK0) If set alongside EFUSE_RD_CHIP_CPU_FREQ_RATED; the = False R/W (0b0) ESP32's max CPU frequency is rated for 160MHz. 24 0MHz otherwise CHIP_CPU_FREQ_RATED (BLOCK0) If set; the ESP32's maximum CPU frequency has been = False R/W (0b0) rated BLK3_PART_RESERVE (BLOCK0) BLOCK3 partially served for ADC calibration data = False R/W (0b0) CLK8M_FREQ (BLOCK0) 8MHz clock freq override = 0 R/W (0x00) VOL_LEVEL_HP_INV (BLOCK0) This field stores the voltage level for CPU to run = 0 R/W (0b00) at 240 MHz; or for flash/PSRAM to run at 80 MHz.0 x0: level 7; 0x1: level 6; 0x2: level 5; 0x3: leve l 4. (RO) CODING_SCHEME (BLOCK0) Efuse variable block length scheme = NONE (BLK1-3 len=256 bits) R/W (0b00) CONSOLE_DEBUG_DISABLE (BLOCK0) Disable ROM BASIC interpreter fallback = False R/W (0b0) DISABLE_SDIO_HOST (BLOCK0) = False R/W (0b0) DISABLE_DL_CACHE (BLOCK0) Disable flash cache in UART bootloader = False R/W (0b0) Flash fuses: FLASH_CRYPT_CNT (BLOCK0) Flash encryption is enabled if this field has an o = 0 R/W (0b0000000) dd number of bits set FLASH_CRYPT_CONFIG (BLOCK0) Flash encryption config (key tweak bits) = 0 R/W (0x0) Identity fuses: CHIP_PACKAGE_4BIT (BLOCK0) Chip package identifier #4bit = False R/W (0b0) CHIP_PACKAGE (BLOCK0) Chip package identifier = 0 R/W (0b000) CHIP_VER_REV1 (BLOCK0) bit is set to 1 for rev1 silicon = True R/W (0b1) CHIP_VER_REV2 (BLOCK0) = True R/W (0b1) WAFER_VERSION_MINOR (BLOCK0) = 0 R/W (0b00) WAFER_VERSION_MAJOR (BLOCK0) calc WAFER VERSION MAJOR from CHIP_VER_REV1 and CH = 3 R/W (0b011) IP_VER_REV2 and apb_ctl_date (read only) PKG_VERSION (BLOCK0) calc Chip package = CHIP_PACKAGE_4BIT << 3 + CHIP_ = 0 R/W (0x0) PACKAGE (read only) Jtag fuses: JTAG_DISABLE (BLOCK0) Disable JTAG = False R/W (0b0) Mac fuses: MAC (BLOCK0) MAC address = 00:00:00:00:00:00 (CRC 0x00 OK) R/W MAC_CRC (BLOCK0) CRC8 for MAC address = 0 R/W (0x00) MAC_VERSION (BLOCK3) Version of the MAC field = 183 R/W (0xb7) CUSTOM_MAC_CRC (BLOCK3) CRC8 for custom MAC address = 34 R/W (0x22) CUSTOM_MAC (BLOCK3) Custom MAC address = a1:a2:a3:a4:a5:a6 (CRC 0x22 invalid - calculated 0xf1) R/W Security fuses: UART_DOWNLOAD_DIS (BLOCK0) Disable UART download mode. Valid for ESP32 V3 and = False R/W (0b0) newer; only 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) 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) KEY_STATUS (BLOCK0) Usage of efuse block 3 (reserved) = False R/W (0b0) SECURE_VERSION (BLOCK3) Secure version for anti-rollback = 3014832560 R/W (0xb3b2b1b0) BLOCK1 (BLOCK1) Flash encryption key = a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd be bf R/W BLOCK2 (BLOCK2) Security boot key = 11 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd 11 bf R/W BLOCK3 (BLOCK3) Variable Block 3 = 22 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd 22 bf R/W Spi Pad fuses: SPI_PAD_CONFIG_HD (BLOCK0) read for SPI_pad_config_hd = 0 R/W (0b00000) 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_CS0 (BLOCK0) Override SD_CMD pad (GPIO11/SPICS0) = 0 R/W (0b00000) Vdd fuses: XPD_SDIO_REG (BLOCK0) read for XPD_SDIO_REG = False R/W (0b0) XPD_SDIO_TIEH (BLOCK0) If XPD_SDIO_FORCE & XPD_SDIO_REG = 1.8V R/W (0b0) XPD_SDIO_FORCE (BLOCK0) Ignore MTDI pin (GPIO12) for VDD_SDIO on reset = False R/W (0b0) Flash voltage (VDD_SDIO) determined by GPIO12 on reset (High for 1.8V, Low/NC for 3.3V) Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpatlh3mxh -d --do-not-confirm burn-key BLOCK1 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/256bit BLOCK2 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/256bit_1 BLOCK3 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/256bit_2 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: a3a2a1a0 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bfbebdbc BLOCK2 (secure_boot_v1 s) [2 ] read_regs: a3a2a111 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bf11bdbc BLOCK3 ( ) [3 ] read_regs: a3a2a122 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bf22bdbc EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-key" command === Burn keys to blocks: - BLOCK1 -> The same value for BLOCK1 is already burned. Do not change the eFuse. Disabling write to key block... - BLOCK2 -> [11 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd 11 bf] The same value for BLOCK2 is already burned. Do not change the eFuse. Disabling write to key block... - BLOCK3 -> [22 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd 22 bf] The same value for BLOCK3 is already burned. Do not change the eFuse. Disabling write to key block... Burn keys in eFuse blocks. The key block will be read and write protected (no further changes or readback). Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is not empty (written ): 0x00000000001000000000000000008000000000000000000000000000 (to write): 0x00000000000000000000000000000000000000000000000000000380 (coding scheme = NONE) [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0380'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } Burn postponed eFuses from BLOCK0. BLOCK0 ( ) [0 ] to_write: 00000380 00000000 00000000 00000000 00000000 00000000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 380 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 0 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 0 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000380 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000380 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (all write block bits are set) Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000380 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: a3a2a1a0 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bfbebdbc BLOCK2 (secure_boot_v1 s) [2 ] read_regs: a3a2a111 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bf11bdbc BLOCK3 ( ) [3 ] read_regs: a3a2a122 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bf22bdbc Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpatlh3mxh -d --do-not-confirm -d summary espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000380 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: a3a2a1a0 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bfbebdbc BLOCK2 (secure_boot_v1 s) [2 ] read_regs: a3a2a111 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bf11bdbc BLOCK3 ( ) [3 ] read_regs: a3a2a122 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bf22bdbc EFUSE_REG_DEC_STATUS 0x00000000 === Run "summary" command === EFUSE_REG_DEC_STATUS 0x00000000 EFUSE_NAME (Block) Description = [Meaningful Value] [Readable/Writeable] (Hex Value) ---------------------------------------------------------------------------------------- Calibration fuses: ADC_VREF (BLOCK0) True ADC reference voltage = 1100 R/W (0b00000) Config fuses: WR_DIS (BLOCK0) Efuse write disable mask = 896 R/W (0x0380) RD_DIS (BLOCK0) Disable reading from BlOCK1-3 = 0 R/W (0x0) DISABLE_APP_CPU (BLOCK0) Disables APP CPU = False R/W (0b0) DISABLE_BT (BLOCK0) Disables Bluetooth = False R/W (0b0) DIS_CACHE (BLOCK0) Disables cache = False R/W (0b0) CHIP_CPU_FREQ_LOW (BLOCK0) If set alongside EFUSE_RD_CHIP_CPU_FREQ_RATED; the = False R/W (0b0) ESP32's max CPU frequency is rated for 160MHz. 24 0MHz otherwise CHIP_CPU_FREQ_RATED (BLOCK0) If set; the ESP32's maximum CPU frequency has been = False R/W (0b0) rated BLK3_PART_RESERVE (BLOCK0) BLOCK3 partially served for ADC calibration data = False R/W (0b0) CLK8M_FREQ (BLOCK0) 8MHz clock freq override = 0 R/W (0x00) VOL_LEVEL_HP_INV (BLOCK0) This field stores the voltage level for CPU to run = 0 R/W (0b00) at 240 MHz; or for flash/PSRAM to run at 80 MHz.0 x0: level 7; 0x1: level 6; 0x2: level 5; 0x3: leve l 4. (RO) CODING_SCHEME (BLOCK0) Efuse variable block length scheme = NONE (BLK1-3 len=256 bits) R/W (0b00) CONSOLE_DEBUG_DISABLE (BLOCK0) Disable ROM BASIC interpreter fallback = False R/W (0b0) DISABLE_SDIO_HOST (BLOCK0) = False R/W (0b0) DISABLE_DL_CACHE (BLOCK0) Disable flash cache in UART bootloader = False R/W (0b0) Flash fuses: FLASH_CRYPT_CNT (BLOCK0) Flash encryption is enabled if this field has an o = 0 R/W (0b0000000) dd number of bits set FLASH_CRYPT_CONFIG (BLOCK0) Flash encryption config (key tweak bits) = 0 R/W (0x0) Identity fuses: CHIP_PACKAGE_4BIT (BLOCK0) Chip package identifier #4bit = False R/W (0b0) CHIP_PACKAGE (BLOCK0) Chip package identifier = 0 R/W (0b000) CHIP_VER_REV1 (BLOCK0) bit is set to 1 for rev1 silicon = True R/W (0b1) CHIP_VER_REV2 (BLOCK0) = True R/W (0b1) WAFER_VERSION_MINOR (BLOCK0) = 0 R/W (0b00) WAFER_VERSION_MAJOR (BLOCK0) calc WAFER VERSION MAJOR from CHIP_VER_REV1 and CH = 3 R/W (0b011) IP_VER_REV2 and apb_ctl_date (read only) PKG_VERSION (BLOCK0) calc Chip package = CHIP_PACKAGE_4BIT << 3 + CHIP_ = 0 R/W (0x0) PACKAGE (read only) Jtag fuses: JTAG_DISABLE (BLOCK0) Disable JTAG = False R/W (0b0) Mac fuses: MAC (BLOCK0) MAC address = 00:00:00:00:00:00 (CRC 0x00 OK) R/W MAC_CRC (BLOCK0) CRC8 for MAC address = 0 R/W (0x00) MAC_VERSION (BLOCK3) Version of the MAC field = 183 R/- (0xb7) CUSTOM_MAC_CRC (BLOCK3) CRC8 for custom MAC address = 34 R/- (0x22) CUSTOM_MAC (BLOCK3) Custom MAC address = a1:a2:a3:a4:a5:a6 (CRC 0x22 invalid - calculated 0xf1) R/- Security fuses: UART_DOWNLOAD_DIS (BLOCK0) Disable UART download mode. Valid for ESP32 V3 and = False R/W (0b0) newer; only 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) 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) KEY_STATUS (BLOCK0) Usage of efuse block 3 (reserved) = False R/W (0b0) SECURE_VERSION (BLOCK3) Secure version for anti-rollback = 3014832560 R/- (0xb3b2b1b0) BLOCK1 (BLOCK1) Flash encryption key = a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd be bf R/- BLOCK2 (BLOCK2) Security boot key = 11 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd 11 bf R/- BLOCK3 (BLOCK3) Variable Block 3 = 22 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd 22 bf R/- Spi Pad fuses: SPI_PAD_CONFIG_HD (BLOCK0) read for SPI_pad_config_hd = 0 R/W (0b00000) 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_CS0 (BLOCK0) Override SD_CMD pad (GPIO11/SPICS0) = 0 R/W (0b00000) Vdd fuses: XPD_SDIO_REG (BLOCK0) read for XPD_SDIO_REG = False R/W (0b0) XPD_SDIO_TIEH (BLOCK0) If XPD_SDIO_FORCE & XPD_SDIO_REG = 1.8V R/W (0b0) XPD_SDIO_FORCE (BLOCK0) Ignore MTDI pin (GPIO12) for VDD_SDIO on reset = False R/W (0b0) Flash voltage (VDD_SDIO) determined by GPIO12 on reset (High for 1.8V, Low/NC for 3.3V) PASSED test/test_espefuse.py::TestBurnKeyCommands::test_burn_key_1_key_block SKIPPED test/test_espefuse.py::TestBurnKeyCommands::test_burn_key_one_key_block_with_fe_and_sb_keys SKIPPED test/test_espefuse.py::TestBurnKeyCommands::test_burn_key_with_6_keys SKIPPED test/test_espefuse.py::TestBurnKeyCommands::test_burn_key_with_34_coding_scheme Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmptrlrtlpw -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmptrlrtlpw -d --do-not-confirm burn-efuse CODING_SCHEME 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CODING_SCHEME Burning eFuses: - 'CODING_SCHEME' (Efuse variable block length scheme) 0b00 -> 0b01 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is not empty (written ): 0x00000000001000000000000000008000000000000000000000000000 (to write): 0x00000001000000000000000000000000000000000000000000000000 (coding scheme = NONE) [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00000000 00000000 00000000 00000001 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 0 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 0 Addr 3ff5a034, data= 1 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000001000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BURN BLOCK0 - OK (all write block bits are set) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmptrlrtlpw -d --do-not-confirm burn-key BLOCK1 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/256bit espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-key" command === Burn keys to blocks: - BLOCK1 -> ERROR: A fatal error occurred: Incorrect key file size 32. Key file must be 24 bytes (192 bits) of raw binary key data. /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmptrlrtlpw -d --do-not-confirm burn-key BLOCK1 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/256bit espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-key" command === Burn keys to blocks: - BLOCK1 -> ERROR: A fatal error occurred: Incorrect key file size 32. Key file must be 24 bytes (192 bits) of raw binary key data. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmptrlrtlpw -d --do-not-confirm burn-key BLOCK1 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/192bit BLOCK2 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/192bit_1 BLOCK3 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/192bit_2 --no-protect-key espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-key" command === Burn keys to blocks: - BLOCK1 -> [00 00 00 00 00 05 06 07 08 09 00 00 00 00 00 00 00 00 00 13 14 15 16 00] - BLOCK2 -> [11 00 00 00 00 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 21] - BLOCK3 -> [22 00 00 00 00 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 22] Key is left unprotected as per --no-protect-key argument. Burn keys in eFuse blocks. The key block will be left readable and writeable (due to --no-protect-key). Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 nothing to burn [01] BLOCK1 is empty, will burn the new value [02] BLOCK2 is empty, will burn the new value [03] BLOCK3 is empty, will burn the new value . This is an irreversible operation! BLOCK3 ( ) [3 ] to_write: 00000022 07060500 0b0a0908 0f0e0d0c 13121110 22161514 Write data to BLOCK3 Addr 3ff5a0d8, data= 22 Addr 3ff5a0dc, data= e270500 Addr 3ff5a0e0, data= 9080706 Addr 3ff5a0e4, data= 2f010b0a Addr 3ff5a0e8, data= f0e0d0c Addr 3ff5a0ec, data= 32011110 Addr 3ff5a0f0, data= 15141312 Addr 3ff5a0f4, data= 35342216 BLOCK3 3534221615141312320111100f0e0d0c2f010b0a090807060e27050000000022 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 ( ) [3 ] read_regs: 00000022 07060500 0b0a0908 0f0e0d0c 13121110 22161514 BURN BLOCK3 - OK (write block == read block) BLOCK2 (secure_boot_v1 s) [2 ] to_write: 00000011 07060500 0b0a0908 0f0e0d0c 13121110 21161514 Write data to BLOCK2 Addr 3ff5a0b8, data= 11 Addr 3ff5a0bc, data= e140500 Addr 3ff5a0c0, data= 9080706 Addr 3ff5a0c4, data= 2f010b0a Addr 3ff5a0c8, data= f0e0d0c Addr 3ff5a0cc, data= 32011110 Addr 3ff5a0d0, data= 15141312 Addr 3ff5a0d4, data= 35372116 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 3537211615141312320111100f0e0d0c2f010b0a090807060e14050000000011 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000011 07060500 0b0a0908 0f0e0d0c 13121110 21161514 BURN BLOCK2 - OK (write block == read block) BLOCK1 (flash_encryption) [1 ] to_write: 00000000 07060500 00000908 00000000 13000000 00161514 Write data to BLOCK1 Addr 3ff5a098, data= 0 Addr 3ff5a09c, data= c050500 Addr 3ff5a0a0, data= 9080706 Addr 3ff5a0a4, data= 13000000 Addr 3ff5a0a8, data= 0 Addr 3ff5a0ac, data= 0 Addr 3ff5a0b0, data= 15141300 Addr 3ff5a0b4, data= 27040016 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 2704001615141300000000000000000013000000090807060c05050000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 07060500 00000908 00000000 13000000 00161514 BURN BLOCK1 - OK (write block == read block) These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 07060500 00000908 00000000 13000000 00161514 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000011 07060500 0b0a0908 0f0e0d0c 13121110 21161514 BLOCK3 ( ) [3 ] read_regs: 00000022 07060500 0b0a0908 0f0e0d0c 13121110 22161514 Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmptrlrtlpw -d --do-not-confirm -d summary espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 07060500 00000908 00000000 13000000 00161514 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000011 07060500 0b0a0908 0f0e0d0c 13121110 21161514 BLOCK3 ( ) [3 ] read_regs: 00000022 07060500 0b0a0908 0f0e0d0c 13121110 22161514 EFUSE_REG_DEC_STATUS 0x00000000 === Run "summary" command === EFUSE_REG_DEC_STATUS 0x00000000 EFUSE_NAME (Block) Description = [Meaningful Value] [Readable/Writeable] (Hex Value) ---------------------------------------------------------------------------------------- Calibration fuses: ADC_VREF (BLOCK0) True ADC reference voltage = 1100 R/W (0b00000) Config fuses: WR_DIS (BLOCK0) Efuse write disable mask = 0 R/W (0x0000) RD_DIS (BLOCK0) Disable reading from BlOCK1-3 = 0 R/W (0x0) DISABLE_APP_CPU (BLOCK0) Disables APP CPU = False R/W (0b0) DISABLE_BT (BLOCK0) Disables Bluetooth = False R/W (0b0) DIS_CACHE (BLOCK0) Disables cache = False R/W (0b0) CHIP_CPU_FREQ_LOW (BLOCK0) If set alongside EFUSE_RD_CHIP_CPU_FREQ_RATED; the = False R/W (0b0) ESP32's max CPU frequency is rated for 160MHz. 24 0MHz otherwise CHIP_CPU_FREQ_RATED (BLOCK0) If set; the ESP32's maximum CPU frequency has been = False R/W (0b0) rated BLK3_PART_RESERVE (BLOCK0) BLOCK3 partially served for ADC calibration data = False R/W (0b0) CLK8M_FREQ (BLOCK0) 8MHz clock freq override = 0 R/W (0x00) VOL_LEVEL_HP_INV (BLOCK0) This field stores the voltage level for CPU to run = 0 R/W (0b00) at 240 MHz; or for flash/PSRAM to run at 80 MHz.0 x0: level 7; 0x1: level 6; 0x2: level 5; 0x3: leve l 4. (RO) CODING_SCHEME (BLOCK0) Efuse variable block length scheme = 3/4 (BLK1-3 len=192 bits) R/W (0b01) CONSOLE_DEBUG_DISABLE (BLOCK0) Disable ROM BASIC interpreter fallback = False R/W (0b0) DISABLE_SDIO_HOST (BLOCK0) = False R/W (0b0) DISABLE_DL_CACHE (BLOCK0) Disable flash cache in UART bootloader = False R/W (0b0) Flash fuses: FLASH_CRYPT_CNT (BLOCK0) Flash encryption is enabled if this field has an o = 0 R/W (0b0000000) dd number of bits set FLASH_CRYPT_CONFIG (BLOCK0) Flash encryption config (key tweak bits) = 0 R/W (0x0) Identity fuses: CHIP_PACKAGE_4BIT (BLOCK0) Chip package identifier #4bit = False R/W (0b0) CHIP_PACKAGE (BLOCK0) Chip package identifier = 0 R/W (0b000) CHIP_VER_REV1 (BLOCK0) bit is set to 1 for rev1 silicon = True R/W (0b1) CHIP_VER_REV2 (BLOCK0) = True R/W (0b1) WAFER_VERSION_MINOR (BLOCK0) = 0 R/W (0b00) WAFER_VERSION_MAJOR (BLOCK0) calc WAFER VERSION MAJOR from CHIP_VER_REV1 and CH = 3 R/W (0b011) IP_VER_REV2 and apb_ctl_date (read only) PKG_VERSION (BLOCK0) calc Chip package = CHIP_PACKAGE_4BIT << 3 + CHIP_ = 0 R/W (0x0) PACKAGE (read only) Jtag fuses: JTAG_DISABLE (BLOCK0) Disable JTAG = False R/W (0b0) Mac fuses: MAC (BLOCK0) MAC address = 00:00:00:00:00:00 (CRC 0x00 OK) R/W MAC_CRC (BLOCK0) CRC8 for MAC address = 0 R/W (0x00) MAC_VERSION (BLOCK3) Version of the MAC field = 34 R/W (0x22) CUSTOM_MAC_CRC (BLOCK3) CRC8 for custom MAC address = 34 R/W (0x22) CUSTOM_MAC (BLOCK3) Custom MAC address = 00:00:00:00:05:06 (CRC 0x22 OK) R/W Security fuses: UART_DOWNLOAD_DIS (BLOCK0) Disable UART download mode. Valid for ESP32 V3 and = False R/W (0b0) newer; only 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) 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) KEY_STATUS (BLOCK0) Usage of efuse block 3 (reserved) = False R/W (0b0) SECURE_VERSION (BLOCK3) Secure version for anti-rollback = 319951120 R/W (0x13121110) BLOCK1 (BLOCK1) Flash encryption key = 00 00 00 00 00 05 06 07 08 09 00 00 00 00 00 00 00 00 00 13 14 15 16 00 R/W BLOCK2 (BLOCK2) Security boot key = 11 00 00 00 00 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 21 R/W BLOCK3 (BLOCK3) Variable Block 3 = 22 00 00 00 00 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 22 R/W Spi Pad fuses: SPI_PAD_CONFIG_HD (BLOCK0) read for SPI_pad_config_hd = 0 R/W (0b00000) 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_CS0 (BLOCK0) Override SD_CMD pad (GPIO11/SPICS0) = 0 R/W (0b00000) Vdd fuses: XPD_SDIO_REG (BLOCK0) read for XPD_SDIO_REG = False R/W (0b0) XPD_SDIO_TIEH (BLOCK0) If XPD_SDIO_FORCE & XPD_SDIO_REG = 1.8V R/W (0b0) XPD_SDIO_FORCE (BLOCK0) Ignore MTDI pin (GPIO12) for VDD_SDIO on reset = False R/W (0b0) Flash voltage (VDD_SDIO) determined by GPIO12 on reset (High for 1.8V, Low/NC for 3.3V) Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmptrlrtlpw -d --do-not-confirm burn-key BLOCK1 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/192bit BLOCK2 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/192bit_1 BLOCK3 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/192bit_2 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 07060500 00000908 00000000 13000000 00161514 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000011 07060500 0b0a0908 0f0e0d0c 13121110 21161514 BLOCK3 ( ) [3 ] read_regs: 00000022 07060500 0b0a0908 0f0e0d0c 13121110 22161514 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-key" command === Burn keys to blocks: - BLOCK1 -> [00 00 00 00 00 05 06 07 08 09 00 00 00 00 00 00 00 00 00 13 14 15 16 00] The same value for BLOCK1 is already burned. Do not change the eFuse. Disabling write to key block... - BLOCK2 -> [11 00 00 00 00 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 21] The same value for BLOCK2 is already burned. Do not change the eFuse. Disabling write to key block... - BLOCK3 -> [22 00 00 00 00 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 22] The same value for BLOCK3 is already burned. Do not change the eFuse. Disabling write to key block... Burn keys in eFuse blocks. The key block will be read and write protected (no further changes or readback). Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is not empty (written ): 0x00000001001000000000000000008000000000000000000000000000 (to write): 0x00000000000000000000000000000000000000000000000000000380 (coding scheme = NONE) [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0380'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } Burn postponed eFuses from BLOCK0. BLOCK0 ( ) [0 ] to_write: 00000380 00000000 00000000 00000000 00000000 00000000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 380 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 0 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 0 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000380 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000380 00000000 00000000 00008000 00000000 00100000 00000001 BURN BLOCK0 - OK (all write block bits are set) Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000380 00000000 00000000 00008000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 07060500 00000908 00000000 13000000 00161514 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000011 07060500 0b0a0908 0f0e0d0c 13121110 21161514 BLOCK3 ( ) [3 ] read_regs: 00000022 07060500 0b0a0908 0f0e0d0c 13121110 22161514 Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmptrlrtlpw -d --do-not-confirm -d summary espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000380 00000000 00000000 00008000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 07060500 00000908 00000000 13000000 00161514 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000011 07060500 0b0a0908 0f0e0d0c 13121110 21161514 BLOCK3 ( ) [3 ] read_regs: 00000022 07060500 0b0a0908 0f0e0d0c 13121110 22161514 EFUSE_REG_DEC_STATUS 0x00000000 === Run "summary" command === EFUSE_REG_DEC_STATUS 0x00000000 EFUSE_NAME (Block) Description = [Meaningful Value] [Readable/Writeable] (Hex Value) ---------------------------------------------------------------------------------------- Calibration fuses: ADC_VREF (BLOCK0) True ADC reference voltage = 1100 R/W (0b00000) Config fuses: WR_DIS (BLOCK0) Efuse write disable mask = 896 R/W (0x0380) RD_DIS (BLOCK0) Disable reading from BlOCK1-3 = 0 R/W (0x0) DISABLE_APP_CPU (BLOCK0) Disables APP CPU = False R/W (0b0) DISABLE_BT (BLOCK0) Disables Bluetooth = False R/W (0b0) DIS_CACHE (BLOCK0) Disables cache = False R/W (0b0) CHIP_CPU_FREQ_LOW (BLOCK0) If set alongside EFUSE_RD_CHIP_CPU_FREQ_RATED; the = False R/W (0b0) ESP32's max CPU frequency is rated for 160MHz. 24 0MHz otherwise CHIP_CPU_FREQ_RATED (BLOCK0) If set; the ESP32's maximum CPU frequency has been = False R/W (0b0) rated BLK3_PART_RESERVE (BLOCK0) BLOCK3 partially served for ADC calibration data = False R/W (0b0) CLK8M_FREQ (BLOCK0) 8MHz clock freq override = 0 R/W (0x00) VOL_LEVEL_HP_INV (BLOCK0) This field stores the voltage level for CPU to run = 0 R/W (0b00) at 240 MHz; or for flash/PSRAM to run at 80 MHz.0 x0: level 7; 0x1: level 6; 0x2: level 5; 0x3: leve l 4. (RO) CODING_SCHEME (BLOCK0) Efuse variable block length scheme = 3/4 (BLK1-3 len=192 bits) R/W (0b01) CONSOLE_DEBUG_DISABLE (BLOCK0) Disable ROM BASIC interpreter fallback = False R/W (0b0) DISABLE_SDIO_HOST (BLOCK0) = False R/W (0b0) DISABLE_DL_CACHE (BLOCK0) Disable flash cache in UART bootloader = False R/W (0b0) Flash fuses: FLASH_CRYPT_CNT (BLOCK0) Flash encryption is enabled if this field has an o = 0 R/W (0b0000000) dd number of bits set FLASH_CRYPT_CONFIG (BLOCK0) Flash encryption config (key tweak bits) = 0 R/W (0x0) Identity fuses: CHIP_PACKAGE_4BIT (BLOCK0) Chip package identifier #4bit = False R/W (0b0) CHIP_PACKAGE (BLOCK0) Chip package identifier = 0 R/W (0b000) CHIP_VER_REV1 (BLOCK0) bit is set to 1 for rev1 silicon = True R/W (0b1) CHIP_VER_REV2 (BLOCK0) = True R/W (0b1) WAFER_VERSION_MINOR (BLOCK0) = 0 R/W (0b00) WAFER_VERSION_MAJOR (BLOCK0) calc WAFER VERSION MAJOR from CHIP_VER_REV1 and CH = 3 R/W (0b011) IP_VER_REV2 and apb_ctl_date (read only) PKG_VERSION (BLOCK0) calc Chip package = CHIP_PACKAGE_4BIT << 3 + CHIP_ = 0 R/W (0x0) PACKAGE (read only) Jtag fuses: JTAG_DISABLE (BLOCK0) Disable JTAG = False R/W (0b0) Mac fuses: MAC (BLOCK0) MAC address = 00:00:00:00:00:00 (CRC 0x00 OK) R/W MAC_CRC (BLOCK0) CRC8 for MAC address = 0 R/W (0x00) MAC_VERSION (BLOCK3) Version of the MAC field = 34 R/- (0x22) CUSTOM_MAC_CRC (BLOCK3) CRC8 for custom MAC address = 34 R/- (0x22) CUSTOM_MAC (BLOCK3) Custom MAC address = 00:00:00:00:05:06 (CRC 0x22 OK) R/- Security fuses: UART_DOWNLOAD_DIS (BLOCK0) Disable UART download mode. Valid for ESP32 V3 and = False R/W (0b0) newer; only 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) 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) KEY_STATUS (BLOCK0) Usage of efuse block 3 (reserved) = False R/W (0b0) SECURE_VERSION (BLOCK3) Secure version for anti-rollback = 319951120 R/- (0x13121110) BLOCK1 (BLOCK1) Flash encryption key = 00 00 00 00 00 05 06 07 08 09 00 00 00 00 00 00 00 00 00 13 14 15 16 00 R/- BLOCK2 (BLOCK2) Security boot key = 11 00 00 00 00 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 21 R/- BLOCK3 (BLOCK3) Variable Block 3 = 22 00 00 00 00 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 22 R/- Spi Pad fuses: SPI_PAD_CONFIG_HD (BLOCK0) read for SPI_pad_config_hd = 0 R/W (0b00000) 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_CS0 (BLOCK0) Override SD_CMD pad (GPIO11/SPICS0) = 0 R/W (0b00000) Vdd fuses: XPD_SDIO_REG (BLOCK0) read for XPD_SDIO_REG = False R/W (0b0) XPD_SDIO_TIEH (BLOCK0) If XPD_SDIO_FORCE & XPD_SDIO_REG = 1.8V R/W (0b0) XPD_SDIO_FORCE (BLOCK0) Ignore MTDI pin (GPIO12) for VDD_SDIO on reset = False R/W (0b0) Flash voltage (VDD_SDIO) determined by GPIO12 on reset (High for 1.8V, Low/NC for 3.3V) PASSED test/test_espefuse.py::TestBurnKeyCommands::test_burn_key_512bit SKIPPED test/test_espefuse.py::TestBurnKeyCommands::test_burn_key_512bit_non_consecutive_blocks SKIPPED test/test_espefuse.py::TestBurnKeyCommands::test_burn_key_512bit_non_consecutive_blocks_loop_around SKIPPED test/test_espefuse.py::TestBurnKeyCommands::test_burn_key_512bit_for_flash_and_psram SKIPPED test/test_espefuse.py::TestBurnKeyCommands::test_burn_key_ecdsa_key SKIPPED test/test_espefuse.py::TestBurnKeyCommands::test_burn_key_ecdsa_key_check_byte_order SKIPPED test/test_espefuse.py::TestBurnKeyCommands::test_burn_key_ecdsa_384_key SKIPPED test/test_espefuse.py::TestBurnBlockDataCommands::test_burn_block_data_check_args Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp2_vfxoi6 -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp2_vfxoi6 -d --do-not-confirm burn-block-data -h espefuse v5.4.0 Usage: python -m espefuse burn-block-data [OPTIONS] [ ] ... (max 4 groups) Burn non-key data to EFUSE blocks. (Don't use this command to burn key data for Flash Encryption or ESP32 Secure Boot V1, as the byte order of keys is swapped (use burn-key)). Allowed options for BLOCK: [BLOCK0, BLOCK1, BLOCK2, BLOCK3]. ╭─ Arguments ──────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ * BLOCK_DATAFILE [ ] ... (max 4 groups) [required] │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─ Options ────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ --offset -o INTEGER Byte offset in the eFuse block. │ │ --force-write-always Write the eFuse even if it looks like it's already been written, or is write │ │ protected. Note that this option can't disable write protection, or clear any bit │ │ which has already been set. │ │ --show-token Display the eFuse token dump for the write operation before the confirmation │ │ prompt. This produces EFSW token. If the goal is only to obtain the token, press │ │ ENTER to abort (no burning will occur). Be aware that this may expose sensitive │ │ data. │ │ --help -h Show this message and exit. │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp2_vfxoi6 -d --do-not-confirm burn-block-data BLOCK0 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/224bit BLOCK1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 Usage: python -m espefuse burn-block-data [OPTIONS] [ ] ... (max 4 groups) Try 'python -m espefuse burn-block-data -h' for help ╭─ Error ──────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ Invalid value for '[ ] ... (max 4 groups)': Expected multiple of 2 values, got 3 (values: │ │ ('BLOCK0', '/builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/224bit', 'BLOCK1')) │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp2_vfxoi6 -d --do-not-confirm burn-block-data BLOCK0 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/224bit BLOCK1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 Usage: python -m espefuse burn-block-data [OPTIONS] [ ] ... (max 4 groups) Try 'python -m espefuse burn-block-data -h' for help ╭─ Error ──────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ Invalid value for '[ ] ... (max 4 groups)': Expected multiple of 2 values, got 3 (values: │ │ ('BLOCK0', '/builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/224bit', 'BLOCK1')) │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ PASSED test/test_espefuse.py::TestBurnBlockDataCommands::test_burn_block_data_with_3_key_blocks Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpa3mevokq -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpa3mevokq -d --do-not-confirm burn-block-data BLOCK0 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/224bit BLOCK3 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/256bit espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-block-data" command === [00] BLOCK0 size=28 bytes, offset=00 -> [00 00 00 00 00 ac 40 1d a0 d8 70 00 b0 8a 00 00 00 00 00 00 26 22 08 00 04 00 00 00] written : 0x00000000001000000000000000008000000000000000000000000000 -> to write: 0x00000004000822260000000000008ab00070d8a01d40ac0000000000 [03] BLOCK3 size=32 bytes, offset=00 -> written : 0x0000000000000000000000000000000000000000000000000000000000000000 -> to write: 0xbfbebdbcbbbab9b8b7b6b5b4b3b2b1b0afaeadacabaaa9a8a7a6a5a4a3a2a1a0 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is not empty (written ): 0x00000000001000000000000000008000000000000000000000000000 (to write): 0x00000004000822260000000000008ab00070d8a01d40ac0000000000 (coding scheme = NONE) [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 is empty, will burn the new value . This is an irreversible operation! BLOCK3 ( ) [3 ] to_write: a3a2a1a0 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bfbebdbc Write data to BLOCK3 Addr 3ff5a0d8, data= a3a2a1a0 Addr 3ff5a0dc, data= a7a6a5a4 Addr 3ff5a0e0, data= abaaa9a8 Addr 3ff5a0e4, data= afaeadac Addr 3ff5a0e8, data= b3b2b1b0 Addr 3ff5a0ec, data= b7b6b5b4 Addr 3ff5a0f0, data= bbbab9b8 Addr 3ff5a0f4, data= bfbebdbc BLOCK3 bfbebdbcbbbab9b8b7b6b5b4b3b2b1b0afaeadacabaaa9a8a7a6a5a4a3a2a1a0 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 ( ) [3 ] read_regs: a3a2a1a0 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bfbebdbc BURN BLOCK3 - OK (write block == read block) These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 1d40ac00 0070d8a0 00008ab0 00000000 00082226 00000004 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 1d40ac00 Addr 3ff5a024, data= 70d8a0 Addr 3ff5a028, data= 8ab0 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 82226 Addr 3ff5a034, data= 4 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000004000822260000000000008ab00070d8a01d40ac0000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 1d40ac00 0070d8a0 00008ab0 00000000 00182226 00000004 BURN BLOCK0 - OK (all write block bits are set) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 1d40ac00 0070d8a0 00008ab0 00000000 00182226 00000004 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: a3a2a1a0 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bfbebdbc Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpa3mevokq -d --do-not-confirm -d summary espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 1d40ac00 0070d8a0 00008ab0 00000000 00182226 00000004 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: a3a2a1a0 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bfbebdbc EFUSE_REG_DEC_STATUS 0x00000000 === Run "summary" command === EFUSE_REG_DEC_STATUS 0x00000000 EFUSE_NAME (Block) Description = [Meaningful Value] [Readable/Writeable] (Hex Value) ---------------------------------------------------------------------------------------- Calibration fuses: ADC_VREF (BLOCK0) True ADC reference voltage = 1100 R/W (0b00000) Config fuses: WR_DIS (BLOCK0) Efuse write disable mask = 0 R/W (0x0000) RD_DIS (BLOCK0) Disable reading from BlOCK1-3 = 0 R/W (0x0) DISABLE_APP_CPU (BLOCK0) Disables APP CPU = False R/W (0b0) DISABLE_BT (BLOCK0) Disables Bluetooth = False R/W (0b0) DIS_CACHE (BLOCK0) Disables cache = False R/W (0b0) CHIP_CPU_FREQ_LOW (BLOCK0) If set alongside EFUSE_RD_CHIP_CPU_FREQ_RATED; the = False R/W (0b0) ESP32's max CPU frequency is rated for 160MHz. 24 0MHz otherwise CHIP_CPU_FREQ_RATED (BLOCK0) If set; the ESP32's maximum CPU frequency has been = False R/W (0b0) rated BLK3_PART_RESERVE (BLOCK0) BLOCK3 partially served for ADC calibration data = False R/W (0b0) CLK8M_FREQ (BLOCK0) 8MHz clock freq override = 0 R/W (0x00) VOL_LEVEL_HP_INV (BLOCK0) This field stores the voltage level for CPU to run = 0 R/W (0b00) at 240 MHz; or for flash/PSRAM to run at 80 MHz.0 x0: level 7; 0x1: level 6; 0x2: level 5; 0x3: leve l 4. (RO) CODING_SCHEME (BLOCK0) Efuse variable block length scheme = NONE (BLK1-3 len=256 bits) R/W (0b00) CONSOLE_DEBUG_DISABLE (BLOCK0) Disable ROM BASIC interpreter fallback = True R/W (0b1) DISABLE_SDIO_HOST (BLOCK0) = False R/W (0b0) DISABLE_DL_CACHE (BLOCK0) Disable flash cache in UART bootloader = False R/W (0b0) Flash fuses: FLASH_CRYPT_CNT (BLOCK0) Flash encryption is enabled if this field has an o = 0 R/W (0b0000000) dd number of bits set FLASH_CRYPT_CONFIG (BLOCK0) Flash encryption config (key tweak bits) = 0 R/W (0x0) Identity fuses: CHIP_PACKAGE_4BIT (BLOCK0) Chip package identifier #4bit = False R/W (0b0) CHIP_PACKAGE (BLOCK0) Chip package identifier = 5 R/W (0b101) CHIP_VER_REV1 (BLOCK0) bit is set to 1 for rev1 silicon = True R/W (0b1) CHIP_VER_REV2 (BLOCK0) = True R/W (0b1) WAFER_VERSION_MINOR (BLOCK0) = 0 R/W (0b00) WAFER_VERSION_MAJOR (BLOCK0) calc WAFER VERSION MAJOR from CHIP_VER_REV1 and CH = 3 R/W (0b011) IP_VER_REV2 and apb_ctl_date (read only) PKG_VERSION (BLOCK0) calc Chip package = CHIP_PACKAGE_4BIT << 3 + CHIP_ = 5 R/W (0x5) PACKAGE (read only) Jtag fuses: JTAG_DISABLE (BLOCK0) Disable JTAG = False R/W (0b0) Mac fuses: MAC (BLOCK0) MAC address = d8:a0:1d:40:ac:00 (CRC 0x70 invalid - calculated 0x61) R/W MAC_CRC (BLOCK0) CRC8 for MAC address = 112 R/W (0x70) MAC_VERSION (BLOCK3) Version of the MAC field = 183 R/W (0xb7) CUSTOM_MAC_CRC (BLOCK3) CRC8 for custom MAC address = 160 R/W (0xa0) CUSTOM_MAC (BLOCK3) Custom MAC address = a1:a2:a3:a4:a5:a6 (CRC 0xa0 invalid - calculated 0xf1) R/W Security fuses: UART_DOWNLOAD_DIS (BLOCK0) Disable UART download mode. Valid for ESP32 V3 and = False R/W (0b0) newer; only 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) 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) KEY_STATUS (BLOCK0) Usage of efuse block 3 (reserved) = False R/W (0b0) SECURE_VERSION (BLOCK3) Secure version for anti-rollback = 3014832560 R/W (0xb3b2b1b0) 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 00 00 00 00 00 00 00 00 R/W BLOCK2 (BLOCK2) Security 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 00 00 00 00 00 00 00 00 R/W BLOCK3 (BLOCK3) Variable Block 3 = a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd be bf R/W Spi Pad fuses: SPI_PAD_CONFIG_HD (BLOCK0) read for SPI_pad_config_hd = 11 R/W (0b01011) SPI_PAD_CONFIG_CLK (BLOCK0) Override SD_CLK pad (GPIO6/SPICLK) = 6 R/W (0b00110) SPI_PAD_CONFIG_Q (BLOCK0) Override SD_DATA_0 pad (GPIO7/SPIQ) = 17 R/W (0b10001) SPI_PAD_CONFIG_D (BLOCK0) Override SD_DATA_1 pad (GPIO8/SPID) = 8 R/W (0b01000) SPI_PAD_CONFIG_CS0 (BLOCK0) Override SD_CMD pad (GPIO11/SPICS0) = 16 R/W (0b10000) Vdd fuses: XPD_SDIO_REG (BLOCK0) read for XPD_SDIO_REG = False R/W (0b0) XPD_SDIO_TIEH (BLOCK0) If XPD_SDIO_FORCE & XPD_SDIO_REG = 1.8V R/W (0b0) XPD_SDIO_FORCE (BLOCK0) Ignore MTDI pin (GPIO12) for VDD_SDIO on reset = False R/W (0b0) Flash voltage (VDD_SDIO) determined by GPIO12 on reset (High for 1.8V, Low/NC for 3.3V) Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpa3mevokq -d --do-not-confirm burn-block-data BLOCK2 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/256bit_1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 1d40ac00 0070d8a0 00008ab0 00000000 00182226 00000004 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: a3a2a1a0 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bfbebdbc EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-block-data" command === [02] BLOCK2 size=32 bytes, offset=00 -> [11 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd 11 bf] written : 0x0000000000000000000000000000000000000000000000000000000000000000 -> to write: 0xbf11bdbcbbbab9b8b7b6b5b4b3b2b1b0afaeadacabaaa9a8a7a6a5a4a3a2a111 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 nothing to burn [01] BLOCK1 nothing to burn [02] BLOCK2 is empty, will burn the new value [03] BLOCK3 nothing to burn . This is an irreversible operation! BLOCK2 (secure_boot_v1 s) [2 ] to_write: a3a2a111 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bf11bdbc Write data to BLOCK2 Addr 3ff5a0b8, data= a3a2a111 Addr 3ff5a0bc, data= a7a6a5a4 Addr 3ff5a0c0, data= abaaa9a8 Addr 3ff5a0c4, data= afaeadac Addr 3ff5a0c8, data= b3b2b1b0 Addr 3ff5a0cc, data= b7b6b5b4 Addr 3ff5a0d0, data= bbbab9b8 Addr 3ff5a0d4, data= bf11bdbc BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 bf11bdbcbbbab9b8b7b6b5b4b3b2b1b0afaeadacabaaa9a8a7a6a5a4a3a2a111 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: a3a2a111 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bf11bdbc BURN BLOCK2 - OK (write block == read block) These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 1d40ac00 0070d8a0 00008ab0 00000000 00182226 00000004 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: a3a2a111 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bf11bdbc BLOCK3 ( ) [3 ] read_regs: a3a2a1a0 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bfbebdbc Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpa3mevokq -d --do-not-confirm -d summary espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 1d40ac00 0070d8a0 00008ab0 00000000 00182226 00000004 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: a3a2a111 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bf11bdbc BLOCK3 ( ) [3 ] read_regs: a3a2a1a0 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bfbebdbc EFUSE_REG_DEC_STATUS 0x00000000 === Run "summary" command === EFUSE_REG_DEC_STATUS 0x00000000 EFUSE_NAME (Block) Description = [Meaningful Value] [Readable/Writeable] (Hex Value) ---------------------------------------------------------------------------------------- Calibration fuses: ADC_VREF (BLOCK0) True ADC reference voltage = 1100 R/W (0b00000) Config fuses: WR_DIS (BLOCK0) Efuse write disable mask = 0 R/W (0x0000) RD_DIS (BLOCK0) Disable reading from BlOCK1-3 = 0 R/W (0x0) DISABLE_APP_CPU (BLOCK0) Disables APP CPU = False R/W (0b0) DISABLE_BT (BLOCK0) Disables Bluetooth = False R/W (0b0) DIS_CACHE (BLOCK0) Disables cache = False R/W (0b0) CHIP_CPU_FREQ_LOW (BLOCK0) If set alongside EFUSE_RD_CHIP_CPU_FREQ_RATED; the = False R/W (0b0) ESP32's max CPU frequency is rated for 160MHz. 24 0MHz otherwise CHIP_CPU_FREQ_RATED (BLOCK0) If set; the ESP32's maximum CPU frequency has been = False R/W (0b0) rated BLK3_PART_RESERVE (BLOCK0) BLOCK3 partially served for ADC calibration data = False R/W (0b0) CLK8M_FREQ (BLOCK0) 8MHz clock freq override = 0 R/W (0x00) VOL_LEVEL_HP_INV (BLOCK0) This field stores the voltage level for CPU to run = 0 R/W (0b00) at 240 MHz; or for flash/PSRAM to run at 80 MHz.0 x0: level 7; 0x1: level 6; 0x2: level 5; 0x3: leve l 4. (RO) CODING_SCHEME (BLOCK0) Efuse variable block length scheme = NONE (BLK1-3 len=256 bits) R/W (0b00) CONSOLE_DEBUG_DISABLE (BLOCK0) Disable ROM BASIC interpreter fallback = True R/W (0b1) DISABLE_SDIO_HOST (BLOCK0) = False R/W (0b0) DISABLE_DL_CACHE (BLOCK0) Disable flash cache in UART bootloader = False R/W (0b0) Flash fuses: FLASH_CRYPT_CNT (BLOCK0) Flash encryption is enabled if this field has an o = 0 R/W (0b0000000) dd number of bits set FLASH_CRYPT_CONFIG (BLOCK0) Flash encryption config (key tweak bits) = 0 R/W (0x0) Identity fuses: CHIP_PACKAGE_4BIT (BLOCK0) Chip package identifier #4bit = False R/W (0b0) CHIP_PACKAGE (BLOCK0) Chip package identifier = 5 R/W (0b101) CHIP_VER_REV1 (BLOCK0) bit is set to 1 for rev1 silicon = True R/W (0b1) CHIP_VER_REV2 (BLOCK0) = True R/W (0b1) WAFER_VERSION_MINOR (BLOCK0) = 0 R/W (0b00) WAFER_VERSION_MAJOR (BLOCK0) calc WAFER VERSION MAJOR from CHIP_VER_REV1 and CH = 3 R/W (0b011) IP_VER_REV2 and apb_ctl_date (read only) PKG_VERSION (BLOCK0) calc Chip package = CHIP_PACKAGE_4BIT << 3 + CHIP_ = 5 R/W (0x5) PACKAGE (read only) Jtag fuses: JTAG_DISABLE (BLOCK0) Disable JTAG = False R/W (0b0) Mac fuses: MAC (BLOCK0) MAC address = d8:a0:1d:40:ac:00 (CRC 0x70 invalid - calculated 0x61) R/W MAC_CRC (BLOCK0) CRC8 for MAC address = 112 R/W (0x70) MAC_VERSION (BLOCK3) Version of the MAC field = 183 R/W (0xb7) CUSTOM_MAC_CRC (BLOCK3) CRC8 for custom MAC address = 160 R/W (0xa0) CUSTOM_MAC (BLOCK3) Custom MAC address = a1:a2:a3:a4:a5:a6 (CRC 0xa0 invalid - calculated 0xf1) R/W Security fuses: UART_DOWNLOAD_DIS (BLOCK0) Disable UART download mode. Valid for ESP32 V3 and = False R/W (0b0) newer; only 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) 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) KEY_STATUS (BLOCK0) Usage of efuse block 3 (reserved) = False R/W (0b0) SECURE_VERSION (BLOCK3) Secure version for anti-rollback = 3014832560 R/W (0xb3b2b1b0) 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 00 00 00 00 00 00 00 00 R/W BLOCK2 (BLOCK2) Security boot key = 11 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd 11 bf R/W BLOCK3 (BLOCK3) Variable Block 3 = a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd be bf R/W Spi Pad fuses: SPI_PAD_CONFIG_HD (BLOCK0) read for SPI_pad_config_hd = 11 R/W (0b01011) SPI_PAD_CONFIG_CLK (BLOCK0) Override SD_CLK pad (GPIO6/SPICLK) = 6 R/W (0b00110) SPI_PAD_CONFIG_Q (BLOCK0) Override SD_DATA_0 pad (GPIO7/SPIQ) = 17 R/W (0b10001) SPI_PAD_CONFIG_D (BLOCK0) Override SD_DATA_1 pad (GPIO8/SPID) = 8 R/W (0b01000) SPI_PAD_CONFIG_CS0 (BLOCK0) Override SD_CMD pad (GPIO11/SPICS0) = 16 R/W (0b10000) Vdd fuses: XPD_SDIO_REG (BLOCK0) read for XPD_SDIO_REG = False R/W (0b0) XPD_SDIO_TIEH (BLOCK0) If XPD_SDIO_FORCE & XPD_SDIO_REG = 1.8V R/W (0b0) XPD_SDIO_FORCE (BLOCK0) Ignore MTDI pin (GPIO12) for VDD_SDIO on reset = False R/W (0b0) Flash voltage (VDD_SDIO) determined by GPIO12 on reset (High for 1.8V, Low/NC for 3.3V) Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpa3mevokq -d --do-not-confirm burn-block-data BLOCK1 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/256bit_2 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 1d40ac00 0070d8a0 00008ab0 00000000 00182226 00000004 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: a3a2a111 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bf11bdbc BLOCK3 ( ) [3 ] read_regs: a3a2a1a0 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bfbebdbc EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-block-data" command === [01] BLOCK1 size=32 bytes, offset=00 -> [22 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd 22 bf] written : 0x0000000000000000000000000000000000000000000000000000000000000000 -> to write: 0xbf22bdbcbbbab9b8b7b6b5b4b3b2b1b0afaeadacabaaa9a8a7a6a5a4a3a2a122 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 nothing to burn [01] BLOCK1 is empty, will burn the new value [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! BLOCK1 (flash_encryption) [1 ] to_write: a3a2a122 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bf22bdbc Write data to BLOCK1 Addr 3ff5a098, data= a3a2a122 Addr 3ff5a09c, data= a7a6a5a4 Addr 3ff5a0a0, data= abaaa9a8 Addr 3ff5a0a4, data= afaeadac Addr 3ff5a0a8, data= b3b2b1b0 Addr 3ff5a0ac, data= b7b6b5b4 Addr 3ff5a0b0, data= bbbab9b8 Addr 3ff5a0b4, data= bf22bdbc BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 bf22bdbcbbbab9b8b7b6b5b4b3b2b1b0afaeadacabaaa9a8a7a6a5a4a3a2a122 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK1 (flash_encryption) [1 ] read_regs: a3a2a122 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bf22bdbc BURN BLOCK1 - OK (write block == read block) These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 1d40ac00 0070d8a0 00008ab0 00000000 00182226 00000004 BLOCK1 (flash_encryption) [1 ] read_regs: a3a2a122 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bf22bdbc BLOCK2 (secure_boot_v1 s) [2 ] read_regs: a3a2a111 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bf11bdbc BLOCK3 ( ) [3 ] read_regs: a3a2a1a0 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bfbebdbc Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpa3mevokq -d --do-not-confirm -d summary espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 1d40ac00 0070d8a0 00008ab0 00000000 00182226 00000004 BLOCK1 (flash_encryption) [1 ] read_regs: a3a2a122 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bf22bdbc BLOCK2 (secure_boot_v1 s) [2 ] read_regs: a3a2a111 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bf11bdbc BLOCK3 ( ) [3 ] read_regs: a3a2a1a0 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bfbebdbc EFUSE_REG_DEC_STATUS 0x00000000 === Run "summary" command === EFUSE_REG_DEC_STATUS 0x00000000 EFUSE_NAME (Block) Description = [Meaningful Value] [Readable/Writeable] (Hex Value) ---------------------------------------------------------------------------------------- Calibration fuses: ADC_VREF (BLOCK0) True ADC reference voltage = 1100 R/W (0b00000) Config fuses: WR_DIS (BLOCK0) Efuse write disable mask = 0 R/W (0x0000) RD_DIS (BLOCK0) Disable reading from BlOCK1-3 = 0 R/W (0x0) DISABLE_APP_CPU (BLOCK0) Disables APP CPU = False R/W (0b0) DISABLE_BT (BLOCK0) Disables Bluetooth = False R/W (0b0) DIS_CACHE (BLOCK0) Disables cache = False R/W (0b0) CHIP_CPU_FREQ_LOW (BLOCK0) If set alongside EFUSE_RD_CHIP_CPU_FREQ_RATED; the = False R/W (0b0) ESP32's max CPU frequency is rated for 160MHz. 24 0MHz otherwise CHIP_CPU_FREQ_RATED (BLOCK0) If set; the ESP32's maximum CPU frequency has been = False R/W (0b0) rated BLK3_PART_RESERVE (BLOCK0) BLOCK3 partially served for ADC calibration data = False R/W (0b0) CLK8M_FREQ (BLOCK0) 8MHz clock freq override = 0 R/W (0x00) VOL_LEVEL_HP_INV (BLOCK0) This field stores the voltage level for CPU to run = 0 R/W (0b00) at 240 MHz; or for flash/PSRAM to run at 80 MHz.0 x0: level 7; 0x1: level 6; 0x2: level 5; 0x3: leve l 4. (RO) CODING_SCHEME (BLOCK0) Efuse variable block length scheme = NONE (BLK1-3 len=256 bits) R/W (0b00) CONSOLE_DEBUG_DISABLE (BLOCK0) Disable ROM BASIC interpreter fallback = True R/W (0b1) DISABLE_SDIO_HOST (BLOCK0) = False R/W (0b0) DISABLE_DL_CACHE (BLOCK0) Disable flash cache in UART bootloader = False R/W (0b0) Flash fuses: FLASH_CRYPT_CNT (BLOCK0) Flash encryption is enabled if this field has an o = 0 R/W (0b0000000) dd number of bits set FLASH_CRYPT_CONFIG (BLOCK0) Flash encryption config (key tweak bits) = 0 R/W (0x0) Identity fuses: CHIP_PACKAGE_4BIT (BLOCK0) Chip package identifier #4bit = False R/W (0b0) CHIP_PACKAGE (BLOCK0) Chip package identifier = 5 R/W (0b101) CHIP_VER_REV1 (BLOCK0) bit is set to 1 for rev1 silicon = True R/W (0b1) CHIP_VER_REV2 (BLOCK0) = True R/W (0b1) WAFER_VERSION_MINOR (BLOCK0) = 0 R/W (0b00) WAFER_VERSION_MAJOR (BLOCK0) calc WAFER VERSION MAJOR from CHIP_VER_REV1 and CH = 3 R/W (0b011) IP_VER_REV2 and apb_ctl_date (read only) PKG_VERSION (BLOCK0) calc Chip package = CHIP_PACKAGE_4BIT << 3 + CHIP_ = 5 R/W (0x5) PACKAGE (read only) Jtag fuses: JTAG_DISABLE (BLOCK0) Disable JTAG = False R/W (0b0) Mac fuses: MAC (BLOCK0) MAC address = d8:a0:1d:40:ac:00 (CRC 0x70 invalid - calculated 0x61) R/W MAC_CRC (BLOCK0) CRC8 for MAC address = 112 R/W (0x70) MAC_VERSION (BLOCK3) Version of the MAC field = 183 R/W (0xb7) CUSTOM_MAC_CRC (BLOCK3) CRC8 for custom MAC address = 160 R/W (0xa0) CUSTOM_MAC (BLOCK3) Custom MAC address = a1:a2:a3:a4:a5:a6 (CRC 0xa0 invalid - calculated 0xf1) R/W Security fuses: UART_DOWNLOAD_DIS (BLOCK0) Disable UART download mode. Valid for ESP32 V3 and = False R/W (0b0) newer; only 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) 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) KEY_STATUS (BLOCK0) Usage of efuse block 3 (reserved) = False R/W (0b0) SECURE_VERSION (BLOCK3) Secure version for anti-rollback = 3014832560 R/W (0xb3b2b1b0) BLOCK1 (BLOCK1) Flash encryption key = 22 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd 22 bf R/W BLOCK2 (BLOCK2) Security boot key = 11 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd 11 bf R/W BLOCK3 (BLOCK3) Variable Block 3 = a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd be bf R/W Spi Pad fuses: SPI_PAD_CONFIG_HD (BLOCK0) read for SPI_pad_config_hd = 11 R/W (0b01011) SPI_PAD_CONFIG_CLK (BLOCK0) Override SD_CLK pad (GPIO6/SPICLK) = 6 R/W (0b00110) SPI_PAD_CONFIG_Q (BLOCK0) Override SD_DATA_0 pad (GPIO7/SPIQ) = 17 R/W (0b10001) SPI_PAD_CONFIG_D (BLOCK0) Override SD_DATA_1 pad (GPIO8/SPID) = 8 R/W (0b01000) SPI_PAD_CONFIG_CS0 (BLOCK0) Override SD_CMD pad (GPIO11/SPICS0) = 16 R/W (0b10000) Vdd fuses: XPD_SDIO_REG (BLOCK0) read for XPD_SDIO_REG = False R/W (0b0) XPD_SDIO_TIEH (BLOCK0) If XPD_SDIO_FORCE & XPD_SDIO_REG = 1.8V R/W (0b0) XPD_SDIO_FORCE (BLOCK0) Ignore MTDI pin (GPIO12) for VDD_SDIO on reset = False R/W (0b0) Flash voltage (VDD_SDIO) determined by GPIO12 on reset (High for 1.8V, Low/NC for 3.3V) PASSED test/test_espefuse.py::TestBurnBlockDataCommands::test_burn_block_data_with_1_key_block SKIPPED test/test_espefuse.py::TestBurnBlockDataCommands::test_burn_block_data_with_6_keys SKIPPED test/test_espefuse.py::TestBurnBlockDataCommands::test_burn_block_data_check_errors Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpiqpltmgk -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpiqpltmgk -d --do-not-confirm burn-block-data BLOCK2 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/192bit BLOCK2 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/192bit_1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-block-data" command === ERROR: A fatal error occurred: Found repeated ['BLOCK2'] in the name list. /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpiqpltmgk -d --do-not-confirm burn-block-data BLOCK2 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/192bit BLOCK2 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/192bit_1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-block-data" command === ERROR: A fatal error occurred: Found repeated ['BLOCK2'] in the name list. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpiqpltmgk -d --do-not-confirm burn-block-data BLOCK2 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/192bit BLOCK3 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/192bit_1 --offset 4 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-block-data" command === ERROR: A fatal error occurred: The 'offset' option is not applicable when a few blocks are passed. With 'offset', should only one block be used. /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpiqpltmgk -d --do-not-confirm burn-block-data BLOCK2 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/192bit BLOCK3 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/192bit_1 --offset 4 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-block-data" command === ERROR: A fatal error occurred: The 'offset' option is not applicable when a few blocks are passed. With 'offset', should only one block be used. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpiqpltmgk -d --do-not-confirm burn-block-data BLOCK0 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/192bit --offset 33 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-block-data" command === ERROR: A fatal error occurred: Invalid offset: the block0 only holds 28 bytes. /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpiqpltmgk -d --do-not-confirm burn-block-data BLOCK0 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/192bit --offset 33 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-block-data" command === ERROR: A fatal error occurred: Invalid offset: the block0 only holds 28 bytes. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpiqpltmgk -d --do-not-confirm burn-block-data BLOCK0 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/256bit --offset 4 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-block-data" command === ERROR: A fatal error occurred: Data does not fit: the block0 size is 28 bytes, data file is 36 bytes, offset 4. /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpiqpltmgk -d --do-not-confirm burn-block-data BLOCK0 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/256bit --offset 4 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-block-data" command === ERROR: A fatal error occurred: Data does not fit: the block0 size is 28 bytes, data file is 36 bytes, offset 4. PASSED test/test_espefuse.py::TestBurnBlockDataCommands::test_burn_block0_data_above_256_bits SKIPPED test/test_espefuse.py::TestBurnBlockDataCommands::test_burn_block_data_with_offset_for_3_key_blocks Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpqpcm4cd5 -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpqpcm4cd5 -d --do-not-confirm burn-block-data --offset 1 BLOCK0 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/192bit espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-block-data" command === [00] BLOCK0 size=28 bytes, offset=01 -> [00 00 00 00 00 00 05 06 07 08 09 00 00 00 00 00 00 00 00 00 13 14 15 16 00 00 00 00] written : 0x00000000001000000000000000008000000000000000000000000000 -> to write: 0x00000000161514130000000000000000000908070605000000000000 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is not empty (written ): 0x00000000001000000000000000008000000000000000000000000000 (to write): 0x00000000161514130000000000000000000908070605000000000000 (coding scheme = NONE) [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 06050000 00090807 00000000 00000000 16151413 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 6050000 Addr 3ff5a024, data= 90807 Addr 3ff5a028, data= 0 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 16151413 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000161514130000000000000000000908070605000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 06050000 00090807 00008000 00000000 16151413 00000000 BURN BLOCK0 - OK (all write block bits are set) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 06050000 00090807 00008000 00000000 16151413 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpqpcm4cd5 -d --do-not-confirm burn-block-data --offset 4 BLOCK1 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/192bit_1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 06050000 00090807 00008000 00000000 16151413 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-block-data" command === [01] BLOCK1 size=32 bytes, offset=04 -> [00 00 00 00 11 00 00 00 00 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 21 00 00 00 00] written : 0x0000000000000000000000000000000000000000000000000000000000000000 -> to write: 0x0000000021161514131211100f0e0d0c0b0a0908070605000000001100000000 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 nothing to burn [01] BLOCK1 is empty, will burn the new value [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! BLOCK1 (flash_encryption) [1 ] to_write: 00000000 00000011 07060500 0b0a0908 0f0e0d0c 13121110 21161514 00000000 Write data to BLOCK1 Addr 3ff5a098, data= 0 Addr 3ff5a09c, data= 11 Addr 3ff5a0a0, data= 7060500 Addr 3ff5a0a4, data= b0a0908 Addr 3ff5a0a8, data= f0e0d0c Addr 3ff5a0ac, data= 13121110 Addr 3ff5a0b0, data= 21161514 Addr 3ff5a0b4, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000021161514131211100f0e0d0c0b0a0908070605000000001100000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000011 07060500 0b0a0908 0f0e0d0c 13121110 21161514 00000000 BURN BLOCK1 - OK (write block == read block) These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 06050000 00090807 00008000 00000000 16151413 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000011 07060500 0b0a0908 0f0e0d0c 13121110 21161514 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpqpcm4cd5 -d --do-not-confirm -d summary espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 06050000 00090807 00008000 00000000 16151413 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000011 07060500 0b0a0908 0f0e0d0c 13121110 21161514 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "summary" command === EFUSE_REG_DEC_STATUS 0x00000000 EFUSE_NAME (Block) Description = [Meaningful Value] [Readable/Writeable] (Hex Value) ---------------------------------------------------------------------------------------- Calibration fuses: ADC_VREF (BLOCK0) True ADC reference voltage = 1100 R/W (0b00000) Config fuses: WR_DIS (BLOCK0) Efuse write disable mask = 0 R/W (0x0000) RD_DIS (BLOCK0) Disable reading from BlOCK1-3 = 0 R/W (0x0) DISABLE_APP_CPU (BLOCK0) Disables APP CPU = False R/W (0b0) DISABLE_BT (BLOCK0) Disables Bluetooth = False R/W (0b0) DIS_CACHE (BLOCK0) Disables cache = False R/W (0b0) CHIP_CPU_FREQ_LOW (BLOCK0) If set alongside EFUSE_RD_CHIP_CPU_FREQ_RATED; the = False R/W (0b0) ESP32's max CPU frequency is rated for 160MHz. 24 0MHz otherwise CHIP_CPU_FREQ_RATED (BLOCK0) If set; the ESP32's maximum CPU frequency has been = False R/W (0b0) rated BLK3_PART_RESERVE (BLOCK0) BLOCK3 partially served for ADC calibration data = False R/W (0b0) CLK8M_FREQ (BLOCK0) 8MHz clock freq override = 0 R/W (0x00) VOL_LEVEL_HP_INV (BLOCK0) This field stores the voltage level for CPU to run = 0 R/W (0b00) at 240 MHz; or for flash/PSRAM to run at 80 MHz.0 x0: level 7; 0x1: level 6; 0x2: level 5; 0x3: leve l 4. (RO) CODING_SCHEME (BLOCK0) Efuse variable block length scheme = NONE (BLK1-3 len=256 bits) R/W (0b00) CONSOLE_DEBUG_DISABLE (BLOCK0) Disable ROM BASIC interpreter fallback = False R/W (0b0) DISABLE_SDIO_HOST (BLOCK0) = False R/W (0b0) DISABLE_DL_CACHE (BLOCK0) Disable flash cache in UART bootloader = False R/W (0b0) Flash fuses: FLASH_CRYPT_CNT (BLOCK0) Flash encryption is enabled if this field has an o = 0 R/W (0b0000000) dd number of bits set FLASH_CRYPT_CONFIG (BLOCK0) Flash encryption config (key tweak bits) = 1 R/W (0x1) Identity fuses: CHIP_PACKAGE_4BIT (BLOCK0) Chip package identifier #4bit = False R/W (0b0) CHIP_PACKAGE (BLOCK0) Chip package identifier = 0 R/W (0b000) CHIP_VER_REV1 (BLOCK0) bit is set to 1 for rev1 silicon = True R/W (0b1) CHIP_VER_REV2 (BLOCK0) = True R/W (0b1) WAFER_VERSION_MINOR (BLOCK0) = 2 R/W (0b10) WAFER_VERSION_MAJOR (BLOCK0) calc WAFER VERSION MAJOR from CHIP_VER_REV1 and CH = 3 R/W (0b011) IP_VER_REV2 and apb_ctl_date (read only) PKG_VERSION (BLOCK0) calc Chip package = CHIP_PACKAGE_4BIT << 3 + CHIP_ = 0 R/W (0x0) PACKAGE (read only) Jtag fuses: JTAG_DISABLE (BLOCK0) Disable JTAG = False R/W (0b0) Mac fuses: MAC (BLOCK0) MAC address = 08:07:06:05:00:00 (CRC 0x09 invalid - calculated 0xcc) R/W MAC_CRC (BLOCK0) CRC8 for MAC address = 9 R/W (0x09) MAC_VERSION (BLOCK3) Version of the MAC field = 0 R/W (0x00) CUSTOM_MAC_CRC (BLOCK3) CRC8 for custom MAC address = 0 R/W (0x00) CUSTOM_MAC (BLOCK3) Custom MAC address = 00:00:00:00:00:00 (CRC 0x00 OK) R/W Security fuses: UART_DOWNLOAD_DIS (BLOCK0) Disable UART download mode. Valid for ESP32 V3 and = False R/W (0b0) newer; only 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) 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) KEY_STATUS (BLOCK0) Usage of efuse block 3 (reserved) = False R/W (0b0) SECURE_VERSION (BLOCK3) Secure version for anti-rollback = 0 R/W (0x00000000) BLOCK1 (BLOCK1) Flash encryption key = 00 00 00 00 11 00 00 00 00 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 21 00 00 00 00 R/W BLOCK2 (BLOCK2) Security 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 00 00 00 00 00 00 00 00 R/W BLOCK3 (BLOCK3) Variable Block 3 = 00 00 00 00 00 00 00 00 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 Spi Pad fuses: SPI_PAD_CONFIG_HD (BLOCK0) read for SPI_pad_config_hd = 0 R/W (0b00000) SPI_PAD_CONFIG_CLK (BLOCK0) Override SD_CLK pad (GPIO6/SPICLK) = 19 R/W (0b10011) 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) = 5 R/W (0b00101) SPI_PAD_CONFIG_CS0 (BLOCK0) Override SD_CMD pad (GPIO11/SPICS0) = 10 R/W (0b01010) Vdd fuses: XPD_SDIO_REG (BLOCK0) read for XPD_SDIO_REG = False R/W (0b0) XPD_SDIO_TIEH (BLOCK0) If XPD_SDIO_FORCE & XPD_SDIO_REG = 1.8V R/W (0b0) XPD_SDIO_FORCE (BLOCK0) Ignore MTDI pin (GPIO12) for VDD_SDIO on reset = False R/W (0b0) Flash voltage (VDD_SDIO) determined by GPIO12 on reset (High for 1.8V, Low/NC for 3.3V) Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpqpcm4cd5 -d --do-not-confirm burn-block-data --offset 6 BLOCK2 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/192bit_2 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 06050000 00090807 00008000 00000000 16151413 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000011 07060500 0b0a0908 0f0e0d0c 13121110 21161514 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-block-data" command === [02] BLOCK2 size=32 bytes, offset=06 -> [00 00 00 00 00 00 22 00 00 00 00 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 22 00 00] written : 0x0000000000000000000000000000000000000000000000000000000000000000 -> to write: 0x000022161514131211100f0e0d0c0b0a09080706050000000022000000000000 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 nothing to burn [01] BLOCK1 nothing to burn [02] BLOCK2 is empty, will burn the new value [03] BLOCK3 nothing to burn . This is an irreversible operation! BLOCK2 (secure_boot_v1 s) [2 ] to_write: 00000000 00220000 05000000 09080706 0d0c0b0a 11100f0e 15141312 00002216 Write data to BLOCK2 Addr 3ff5a0b8, data= 0 Addr 3ff5a0bc, data= 220000 Addr 3ff5a0c0, data= 5000000 Addr 3ff5a0c4, data= 9080706 Addr 3ff5a0c8, data= d0c0b0a Addr 3ff5a0cc, data= 11100f0e Addr 3ff5a0d0, data= 15141312 Addr 3ff5a0d4, data= 2216 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 000022161514131211100f0e0d0c0b0a09080706050000000022000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00220000 05000000 09080706 0d0c0b0a 11100f0e 15141312 00002216 BURN BLOCK2 - OK (write block == read block) These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 06050000 00090807 00008000 00000000 16151413 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000011 07060500 0b0a0908 0f0e0d0c 13121110 21161514 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00220000 05000000 09080706 0d0c0b0a 11100f0e 15141312 00002216 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpqpcm4cd5 -d --do-not-confirm -d summary espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 06050000 00090807 00008000 00000000 16151413 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000011 07060500 0b0a0908 0f0e0d0c 13121110 21161514 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00220000 05000000 09080706 0d0c0b0a 11100f0e 15141312 00002216 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "summary" command === EFUSE_REG_DEC_STATUS 0x00000000 EFUSE_NAME (Block) Description = [Meaningful Value] [Readable/Writeable] (Hex Value) ---------------------------------------------------------------------------------------- Calibration fuses: ADC_VREF (BLOCK0) True ADC reference voltage = 1100 R/W (0b00000) Config fuses: WR_DIS (BLOCK0) Efuse write disable mask = 0 R/W (0x0000) RD_DIS (BLOCK0) Disable reading from BlOCK1-3 = 0 R/W (0x0) DISABLE_APP_CPU (BLOCK0) Disables APP CPU = False R/W (0b0) DISABLE_BT (BLOCK0) Disables Bluetooth = False R/W (0b0) DIS_CACHE (BLOCK0) Disables cache = False R/W (0b0) CHIP_CPU_FREQ_LOW (BLOCK0) If set alongside EFUSE_RD_CHIP_CPU_FREQ_RATED; the = False R/W (0b0) ESP32's max CPU frequency is rated for 160MHz. 24 0MHz otherwise CHIP_CPU_FREQ_RATED (BLOCK0) If set; the ESP32's maximum CPU frequency has been = False R/W (0b0) rated BLK3_PART_RESERVE (BLOCK0) BLOCK3 partially served for ADC calibration data = False R/W (0b0) CLK8M_FREQ (BLOCK0) 8MHz clock freq override = 0 R/W (0x00) VOL_LEVEL_HP_INV (BLOCK0) This field stores the voltage level for CPU to run = 0 R/W (0b00) at 240 MHz; or for flash/PSRAM to run at 80 MHz.0 x0: level 7; 0x1: level 6; 0x2: level 5; 0x3: leve l 4. (RO) CODING_SCHEME (BLOCK0) Efuse variable block length scheme = NONE (BLK1-3 len=256 bits) R/W (0b00) CONSOLE_DEBUG_DISABLE (BLOCK0) Disable ROM BASIC interpreter fallback = False R/W (0b0) DISABLE_SDIO_HOST (BLOCK0) = False R/W (0b0) DISABLE_DL_CACHE (BLOCK0) Disable flash cache in UART bootloader = False R/W (0b0) Flash fuses: FLASH_CRYPT_CNT (BLOCK0) Flash encryption is enabled if this field has an o = 0 R/W (0b0000000) dd number of bits set FLASH_CRYPT_CONFIG (BLOCK0) Flash encryption config (key tweak bits) = 1 R/W (0x1) Identity fuses: CHIP_PACKAGE_4BIT (BLOCK0) Chip package identifier #4bit = False R/W (0b0) CHIP_PACKAGE (BLOCK0) Chip package identifier = 0 R/W (0b000) CHIP_VER_REV1 (BLOCK0) bit is set to 1 for rev1 silicon = True R/W (0b1) CHIP_VER_REV2 (BLOCK0) = True R/W (0b1) WAFER_VERSION_MINOR (BLOCK0) = 2 R/W (0b10) WAFER_VERSION_MAJOR (BLOCK0) calc WAFER VERSION MAJOR from CHIP_VER_REV1 and CH = 3 R/W (0b011) IP_VER_REV2 and apb_ctl_date (read only) PKG_VERSION (BLOCK0) calc Chip package = CHIP_PACKAGE_4BIT << 3 + CHIP_ = 0 R/W (0x0) PACKAGE (read only) Jtag fuses: JTAG_DISABLE (BLOCK0) Disable JTAG = False R/W (0b0) Mac fuses: MAC (BLOCK0) MAC address = 08:07:06:05:00:00 (CRC 0x09 invalid - calculated 0xcc) R/W MAC_CRC (BLOCK0) CRC8 for MAC address = 9 R/W (0x09) MAC_VERSION (BLOCK3) Version of the MAC field = 0 R/W (0x00) CUSTOM_MAC_CRC (BLOCK3) CRC8 for custom MAC address = 0 R/W (0x00) CUSTOM_MAC (BLOCK3) Custom MAC address = 00:00:00:00:00:00 (CRC 0x00 OK) R/W Security fuses: UART_DOWNLOAD_DIS (BLOCK0) Disable UART download mode. Valid for ESP32 V3 and = False R/W (0b0) newer; only 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) 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) KEY_STATUS (BLOCK0) Usage of efuse block 3 (reserved) = False R/W (0b0) SECURE_VERSION (BLOCK3) Secure version for anti-rollback = 0 R/W (0x00000000) BLOCK1 (BLOCK1) Flash encryption key = 00 00 00 00 11 00 00 00 00 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 21 00 00 00 00 R/W BLOCK2 (BLOCK2) Security boot key = 00 00 00 00 00 00 22 00 00 00 00 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 22 00 00 R/W BLOCK3 (BLOCK3) Variable Block 3 = 00 00 00 00 00 00 00 00 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 Spi Pad fuses: SPI_PAD_CONFIG_HD (BLOCK0) read for SPI_pad_config_hd = 0 R/W (0b00000) SPI_PAD_CONFIG_CLK (BLOCK0) Override SD_CLK pad (GPIO6/SPICLK) = 19 R/W (0b10011) 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) = 5 R/W (0b00101) SPI_PAD_CONFIG_CS0 (BLOCK0) Override SD_CMD pad (GPIO11/SPICS0) = 10 R/W (0b01010) Vdd fuses: XPD_SDIO_REG (BLOCK0) read for XPD_SDIO_REG = False R/W (0b0) XPD_SDIO_TIEH (BLOCK0) If XPD_SDIO_FORCE & XPD_SDIO_REG = 1.8V R/W (0b0) XPD_SDIO_FORCE (BLOCK0) Ignore MTDI pin (GPIO12) for VDD_SDIO on reset = False R/W (0b0) Flash voltage (VDD_SDIO) determined by GPIO12 on reset (High for 1.8V, Low/NC for 3.3V) Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpqpcm4cd5 -d --do-not-confirm burn-block-data --offset 8 BLOCK3 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/192bit_2 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 06050000 00090807 00008000 00000000 16151413 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000011 07060500 0b0a0908 0f0e0d0c 13121110 21161514 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00220000 05000000 09080706 0d0c0b0a 11100f0e 15141312 00002216 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-block-data" command === [03] BLOCK3 size=32 bytes, offset=08 -> [00 00 00 00 00 00 00 00 22 00 00 00 00 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 22] written : 0x0000000000000000000000000000000000000000000000000000000000000000 -> to write: 0x22161514131211100f0e0d0c0b0a090807060500000000220000000000000000 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 nothing to burn [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 is empty, will burn the new value . This is an irreversible operation! BLOCK3 ( ) [3 ] to_write: 00000000 00000000 00000022 07060500 0b0a0908 0f0e0d0c 13121110 22161514 Write data to BLOCK3 Addr 3ff5a0d8, data= 0 Addr 3ff5a0dc, data= 0 Addr 3ff5a0e0, data= 22 Addr 3ff5a0e4, data= 7060500 Addr 3ff5a0e8, data= b0a0908 Addr 3ff5a0ec, data= f0e0d0c Addr 3ff5a0f0, data= 13121110 Addr 3ff5a0f4, data= 22161514 BLOCK3 22161514131211100f0e0d0c0b0a090807060500000000220000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000022 07060500 0b0a0908 0f0e0d0c 13121110 22161514 BURN BLOCK3 - OK (write block == read block) These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 06050000 00090807 00008000 00000000 16151413 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000011 07060500 0b0a0908 0f0e0d0c 13121110 21161514 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00220000 05000000 09080706 0d0c0b0a 11100f0e 15141312 00002216 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000022 07060500 0b0a0908 0f0e0d0c 13121110 22161514 Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpqpcm4cd5 -d --do-not-confirm -d summary espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 06050000 00090807 00008000 00000000 16151413 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000011 07060500 0b0a0908 0f0e0d0c 13121110 21161514 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00220000 05000000 09080706 0d0c0b0a 11100f0e 15141312 00002216 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000022 07060500 0b0a0908 0f0e0d0c 13121110 22161514 EFUSE_REG_DEC_STATUS 0x00000000 === Run "summary" command === EFUSE_REG_DEC_STATUS 0x00000000 EFUSE_NAME (Block) Description = [Meaningful Value] [Readable/Writeable] (Hex Value) ---------------------------------------------------------------------------------------- Calibration fuses: ADC_VREF (BLOCK0) True ADC reference voltage = 1100 R/W (0b00000) Config fuses: WR_DIS (BLOCK0) Efuse write disable mask = 0 R/W (0x0000) RD_DIS (BLOCK0) Disable reading from BlOCK1-3 = 0 R/W (0x0) DISABLE_APP_CPU (BLOCK0) Disables APP CPU = False R/W (0b0) DISABLE_BT (BLOCK0) Disables Bluetooth = False R/W (0b0) DIS_CACHE (BLOCK0) Disables cache = False R/W (0b0) CHIP_CPU_FREQ_LOW (BLOCK0) If set alongside EFUSE_RD_CHIP_CPU_FREQ_RATED; the = False R/W (0b0) ESP32's max CPU frequency is rated for 160MHz. 24 0MHz otherwise CHIP_CPU_FREQ_RATED (BLOCK0) If set; the ESP32's maximum CPU frequency has been = False R/W (0b0) rated BLK3_PART_RESERVE (BLOCK0) BLOCK3 partially served for ADC calibration data = False R/W (0b0) CLK8M_FREQ (BLOCK0) 8MHz clock freq override = 0 R/W (0x00) VOL_LEVEL_HP_INV (BLOCK0) This field stores the voltage level for CPU to run = 0 R/W (0b00) at 240 MHz; or for flash/PSRAM to run at 80 MHz.0 x0: level 7; 0x1: level 6; 0x2: level 5; 0x3: leve l 4. (RO) CODING_SCHEME (BLOCK0) Efuse variable block length scheme = NONE (BLK1-3 len=256 bits) R/W (0b00) CONSOLE_DEBUG_DISABLE (BLOCK0) Disable ROM BASIC interpreter fallback = False R/W (0b0) DISABLE_SDIO_HOST (BLOCK0) = False R/W (0b0) DISABLE_DL_CACHE (BLOCK0) Disable flash cache in UART bootloader = False R/W (0b0) Flash fuses: FLASH_CRYPT_CNT (BLOCK0) Flash encryption is enabled if this field has an o = 0 R/W (0b0000000) dd number of bits set FLASH_CRYPT_CONFIG (BLOCK0) Flash encryption config (key tweak bits) = 1 R/W (0x1) Identity fuses: CHIP_PACKAGE_4BIT (BLOCK0) Chip package identifier #4bit = False R/W (0b0) CHIP_PACKAGE (BLOCK0) Chip package identifier = 0 R/W (0b000) CHIP_VER_REV1 (BLOCK0) bit is set to 1 for rev1 silicon = True R/W (0b1) CHIP_VER_REV2 (BLOCK0) = True R/W (0b1) WAFER_VERSION_MINOR (BLOCK0) = 2 R/W (0b10) WAFER_VERSION_MAJOR (BLOCK0) calc WAFER VERSION MAJOR from CHIP_VER_REV1 and CH = 3 R/W (0b011) IP_VER_REV2 and apb_ctl_date (read only) PKG_VERSION (BLOCK0) calc Chip package = CHIP_PACKAGE_4BIT << 3 + CHIP_ = 0 R/W (0x0) PACKAGE (read only) Jtag fuses: JTAG_DISABLE (BLOCK0) Disable JTAG = False R/W (0b0) Mac fuses: MAC (BLOCK0) MAC address = 08:07:06:05:00:00 (CRC 0x09 invalid - calculated 0xcc) R/W MAC_CRC (BLOCK0) CRC8 for MAC address = 9 R/W (0x09) MAC_VERSION (BLOCK3) Version of the MAC field = 15 R/W (0x0f) CUSTOM_MAC_CRC (BLOCK3) CRC8 for custom MAC address = 0 R/W (0x00) CUSTOM_MAC (BLOCK3) Custom MAC address = 00:00:00:00:00:00 (CRC 0x00 OK) R/W Security fuses: UART_DOWNLOAD_DIS (BLOCK0) Disable UART download mode. Valid for ESP32 V3 and = False R/W (0b0) newer; only 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) 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) KEY_STATUS (BLOCK0) Usage of efuse block 3 (reserved) = False R/W (0b0) SECURE_VERSION (BLOCK3) Secure version for anti-rollback = 185207048 R/W (0x0b0a0908) BLOCK1 (BLOCK1) Flash encryption key = 00 00 00 00 11 00 00 00 00 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 21 00 00 00 00 R/W BLOCK2 (BLOCK2) Security boot key = 00 00 00 00 00 00 22 00 00 00 00 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 22 00 00 R/W BLOCK3 (BLOCK3) Variable Block 3 = 00 00 00 00 00 00 00 00 22 00 00 00 00 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 22 R/W Spi Pad fuses: SPI_PAD_CONFIG_HD (BLOCK0) read for SPI_pad_config_hd = 0 R/W (0b00000) SPI_PAD_CONFIG_CLK (BLOCK0) Override SD_CLK pad (GPIO6/SPICLK) = 19 R/W (0b10011) 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) = 5 R/W (0b00101) SPI_PAD_CONFIG_CS0 (BLOCK0) Override SD_CMD pad (GPIO11/SPICS0) = 10 R/W (0b01010) Vdd fuses: XPD_SDIO_REG (BLOCK0) read for XPD_SDIO_REG = False R/W (0b0) XPD_SDIO_TIEH (BLOCK0) If XPD_SDIO_FORCE & XPD_SDIO_REG = 1.8V R/W (0b0) XPD_SDIO_FORCE (BLOCK0) Ignore MTDI pin (GPIO12) for VDD_SDIO on reset = False R/W (0b0) Flash voltage (VDD_SDIO) determined by GPIO12 on reset (High for 1.8V, Low/NC for 3.3V) PASSED test/test_espefuse.py::TestBurnBlockDataCommands::test_burn_block_data_with_offset_1_key_block SKIPPED test/test_espefuse.py::TestBurnBlockDataCommands::test_burn_block_data_with_offset_6_keys SKIPPED test/test_espefuse.py::TestBurnBlockDataCommands::test_burn_block_data_with_34_coding_scheme Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp8_irk1tm -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp8_irk1tm -d --do-not-confirm burn-efuse CODING_SCHEME 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CODING_SCHEME Burning eFuses: - 'CODING_SCHEME' (Efuse variable block length scheme) 0b00 -> 0b01 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is not empty (written ): 0x00000000001000000000000000008000000000000000000000000000 (to write): 0x00000001000000000000000000000000000000000000000000000000 (coding scheme = NONE) [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00000000 00000000 00000000 00000001 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 0 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 0 Addr 3ff5a034, data= 1 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000001000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BURN BLOCK0 - OK (all write block bits are set) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp8_irk1tm -d --do-not-confirm burn-block-data BLOCK1 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/256bit espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-block-data" command === ERROR: A fatal error occurred: Data does not fit: the block1 size is 24 bytes, data file is 32 bytes, offset 0. /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp8_irk1tm -d --do-not-confirm burn-block-data BLOCK1 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/256bit espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-block-data" command === ERROR: A fatal error occurred: Data does not fit: the block1 size is 24 bytes, data file is 32 bytes, offset 0. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp8_irk1tm -d --do-not-confirm burn-block-data BLOCK1 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/192bit BLOCK2 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/192bit_1 BLOCK3 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/192bit_2 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-block-data" command === [01] BLOCK1 size=24 bytes, offset=00 -> [00 00 00 00 00 05 06 07 08 09 00 00 00 00 00 00 00 00 00 13 14 15 16 00] written : 0x000000000000000000000000000000000000000000000000 -> to write: 0x001615141300000000000000000009080706050000000000 [02] BLOCK2 size=24 bytes, offset=00 -> [11 00 00 00 00 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 21] written : 0x000000000000000000000000000000000000000000000000 -> to write: 0x21161514131211100f0e0d0c0b0a09080706050000000011 [03] BLOCK3 size=24 bytes, offset=00 -> [22 00 00 00 00 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 22] written : 0x000000000000000000000000000000000000000000000000 -> to write: 0x22161514131211100f0e0d0c0b0a09080706050000000022 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 nothing to burn [01] BLOCK1 is empty, will burn the new value [02] BLOCK2 is empty, will burn the new value [03] BLOCK3 is empty, will burn the new value . This is an irreversible operation! BLOCK3 ( ) [3 ] to_write: 00000022 07060500 0b0a0908 0f0e0d0c 13121110 22161514 Write data to BLOCK3 Addr 3ff5a0d8, data= 22 Addr 3ff5a0dc, data= e270500 Addr 3ff5a0e0, data= 9080706 Addr 3ff5a0e4, data= 2f010b0a Addr 3ff5a0e8, data= f0e0d0c Addr 3ff5a0ec, data= 32011110 Addr 3ff5a0f0, data= 15141312 Addr 3ff5a0f4, data= 35342216 BLOCK3 3534221615141312320111100f0e0d0c2f010b0a090807060e27050000000022 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 ( ) [3 ] read_regs: 00000022 07060500 0b0a0908 0f0e0d0c 13121110 22161514 BURN BLOCK3 - OK (write block == read block) BLOCK2 (secure_boot_v1 s) [2 ] to_write: 00000011 07060500 0b0a0908 0f0e0d0c 13121110 21161514 Write data to BLOCK2 Addr 3ff5a0b8, data= 11 Addr 3ff5a0bc, data= e140500 Addr 3ff5a0c0, data= 9080706 Addr 3ff5a0c4, data= 2f010b0a Addr 3ff5a0c8, data= f0e0d0c Addr 3ff5a0cc, data= 32011110 Addr 3ff5a0d0, data= 15141312 Addr 3ff5a0d4, data= 35372116 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 3537211615141312320111100f0e0d0c2f010b0a090807060e14050000000011 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000011 07060500 0b0a0908 0f0e0d0c 13121110 21161514 BURN BLOCK2 - OK (write block == read block) BLOCK1 (flash_encryption) [1 ] to_write: 00000000 07060500 00000908 00000000 13000000 00161514 Write data to BLOCK1 Addr 3ff5a098, data= 0 Addr 3ff5a09c, data= c050500 Addr 3ff5a0a0, data= 9080706 Addr 3ff5a0a4, data= 13000000 Addr 3ff5a0a8, data= 0 Addr 3ff5a0ac, data= 0 Addr 3ff5a0b0, data= 15141300 Addr 3ff5a0b4, data= 27040016 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 2704001615141300000000000000000013000000090807060c05050000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 07060500 00000908 00000000 13000000 00161514 BURN BLOCK1 - OK (write block == read block) These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 07060500 00000908 00000000 13000000 00161514 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000011 07060500 0b0a0908 0f0e0d0c 13121110 21161514 BLOCK3 ( ) [3 ] read_regs: 00000022 07060500 0b0a0908 0f0e0d0c 13121110 22161514 Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp8_irk1tm -d --do-not-confirm -d summary espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 07060500 00000908 00000000 13000000 00161514 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000011 07060500 0b0a0908 0f0e0d0c 13121110 21161514 BLOCK3 ( ) [3 ] read_regs: 00000022 07060500 0b0a0908 0f0e0d0c 13121110 22161514 EFUSE_REG_DEC_STATUS 0x00000000 === Run "summary" command === EFUSE_REG_DEC_STATUS 0x00000000 EFUSE_NAME (Block) Description = [Meaningful Value] [Readable/Writeable] (Hex Value) ---------------------------------------------------------------------------------------- Calibration fuses: ADC_VREF (BLOCK0) True ADC reference voltage = 1100 R/W (0b00000) Config fuses: WR_DIS (BLOCK0) Efuse write disable mask = 0 R/W (0x0000) RD_DIS (BLOCK0) Disable reading from BlOCK1-3 = 0 R/W (0x0) DISABLE_APP_CPU (BLOCK0) Disables APP CPU = False R/W (0b0) DISABLE_BT (BLOCK0) Disables Bluetooth = False R/W (0b0) DIS_CACHE (BLOCK0) Disables cache = False R/W (0b0) CHIP_CPU_FREQ_LOW (BLOCK0) If set alongside EFUSE_RD_CHIP_CPU_FREQ_RATED; the = False R/W (0b0) ESP32's max CPU frequency is rated for 160MHz. 24 0MHz otherwise CHIP_CPU_FREQ_RATED (BLOCK0) If set; the ESP32's maximum CPU frequency has been = False R/W (0b0) rated BLK3_PART_RESERVE (BLOCK0) BLOCK3 partially served for ADC calibration data = False R/W (0b0) CLK8M_FREQ (BLOCK0) 8MHz clock freq override = 0 R/W (0x00) VOL_LEVEL_HP_INV (BLOCK0) This field stores the voltage level for CPU to run = 0 R/W (0b00) at 240 MHz; or for flash/PSRAM to run at 80 MHz.0 x0: level 7; 0x1: level 6; 0x2: level 5; 0x3: leve l 4. (RO) CODING_SCHEME (BLOCK0) Efuse variable block length scheme = 3/4 (BLK1-3 len=192 bits) R/W (0b01) CONSOLE_DEBUG_DISABLE (BLOCK0) Disable ROM BASIC interpreter fallback = False R/W (0b0) DISABLE_SDIO_HOST (BLOCK0) = False R/W (0b0) DISABLE_DL_CACHE (BLOCK0) Disable flash cache in UART bootloader = False R/W (0b0) Flash fuses: FLASH_CRYPT_CNT (BLOCK0) Flash encryption is enabled if this field has an o = 0 R/W (0b0000000) dd number of bits set FLASH_CRYPT_CONFIG (BLOCK0) Flash encryption config (key tweak bits) = 0 R/W (0x0) Identity fuses: CHIP_PACKAGE_4BIT (BLOCK0) Chip package identifier #4bit = False R/W (0b0) CHIP_PACKAGE (BLOCK0) Chip package identifier = 0 R/W (0b000) CHIP_VER_REV1 (BLOCK0) bit is set to 1 for rev1 silicon = True R/W (0b1) CHIP_VER_REV2 (BLOCK0) = True R/W (0b1) WAFER_VERSION_MINOR (BLOCK0) = 0 R/W (0b00) WAFER_VERSION_MAJOR (BLOCK0) calc WAFER VERSION MAJOR from CHIP_VER_REV1 and CH = 3 R/W (0b011) IP_VER_REV2 and apb_ctl_date (read only) PKG_VERSION (BLOCK0) calc Chip package = CHIP_PACKAGE_4BIT << 3 + CHIP_ = 0 R/W (0x0) PACKAGE (read only) Jtag fuses: JTAG_DISABLE (BLOCK0) Disable JTAG = False R/W (0b0) Mac fuses: MAC (BLOCK0) MAC address = 00:00:00:00:00:00 (CRC 0x00 OK) R/W MAC_CRC (BLOCK0) CRC8 for MAC address = 0 R/W (0x00) MAC_VERSION (BLOCK3) Version of the MAC field = 34 R/W (0x22) CUSTOM_MAC_CRC (BLOCK3) CRC8 for custom MAC address = 34 R/W (0x22) CUSTOM_MAC (BLOCK3) Custom MAC address = 00:00:00:00:05:06 (CRC 0x22 OK) R/W Security fuses: UART_DOWNLOAD_DIS (BLOCK0) Disable UART download mode. Valid for ESP32 V3 and = False R/W (0b0) newer; only 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) 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) KEY_STATUS (BLOCK0) Usage of efuse block 3 (reserved) = False R/W (0b0) SECURE_VERSION (BLOCK3) Secure version for anti-rollback = 319951120 R/W (0x13121110) BLOCK1 (BLOCK1) Flash encryption key = 00 00 00 00 00 05 06 07 08 09 00 00 00 00 00 00 00 00 00 13 14 15 16 00 R/W BLOCK2 (BLOCK2) Security boot key = 11 00 00 00 00 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 21 R/W BLOCK3 (BLOCK3) Variable Block 3 = 22 00 00 00 00 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 14 15 16 22 R/W Spi Pad fuses: SPI_PAD_CONFIG_HD (BLOCK0) read for SPI_pad_config_hd = 0 R/W (0b00000) 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_CS0 (BLOCK0) Override SD_CMD pad (GPIO11/SPICS0) = 0 R/W (0b00000) Vdd fuses: XPD_SDIO_REG (BLOCK0) read for XPD_SDIO_REG = False R/W (0b0) XPD_SDIO_TIEH (BLOCK0) If XPD_SDIO_FORCE & XPD_SDIO_REG = 1.8V R/W (0b0) XPD_SDIO_FORCE (BLOCK0) Ignore MTDI pin (GPIO12) for VDD_SDIO on reset = False R/W (0b0) Flash voltage (VDD_SDIO) determined by GPIO12 on reset (High for 1.8V, Low/NC for 3.3V) PASSED test/test_espefuse.py::TestBurnBlockDataCommands::test_burn_block_data_with_34_coding_scheme_and_offset Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp2y1jfnlt -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp2y1jfnlt -d --do-not-confirm burn-efuse CODING_SCHEME 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CODING_SCHEME Burning eFuses: - 'CODING_SCHEME' (Efuse variable block length scheme) 0b00 -> 0b01 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is not empty (written ): 0x00000000001000000000000000008000000000000000000000000000 (to write): 0x00000001000000000000000000000000000000000000000000000000 (coding scheme = NONE) [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00000000 00000000 00000000 00000001 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 0 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 0 Addr 3ff5a034, data= 1 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000001000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BURN BLOCK0 - OK (all write block bits are set) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp2y1jfnlt -d --do-not-confirm burn-block-data --offset 4 BLOCK1 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/128bit espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-block-data" command === [01] BLOCK1 size=24 bytes, offset=04 -> [00 00 00 00 00 00 00 00 00 05 06 07 08 09 0a 0b 0c 0d 0e 00 00 00 00 00] written : 0x000000000000000000000000000000000000000000000000 -> to write: 0x00000000000e0d0c0b0a0908070605000000000000000000 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 nothing to burn [01] BLOCK1 is empty, will burn the new value [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! BLOCK1 (flash_encryption) [1 ] to_write: 00000000 00000000 07060500 0b0a0908 000e0d0c 00000000 Write data to BLOCK1 Addr 3ff5a098, data= 0 Addr 3ff5a09c, data= 0 Addr 3ff5a0a0, data= 5000000 Addr 3ff5a0a4, data= 24040706 Addr 3ff5a0a8, data= b0a0908 Addr 3ff5a0ac, data= 33010d0c Addr 3ff5a0b0, data= e Addr 3ff5a0b4, data= 30e0000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 030e00000000000e33010d0c0b0a090824040706050000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 07060500 0b0a0908 000e0d0c 00000000 BURN BLOCK1 - OK (write block == read block) These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 07060500 0b0a0908 000e0d0c 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp2y1jfnlt -d --do-not-confirm -d summary espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 07060500 0b0a0908 000e0d0c 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "summary" command === EFUSE_REG_DEC_STATUS 0x00000000 EFUSE_NAME (Block) Description = [Meaningful Value] [Readable/Writeable] (Hex Value) ---------------------------------------------------------------------------------------- Calibration fuses: ADC_VREF (BLOCK0) True ADC reference voltage = 1100 R/W (0b00000) Config fuses: WR_DIS (BLOCK0) Efuse write disable mask = 0 R/W (0x0000) RD_DIS (BLOCK0) Disable reading from BlOCK1-3 = 0 R/W (0x0) DISABLE_APP_CPU (BLOCK0) Disables APP CPU = False R/W (0b0) DISABLE_BT (BLOCK0) Disables Bluetooth = False R/W (0b0) DIS_CACHE (BLOCK0) Disables cache = False R/W (0b0) CHIP_CPU_FREQ_LOW (BLOCK0) If set alongside EFUSE_RD_CHIP_CPU_FREQ_RATED; the = False R/W (0b0) ESP32's max CPU frequency is rated for 160MHz. 24 0MHz otherwise CHIP_CPU_FREQ_RATED (BLOCK0) If set; the ESP32's maximum CPU frequency has been = False R/W (0b0) rated BLK3_PART_RESERVE (BLOCK0) BLOCK3 partially served for ADC calibration data = False R/W (0b0) CLK8M_FREQ (BLOCK0) 8MHz clock freq override = 0 R/W (0x00) VOL_LEVEL_HP_INV (BLOCK0) This field stores the voltage level for CPU to run = 0 R/W (0b00) at 240 MHz; or for flash/PSRAM to run at 80 MHz.0 x0: level 7; 0x1: level 6; 0x2: level 5; 0x3: leve l 4. (RO) CODING_SCHEME (BLOCK0) Efuse variable block length scheme = 3/4 (BLK1-3 len=192 bits) R/W (0b01) CONSOLE_DEBUG_DISABLE (BLOCK0) Disable ROM BASIC interpreter fallback = False R/W (0b0) DISABLE_SDIO_HOST (BLOCK0) = False R/W (0b0) DISABLE_DL_CACHE (BLOCK0) Disable flash cache in UART bootloader = False R/W (0b0) Flash fuses: FLASH_CRYPT_CNT (BLOCK0) Flash encryption is enabled if this field has an o = 0 R/W (0b0000000) dd number of bits set FLASH_CRYPT_CONFIG (BLOCK0) Flash encryption config (key tweak bits) = 0 R/W (0x0) Identity fuses: CHIP_PACKAGE_4BIT (BLOCK0) Chip package identifier #4bit = False R/W (0b0) CHIP_PACKAGE (BLOCK0) Chip package identifier = 0 R/W (0b000) CHIP_VER_REV1 (BLOCK0) bit is set to 1 for rev1 silicon = True R/W (0b1) CHIP_VER_REV2 (BLOCK0) = True R/W (0b1) WAFER_VERSION_MINOR (BLOCK0) = 0 R/W (0b00) WAFER_VERSION_MAJOR (BLOCK0) calc WAFER VERSION MAJOR from CHIP_VER_REV1 and CH = 3 R/W (0b011) IP_VER_REV2 and apb_ctl_date (read only) PKG_VERSION (BLOCK0) calc Chip package = CHIP_PACKAGE_4BIT << 3 + CHIP_ = 0 R/W (0x0) PACKAGE (read only) Jtag fuses: JTAG_DISABLE (BLOCK0) Disable JTAG = False R/W (0b0) Mac fuses: MAC (BLOCK0) MAC address = 00:00:00:00:00:00 (CRC 0x00 OK) R/W MAC_CRC (BLOCK0) CRC8 for MAC address = 0 R/W (0x00) MAC_VERSION (BLOCK3) Version of the MAC field = 0 R/W (0x00) CUSTOM_MAC_CRC (BLOCK3) CRC8 for custom MAC address = 0 R/W (0x00) CUSTOM_MAC (BLOCK3) Custom MAC address = 00:00:00:00:00:00 (CRC 0x00 OK) R/W Security fuses: UART_DOWNLOAD_DIS (BLOCK0) Disable UART download mode. Valid for ESP32 V3 and = False R/W (0b0) newer; only 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) 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) KEY_STATUS (BLOCK0) Usage of efuse block 3 (reserved) = False R/W (0b0) SECURE_VERSION (BLOCK3) Secure version for anti-rollback = 0 R/W (0x00000000) BLOCK1 (BLOCK1) Flash encryption key = 00 00 00 00 00 00 00 00 00 05 06 07 08 09 0a 0b 0c 0d 0e 00 00 00 00 00 R/W BLOCK2 (BLOCK2) Security 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 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 R/W Spi Pad fuses: SPI_PAD_CONFIG_HD (BLOCK0) read for SPI_pad_config_hd = 0 R/W (0b00000) 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_CS0 (BLOCK0) Override SD_CMD pad (GPIO11/SPICS0) = 0 R/W (0b00000) Vdd fuses: XPD_SDIO_REG (BLOCK0) read for XPD_SDIO_REG = False R/W (0b0) XPD_SDIO_TIEH (BLOCK0) If XPD_SDIO_FORCE & XPD_SDIO_REG = 1.8V R/W (0b0) XPD_SDIO_FORCE (BLOCK0) Ignore MTDI pin (GPIO12) for VDD_SDIO on reset = False R/W (0b0) Flash voltage (VDD_SDIO) determined by GPIO12 on reset (High for 1.8V, Low/NC for 3.3V) Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp2y1jfnlt -d --do-not-confirm burn-block-data --offset 6 BLOCK2 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/128bit espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 07060500 0b0a0908 000e0d0c 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-block-data" command === [02] BLOCK2 size=24 bytes, offset=06 -> [00 00 00 00 00 00 00 00 00 00 00 05 06 07 08 09 0a 0b 0c 0d 0e 00 00 00] written : 0x000000000000000000000000000000000000000000000000 -> to write: 0x0000000e0d0c0b0a09080706050000000000000000000000 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 nothing to burn [01] BLOCK1 nothing to burn [02] BLOCK2 is empty, will burn the new value [03] BLOCK3 nothing to burn . This is an irreversible operation! BLOCK2 (secure_boot_v1 s) [2 ] to_write: 00000000 00000000 05000000 09080706 0d0c0b0a 0000000e Write data to BLOCK2 Addr 3ff5a0b8, data= 0 Addr 3ff5a0bc, data= 0 Addr 3ff5a0c0, data= 0 Addr 3ff5a0c4, data= c050500 Addr 3ff5a0c8, data= 9080706 Addr 3ff5a0cc, data= 2f010b0a Addr 3ff5a0d0, data= e0d0c Addr 3ff5a0d4, data= 110f0000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 110f0000000e0d0c2f010b0a090807060c050500000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 05000000 09080706 0d0c0b0a 0000000e BURN BLOCK2 - OK (write block == read block) These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 07060500 0b0a0908 000e0d0c 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 05000000 09080706 0d0c0b0a 0000000e BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp2y1jfnlt -d --do-not-confirm -d summary espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 07060500 0b0a0908 000e0d0c 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 05000000 09080706 0d0c0b0a 0000000e BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "summary" command === EFUSE_REG_DEC_STATUS 0x00000000 EFUSE_NAME (Block) Description = [Meaningful Value] [Readable/Writeable] (Hex Value) ---------------------------------------------------------------------------------------- Calibration fuses: ADC_VREF (BLOCK0) True ADC reference voltage = 1100 R/W (0b00000) Config fuses: WR_DIS (BLOCK0) Efuse write disable mask = 0 R/W (0x0000) RD_DIS (BLOCK0) Disable reading from BlOCK1-3 = 0 R/W (0x0) DISABLE_APP_CPU (BLOCK0) Disables APP CPU = False R/W (0b0) DISABLE_BT (BLOCK0) Disables Bluetooth = False R/W (0b0) DIS_CACHE (BLOCK0) Disables cache = False R/W (0b0) CHIP_CPU_FREQ_LOW (BLOCK0) If set alongside EFUSE_RD_CHIP_CPU_FREQ_RATED; the = False R/W (0b0) ESP32's max CPU frequency is rated for 160MHz. 24 0MHz otherwise CHIP_CPU_FREQ_RATED (BLOCK0) If set; the ESP32's maximum CPU frequency has been = False R/W (0b0) rated BLK3_PART_RESERVE (BLOCK0) BLOCK3 partially served for ADC calibration data = False R/W (0b0) CLK8M_FREQ (BLOCK0) 8MHz clock freq override = 0 R/W (0x00) VOL_LEVEL_HP_INV (BLOCK0) This field stores the voltage level for CPU to run = 0 R/W (0b00) at 240 MHz; or for flash/PSRAM to run at 80 MHz.0 x0: level 7; 0x1: level 6; 0x2: level 5; 0x3: leve l 4. (RO) CODING_SCHEME (BLOCK0) Efuse variable block length scheme = 3/4 (BLK1-3 len=192 bits) R/W (0b01) CONSOLE_DEBUG_DISABLE (BLOCK0) Disable ROM BASIC interpreter fallback = False R/W (0b0) DISABLE_SDIO_HOST (BLOCK0) = False R/W (0b0) DISABLE_DL_CACHE (BLOCK0) Disable flash cache in UART bootloader = False R/W (0b0) Flash fuses: FLASH_CRYPT_CNT (BLOCK0) Flash encryption is enabled if this field has an o = 0 R/W (0b0000000) dd number of bits set FLASH_CRYPT_CONFIG (BLOCK0) Flash encryption config (key tweak bits) = 0 R/W (0x0) Identity fuses: CHIP_PACKAGE_4BIT (BLOCK0) Chip package identifier #4bit = False R/W (0b0) CHIP_PACKAGE (BLOCK0) Chip package identifier = 0 R/W (0b000) CHIP_VER_REV1 (BLOCK0) bit is set to 1 for rev1 silicon = True R/W (0b1) CHIP_VER_REV2 (BLOCK0) = True R/W (0b1) WAFER_VERSION_MINOR (BLOCK0) = 0 R/W (0b00) WAFER_VERSION_MAJOR (BLOCK0) calc WAFER VERSION MAJOR from CHIP_VER_REV1 and CH = 3 R/W (0b011) IP_VER_REV2 and apb_ctl_date (read only) PKG_VERSION (BLOCK0) calc Chip package = CHIP_PACKAGE_4BIT << 3 + CHIP_ = 0 R/W (0x0) PACKAGE (read only) Jtag fuses: JTAG_DISABLE (BLOCK0) Disable JTAG = False R/W (0b0) Mac fuses: MAC (BLOCK0) MAC address = 00:00:00:00:00:00 (CRC 0x00 OK) R/W MAC_CRC (BLOCK0) CRC8 for MAC address = 0 R/W (0x00) MAC_VERSION (BLOCK3) Version of the MAC field = 0 R/W (0x00) CUSTOM_MAC_CRC (BLOCK3) CRC8 for custom MAC address = 0 R/W (0x00) CUSTOM_MAC (BLOCK3) Custom MAC address = 00:00:00:00:00:00 (CRC 0x00 OK) R/W Security fuses: UART_DOWNLOAD_DIS (BLOCK0) Disable UART download mode. Valid for ESP32 V3 and = False R/W (0b0) newer; only 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) 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) KEY_STATUS (BLOCK0) Usage of efuse block 3 (reserved) = False R/W (0b0) SECURE_VERSION (BLOCK3) Secure version for anti-rollback = 0 R/W (0x00000000) BLOCK1 (BLOCK1) Flash encryption key = 00 00 00 00 00 00 00 00 00 05 06 07 08 09 0a 0b 0c 0d 0e 00 00 00 00 00 R/W BLOCK2 (BLOCK2) Security boot key = 00 00 00 00 00 00 00 00 00 00 00 05 06 07 08 09 0a 0b 0c 0d 0e 00 00 00 R/W BLOCK3 (BLOCK3) Variable Block 3 = 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 Spi Pad fuses: SPI_PAD_CONFIG_HD (BLOCK0) read for SPI_pad_config_hd = 0 R/W (0b00000) 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_CS0 (BLOCK0) Override SD_CMD pad (GPIO11/SPICS0) = 0 R/W (0b00000) Vdd fuses: XPD_SDIO_REG (BLOCK0) read for XPD_SDIO_REG = False R/W (0b0) XPD_SDIO_TIEH (BLOCK0) If XPD_SDIO_FORCE & XPD_SDIO_REG = 1.8V R/W (0b0) XPD_SDIO_FORCE (BLOCK0) Ignore MTDI pin (GPIO12) for VDD_SDIO on reset = False R/W (0b0) Flash voltage (VDD_SDIO) determined by GPIO12 on reset (High for 1.8V, Low/NC for 3.3V) Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp2y1jfnlt -d --do-not-confirm burn-block-data --offset 8 BLOCK3 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/128bit espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 07060500 0b0a0908 000e0d0c 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 05000000 09080706 0d0c0b0a 0000000e BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-block-data" command === [03] BLOCK3 size=24 bytes, offset=08 -> [00 00 00 00 00 00 00 00 00 00 00 00 00 05 06 07 08 09 0a 0b 0c 0d 0e 00] written : 0x000000000000000000000000000000000000000000000000 -> to write: 0x000e0d0c0b0a090807060500000000000000000000000000 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 nothing to burn [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 is empty, will burn the new value . This is an irreversible operation! BLOCK3 ( ) [3 ] to_write: 00000000 00000000 00000000 07060500 0b0a0908 000e0d0c Write data to BLOCK3 Addr 3ff5a0d8, data= 0 Addr 3ff5a0dc, data= 0 Addr 3ff5a0e0, data= 0 Addr 3ff5a0e4, data= 0 Addr 3ff5a0e8, data= 7060500 Addr 3ff5a0ec, data= 27050908 Addr 3ff5a0f0, data= d0c0b0a Addr 3ff5a0f4, data= 290e000e BLOCK3 290e000e0d0c0b0a270509080706050000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 07060500 0b0a0908 000e0d0c BURN BLOCK3 - OK (write block == read block) These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 07060500 0b0a0908 000e0d0c 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 05000000 09080706 0d0c0b0a 0000000e BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 07060500 0b0a0908 000e0d0c Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp2y1jfnlt -d --do-not-confirm -d summary espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 07060500 0b0a0908 000e0d0c 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 05000000 09080706 0d0c0b0a 0000000e BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 07060500 0b0a0908 000e0d0c EFUSE_REG_DEC_STATUS 0x00000000 === Run "summary" command === EFUSE_REG_DEC_STATUS 0x00000000 EFUSE_NAME (Block) Description = [Meaningful Value] [Readable/Writeable] (Hex Value) ---------------------------------------------------------------------------------------- Calibration fuses: ADC_VREF (BLOCK0) True ADC reference voltage = 1100 R/W (0b00000) Config fuses: WR_DIS (BLOCK0) Efuse write disable mask = 0 R/W (0x0000) RD_DIS (BLOCK0) Disable reading from BlOCK1-3 = 0 R/W (0x0) DISABLE_APP_CPU (BLOCK0) Disables APP CPU = False R/W (0b0) DISABLE_BT (BLOCK0) Disables Bluetooth = False R/W (0b0) DIS_CACHE (BLOCK0) Disables cache = False R/W (0b0) CHIP_CPU_FREQ_LOW (BLOCK0) If set alongside EFUSE_RD_CHIP_CPU_FREQ_RATED; the = False R/W (0b0) ESP32's max CPU frequency is rated for 160MHz. 24 0MHz otherwise CHIP_CPU_FREQ_RATED (BLOCK0) If set; the ESP32's maximum CPU frequency has been = False R/W (0b0) rated BLK3_PART_RESERVE (BLOCK0) BLOCK3 partially served for ADC calibration data = False R/W (0b0) CLK8M_FREQ (BLOCK0) 8MHz clock freq override = 0 R/W (0x00) VOL_LEVEL_HP_INV (BLOCK0) This field stores the voltage level for CPU to run = 0 R/W (0b00) at 240 MHz; or for flash/PSRAM to run at 80 MHz.0 x0: level 7; 0x1: level 6; 0x2: level 5; 0x3: leve l 4. (RO) CODING_SCHEME (BLOCK0) Efuse variable block length scheme = 3/4 (BLK1-3 len=192 bits) R/W (0b01) CONSOLE_DEBUG_DISABLE (BLOCK0) Disable ROM BASIC interpreter fallback = False R/W (0b0) DISABLE_SDIO_HOST (BLOCK0) = False R/W (0b0) DISABLE_DL_CACHE (BLOCK0) Disable flash cache in UART bootloader = False R/W (0b0) Flash fuses: FLASH_CRYPT_CNT (BLOCK0) Flash encryption is enabled if this field has an o = 0 R/W (0b0000000) dd number of bits set FLASH_CRYPT_CONFIG (BLOCK0) Flash encryption config (key tweak bits) = 0 R/W (0x0) Identity fuses: CHIP_PACKAGE_4BIT (BLOCK0) Chip package identifier #4bit = False R/W (0b0) CHIP_PACKAGE (BLOCK0) Chip package identifier = 0 R/W (0b000) CHIP_VER_REV1 (BLOCK0) bit is set to 1 for rev1 silicon = True R/W (0b1) CHIP_VER_REV2 (BLOCK0) = True R/W (0b1) WAFER_VERSION_MINOR (BLOCK0) = 0 R/W (0b00) WAFER_VERSION_MAJOR (BLOCK0) calc WAFER VERSION MAJOR from CHIP_VER_REV1 and CH = 3 R/W (0b011) IP_VER_REV2 and apb_ctl_date (read only) PKG_VERSION (BLOCK0) calc Chip package = CHIP_PACKAGE_4BIT << 3 + CHIP_ = 0 R/W (0x0) PACKAGE (read only) Jtag fuses: JTAG_DISABLE (BLOCK0) Disable JTAG = False R/W (0b0) Mac fuses: MAC (BLOCK0) MAC address = 00:00:00:00:00:00 (CRC 0x00 OK) R/W MAC_CRC (BLOCK0) CRC8 for MAC address = 0 R/W (0x00) MAC_VERSION (BLOCK3) Version of the MAC field = 0 R/W (0x00) CUSTOM_MAC_CRC (BLOCK3) CRC8 for custom MAC address = 0 R/W (0x00) CUSTOM_MAC (BLOCK3) Custom MAC address = 00:00:00:00:00:00 (CRC 0x00 OK) R/W Security fuses: UART_DOWNLOAD_DIS (BLOCK0) Disable UART download mode. Valid for ESP32 V3 and = False R/W (0b0) newer; only 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) 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) KEY_STATUS (BLOCK0) Usage of efuse block 3 (reserved) = False R/W (0b0) SECURE_VERSION (BLOCK3) Secure version for anti-rollback = 185207048 R/W (0x0b0a0908) BLOCK1 (BLOCK1) Flash encryption key = 00 00 00 00 00 00 00 00 00 05 06 07 08 09 0a 0b 0c 0d 0e 00 00 00 00 00 R/W BLOCK2 (BLOCK2) Security boot key = 00 00 00 00 00 00 00 00 00 00 00 05 06 07 08 09 0a 0b 0c 0d 0e 00 00 00 R/W BLOCK3 (BLOCK3) Variable Block 3 = 00 00 00 00 00 00 00 00 00 00 00 00 00 05 06 07 08 09 0a 0b 0c 0d 0e 00 R/W Spi Pad fuses: SPI_PAD_CONFIG_HD (BLOCK0) read for SPI_pad_config_hd = 0 R/W (0b00000) 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_CS0 (BLOCK0) Override SD_CMD pad (GPIO11/SPICS0) = 0 R/W (0b00000) Vdd fuses: XPD_SDIO_REG (BLOCK0) read for XPD_SDIO_REG = False R/W (0b0) XPD_SDIO_TIEH (BLOCK0) If XPD_SDIO_FORCE & XPD_SDIO_REG = 1.8V R/W (0b0) XPD_SDIO_FORCE (BLOCK0) Ignore MTDI pin (GPIO12) for VDD_SDIO on reset = False R/W (0b0) Flash voltage (VDD_SDIO) determined by GPIO12 on reset (High for 1.8V, Low/NC for 3.3V) PASSED test/test_espefuse.py::TestBurnKeyDigestCommandsEsp32::test_burn_key_digest Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp43pjjos7 -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp43pjjos7 -d --do-not-confirm burn-key-digest -h espefuse v5.4.0 Usage: python -m espefuse burn-key-digest [OPTIONS] KEYFILE Parse a RSA public key and burn the digest to eFuse for use with Secure Boot V2. ╭─ Arguments ──────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ * KEYFILE FILENAME [required] │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─ Options ────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ --no-protect-key Disable the default write-protection of the key digest. If this option is not set, once │ │ the key is flashed it cannot be changed. │ │ --force-write-always Write the eFuse even if it looks like it's already been written, or is write protected. │ │ Note that this option can't disable write protection, or clear any bit which has │ │ already been set. │ │ --show-sensitive-info Show data to be burned (may expose sensitive data). Enabled if --debug is used. │ │ --show-token Display the eFuse token dump for the write operation before the confirmation prompt. │ │ This produces EFSW token. If the goal is only to obtain the token, press ENTER to abort │ │ (no burning will occur). Be aware that this may expose sensitive data. │ │ --help -h Show this message and exit. │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp43pjjos7 -d --do-not-confirm burn-key-digest /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/rsa_secure_boot_signing_key.pem espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-key-digest" command === - BLOCK2 -> Disabling write to eFuse BLOCK2... Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is not empty (written ): 0x00000000001000000000000000008000000000000000000000000000 (to write): 0x00000000000000000000000000000000000000000000000000000100 (coding scheme = NONE) [01] BLOCK1 nothing to burn [02] BLOCK2 is empty, will burn the new value [03] BLOCK3 nothing to burn . This is an irreversible operation! BLOCK2 (secure_boot_v1 s) [2 ] to_write: a39127cb 32c0b071 0437f72b 6209ba78 1cab4c22 797828f2 3e6729e4 6344a87d Write data to BLOCK2 Addr 3ff5a0b8, data= a39127cb Addr 3ff5a0bc, data= 32c0b071 Addr 3ff5a0c0, data= 437f72b Addr 3ff5a0c4, data= 6209ba78 Addr 3ff5a0c8, data= 1cab4c22 Addr 3ff5a0cc, data= 797828f2 Addr 3ff5a0d0, data= 3e6729e4 Addr 3ff5a0d4, data= 6344a87d BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 6344a87d3e6729e4797828f21cab4c226209ba780437f72b32c0b071a39127cb BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: a39127cb 32c0b071 0437f72b 6209ba78 1cab4c22 797828f2 3e6729e4 6344a87d BURN BLOCK2 - OK (write block == read block) These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0100'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } Burn postponed eFuses from BLOCK0. BLOCK0 ( ) [0 ] to_write: 00000100 00000000 00000000 00000000 00000000 00000000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 100 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 0 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 0 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000100 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000100 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (all write block bits are set) Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000100 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: a39127cb 32c0b071 0437f72b 6209ba78 1cab4c22 797828f2 3e6729e4 6344a87d BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp43pjjos7 -d --do-not-confirm -d summary espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000100 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: a39127cb 32c0b071 0437f72b 6209ba78 1cab4c22 797828f2 3e6729e4 6344a87d BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "summary" command === EFUSE_REG_DEC_STATUS 0x00000000 EFUSE_NAME (Block) Description = [Meaningful Value] [Readable/Writeable] (Hex Value) ---------------------------------------------------------------------------------------- Calibration fuses: ADC_VREF (BLOCK0) True ADC reference voltage = 1100 R/W (0b00000) Config fuses: WR_DIS (BLOCK0) Efuse write disable mask = 256 R/W (0x0100) RD_DIS (BLOCK0) Disable reading from BlOCK1-3 = 0 R/W (0x0) DISABLE_APP_CPU (BLOCK0) Disables APP CPU = False R/W (0b0) DISABLE_BT (BLOCK0) Disables Bluetooth = False R/W (0b0) DIS_CACHE (BLOCK0) Disables cache = False R/W (0b0) CHIP_CPU_FREQ_LOW (BLOCK0) If set alongside EFUSE_RD_CHIP_CPU_FREQ_RATED; the = False R/W (0b0) ESP32's max CPU frequency is rated for 160MHz. 24 0MHz otherwise CHIP_CPU_FREQ_RATED (BLOCK0) If set; the ESP32's maximum CPU frequency has been = False R/W (0b0) rated BLK3_PART_RESERVE (BLOCK0) BLOCK3 partially served for ADC calibration data = False R/W (0b0) CLK8M_FREQ (BLOCK0) 8MHz clock freq override = 0 R/W (0x00) VOL_LEVEL_HP_INV (BLOCK0) This field stores the voltage level for CPU to run = 0 R/W (0b00) at 240 MHz; or for flash/PSRAM to run at 80 MHz.0 x0: level 7; 0x1: level 6; 0x2: level 5; 0x3: leve l 4. (RO) CODING_SCHEME (BLOCK0) Efuse variable block length scheme = NONE (BLK1-3 len=256 bits) R/W (0b00) CONSOLE_DEBUG_DISABLE (BLOCK0) Disable ROM BASIC interpreter fallback = False R/W (0b0) DISABLE_SDIO_HOST (BLOCK0) = False R/W (0b0) DISABLE_DL_CACHE (BLOCK0) Disable flash cache in UART bootloader = False R/W (0b0) Flash fuses: FLASH_CRYPT_CNT (BLOCK0) Flash encryption is enabled if this field has an o = 0 R/W (0b0000000) dd number of bits set FLASH_CRYPT_CONFIG (BLOCK0) Flash encryption config (key tweak bits) = 0 R/W (0x0) Identity fuses: CHIP_PACKAGE_4BIT (BLOCK0) Chip package identifier #4bit = False R/W (0b0) CHIP_PACKAGE (BLOCK0) Chip package identifier = 0 R/W (0b000) CHIP_VER_REV1 (BLOCK0) bit is set to 1 for rev1 silicon = True R/W (0b1) CHIP_VER_REV2 (BLOCK0) = True R/W (0b1) WAFER_VERSION_MINOR (BLOCK0) = 0 R/W (0b00) WAFER_VERSION_MAJOR (BLOCK0) calc WAFER VERSION MAJOR from CHIP_VER_REV1 and CH = 3 R/W (0b011) IP_VER_REV2 and apb_ctl_date (read only) PKG_VERSION (BLOCK0) calc Chip package = CHIP_PACKAGE_4BIT << 3 + CHIP_ = 0 R/W (0x0) PACKAGE (read only) Jtag fuses: JTAG_DISABLE (BLOCK0) Disable JTAG = False R/W (0b0) Mac fuses: MAC (BLOCK0) MAC address = 00:00:00:00:00:00 (CRC 0x00 OK) R/W MAC_CRC (BLOCK0) CRC8 for MAC address = 0 R/W (0x00) MAC_VERSION (BLOCK3) Version of the MAC field = 0 R/W (0x00) CUSTOM_MAC_CRC (BLOCK3) CRC8 for custom MAC address = 0 R/W (0x00) CUSTOM_MAC (BLOCK3) Custom MAC address = 00:00:00:00:00:00 (CRC 0x00 OK) R/W Security fuses: UART_DOWNLOAD_DIS (BLOCK0) Disable UART download mode. Valid for ESP32 V3 and = False R/W (0b0) newer; only 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) 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) KEY_STATUS (BLOCK0) Usage of efuse block 3 (reserved) = False R/W (0b0) SECURE_VERSION (BLOCK3) Secure version for anti-rollback = 0 R/W (0x00000000) 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 00 00 00 00 00 00 00 00 R/W BLOCK2 (BLOCK2) Security boot key = cb 27 91 a3 71 b0 c0 32 2b f7 37 04 78 ba 09 62 22 4c ab 1c f2 28 78 79 e4 29 67 3e 7d a8 44 63 R/- BLOCK3 (BLOCK3) Variable Block 3 = 00 00 00 00 00 00 00 00 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 Spi Pad fuses: SPI_PAD_CONFIG_HD (BLOCK0) read for SPI_pad_config_hd = 0 R/W (0b00000) 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_CS0 (BLOCK0) Override SD_CMD pad (GPIO11/SPICS0) = 0 R/W (0b00000) Vdd fuses: XPD_SDIO_REG (BLOCK0) read for XPD_SDIO_REG = False R/W (0b0) XPD_SDIO_TIEH (BLOCK0) If XPD_SDIO_FORCE & XPD_SDIO_REG = 1.8V R/W (0b0) XPD_SDIO_FORCE (BLOCK0) Ignore MTDI pin (GPIO12) for VDD_SDIO on reset = False R/W (0b0) Flash voltage (VDD_SDIO) determined by GPIO12 on reset (High for 1.8V, Low/NC for 3.3V) PASSED test/test_espefuse.py::TestBurnKeyDigestCommandsEsp32::test_burn_key_from_digest Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpoxrcfv1_ -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpoxrcfv1_ -d --do-not-confirm burn-key BLOCK2 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/rsa_public_key_digest.bin --no-protect-key espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-key" command === Burn keys to blocks: - BLOCK2 -> Key is left unprotected as per --no-protect-key argument. Burn keys in eFuse blocks. The key block will be left readable and writeable (due to --no-protect-key). Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 nothing to burn [01] BLOCK1 nothing to burn [02] BLOCK2 is empty, will burn the new value [03] BLOCK3 nothing to burn . This is an irreversible operation! BLOCK2 (secure_boot_v1 s) [2 ] to_write: a39127cb 32c0b071 0437f72b 6209ba78 1cab4c22 797828f2 3e6729e4 6344a87d Write data to BLOCK2 Addr 3ff5a0b8, data= a39127cb Addr 3ff5a0bc, data= 32c0b071 Addr 3ff5a0c0, data= 437f72b Addr 3ff5a0c4, data= 6209ba78 Addr 3ff5a0c8, data= 1cab4c22 Addr 3ff5a0cc, data= 797828f2 Addr 3ff5a0d0, data= 3e6729e4 Addr 3ff5a0d4, data= 6344a87d BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 6344a87d3e6729e4797828f21cab4c226209ba780437f72b32c0b071a39127cb BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: a39127cb 32c0b071 0437f72b 6209ba78 1cab4c22 797828f2 3e6729e4 6344a87d BURN BLOCK2 - OK (write block == read block) These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: a39127cb 32c0b071 0437f72b 6209ba78 1cab4c22 797828f2 3e6729e4 6344a87d BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpoxrcfv1_ -d --do-not-confirm -d summary espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: a39127cb 32c0b071 0437f72b 6209ba78 1cab4c22 797828f2 3e6729e4 6344a87d BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "summary" command === EFUSE_REG_DEC_STATUS 0x00000000 EFUSE_NAME (Block) Description = [Meaningful Value] [Readable/Writeable] (Hex Value) ---------------------------------------------------------------------------------------- Calibration fuses: ADC_VREF (BLOCK0) True ADC reference voltage = 1100 R/W (0b00000) Config fuses: WR_DIS (BLOCK0) Efuse write disable mask = 0 R/W (0x0000) RD_DIS (BLOCK0) Disable reading from BlOCK1-3 = 0 R/W (0x0) DISABLE_APP_CPU (BLOCK0) Disables APP CPU = False R/W (0b0) DISABLE_BT (BLOCK0) Disables Bluetooth = False R/W (0b0) DIS_CACHE (BLOCK0) Disables cache = False R/W (0b0) CHIP_CPU_FREQ_LOW (BLOCK0) If set alongside EFUSE_RD_CHIP_CPU_FREQ_RATED; the = False R/W (0b0) ESP32's max CPU frequency is rated for 160MHz. 24 0MHz otherwise CHIP_CPU_FREQ_RATED (BLOCK0) If set; the ESP32's maximum CPU frequency has been = False R/W (0b0) rated BLK3_PART_RESERVE (BLOCK0) BLOCK3 partially served for ADC calibration data = False R/W (0b0) CLK8M_FREQ (BLOCK0) 8MHz clock freq override = 0 R/W (0x00) VOL_LEVEL_HP_INV (BLOCK0) This field stores the voltage level for CPU to run = 0 R/W (0b00) at 240 MHz; or for flash/PSRAM to run at 80 MHz.0 x0: level 7; 0x1: level 6; 0x2: level 5; 0x3: leve l 4. (RO) CODING_SCHEME (BLOCK0) Efuse variable block length scheme = NONE (BLK1-3 len=256 bits) R/W (0b00) CONSOLE_DEBUG_DISABLE (BLOCK0) Disable ROM BASIC interpreter fallback = False R/W (0b0) DISABLE_SDIO_HOST (BLOCK0) = False R/W (0b0) DISABLE_DL_CACHE (BLOCK0) Disable flash cache in UART bootloader = False R/W (0b0) Flash fuses: FLASH_CRYPT_CNT (BLOCK0) Flash encryption is enabled if this field has an o = 0 R/W (0b0000000) dd number of bits set FLASH_CRYPT_CONFIG (BLOCK0) Flash encryption config (key tweak bits) = 0 R/W (0x0) Identity fuses: CHIP_PACKAGE_4BIT (BLOCK0) Chip package identifier #4bit = False R/W (0b0) CHIP_PACKAGE (BLOCK0) Chip package identifier = 0 R/W (0b000) CHIP_VER_REV1 (BLOCK0) bit is set to 1 for rev1 silicon = True R/W (0b1) CHIP_VER_REV2 (BLOCK0) = True R/W (0b1) WAFER_VERSION_MINOR (BLOCK0) = 0 R/W (0b00) WAFER_VERSION_MAJOR (BLOCK0) calc WAFER VERSION MAJOR from CHIP_VER_REV1 and CH = 3 R/W (0b011) IP_VER_REV2 and apb_ctl_date (read only) PKG_VERSION (BLOCK0) calc Chip package = CHIP_PACKAGE_4BIT << 3 + CHIP_ = 0 R/W (0x0) PACKAGE (read only) Jtag fuses: JTAG_DISABLE (BLOCK0) Disable JTAG = False R/W (0b0) Mac fuses: MAC (BLOCK0) MAC address = 00:00:00:00:00:00 (CRC 0x00 OK) R/W MAC_CRC (BLOCK0) CRC8 for MAC address = 0 R/W (0x00) MAC_VERSION (BLOCK3) Version of the MAC field = 0 R/W (0x00) CUSTOM_MAC_CRC (BLOCK3) CRC8 for custom MAC address = 0 R/W (0x00) CUSTOM_MAC (BLOCK3) Custom MAC address = 00:00:00:00:00:00 (CRC 0x00 OK) R/W Security fuses: UART_DOWNLOAD_DIS (BLOCK0) Disable UART download mode. Valid for ESP32 V3 and = False R/W (0b0) newer; only 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) 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) KEY_STATUS (BLOCK0) Usage of efuse block 3 (reserved) = False R/W (0b0) SECURE_VERSION (BLOCK3) Secure version for anti-rollback = 0 R/W (0x00000000) 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 00 00 00 00 00 00 00 00 R/W BLOCK2 (BLOCK2) Security boot key = cb 27 91 a3 71 b0 c0 32 2b f7 37 04 78 ba 09 62 22 4c ab 1c f2 28 78 79 e4 29 67 3e 7d a8 44 63 R/W BLOCK3 (BLOCK3) Variable Block 3 = 00 00 00 00 00 00 00 00 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 Spi Pad fuses: SPI_PAD_CONFIG_HD (BLOCK0) read for SPI_pad_config_hd = 0 R/W (0b00000) 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_CS0 (BLOCK0) Override SD_CMD pad (GPIO11/SPICS0) = 0 R/W (0b00000) Vdd fuses: XPD_SDIO_REG (BLOCK0) read for XPD_SDIO_REG = False R/W (0b0) XPD_SDIO_TIEH (BLOCK0) If XPD_SDIO_FORCE & XPD_SDIO_REG = 1.8V R/W (0b0) XPD_SDIO_FORCE (BLOCK0) Ignore MTDI pin (GPIO12) for VDD_SDIO on reset = False R/W (0b0) Flash voltage (VDD_SDIO) determined by GPIO12 on reset (High for 1.8V, Low/NC for 3.3V) PASSED test/test_espefuse.py::TestBurnKeyDigestCommandsEsp32::test_burn_key_digest_with_34_coding_scheme Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpj7vk_iej -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpj7vk_iej -d --do-not-confirm burn-efuse CODING_SCHEME 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CODING_SCHEME Burning eFuses: - 'CODING_SCHEME' (Efuse variable block length scheme) 0b00 -> 0b01 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is not empty (written ): 0x00000000001000000000000000008000000000000000000000000000 (to write): 0x00000001000000000000000000000000000000000000000000000000 (coding scheme = NONE) [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00000000 00000000 00000000 00000001 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 0 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 0 Addr 3ff5a034, data= 1 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000001000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BURN BLOCK0 - OK (all write block bits are set) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpj7vk_iej -d --do-not-confirm burn-key-digest /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/rsa_secure_boot_signing_key.pem espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-key-digest" command === ERROR: A fatal error occurred: burn-key-digest only works with 'None' coding scheme /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpj7vk_iej -d --do-not-confirm burn-key-digest /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/rsa_secure_boot_signing_key.pem espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-key-digest" command === ERROR: A fatal error occurred: burn-key-digest only works with 'None' coding scheme PASSED test/test_espefuse.py::TestBurnKeyDigestCommandsEsp32C2::test_burn_key_digest1 SKIPPED test/test_espefuse.py::TestBurnKeyDigestCommandsEsp32C2::test_burn_key_digest2 SKIPPED test/test_espefuse.py::TestBurnKeyDigestCommandsEsp32C2::test_burn_key_from_digest1 SKIPPED test/test_espefuse.py::TestBurnKeyDigestCommandsEsp32C2::test_burn_key_from_digest2 SKIPPED test/test_espefuse.py::TestBurnKeyDigestCommands::test_burn_key_digest SKIPPED test/test_espefuse.py::TestBurnKeyDigestCommands::test_burn_key_from_digest SKIPPED test/test_espefuse.py::TestBurnBitCommands::test_burn_bit_for_chips_with_3_key_blocks Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpcyzfv4n5 -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpcyzfv4n5 -d --do-not-confirm burn-bit -h espefuse v5.4.0 Usage: python -m espefuse burn-bit [OPTIONS] {BLOCK0|BLOCK1|BLOCK2|BLOCK3} BIT_NUMBER... Burn bit in the eFuse block. ╭─ Arguments ──────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ * BLOCK {BLOCK0|BLOCK1|BLOCK2|BLOCK3} [required] │ │ * BIT_NUMBER INTEGER [required] │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─ Options ────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ --force-write-always Write the eFuse even if it looks like it's already been written, or is write protected. │ │ Note that this option can't disable write protection, or clear any bit which has already │ │ been set. │ │ --show-token Display the eFuse token dump for the write operation before the confirmation prompt. │ │ This produces EFSW token. If the goal is only to obtain the token, press ENTER to abort │ │ (no burning will occur). Be aware that this may expose sensitive data. │ │ --help -h Show this message and exit. │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpcyzfv4n5 -d --do-not-confirm burn-bit BLOCK3 0 1 2 4 8 16 32 64 96 128 160 192 224 255 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-bit" command === bit_number: [255]........................................................[0] BLOCK 3 : 0x8000000100000001000000010000000100000001000000010000000100010117 BLOCK3 ( ) [3 ] regs_to_write: 00010117 00000001 00000001 00000001 00000001 00000001 00000001 80000001 written : 0x0000000000000000000000000000000000000000000000000000000000000000 -> to write: 0x8000000100000001000000010000000100000001000000010000000100010117 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 nothing to burn [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 is empty, will burn the new value . This is an irreversible operation! BLOCK3 ( ) [3 ] to_write: 00010117 00000001 00000001 00000001 00000001 00000001 00000001 80000001 Write data to BLOCK3 Addr 3ff5a0d8, data= 10117 Addr 3ff5a0dc, data= 1 Addr 3ff5a0e0, data= 1 Addr 3ff5a0e4, data= 1 Addr 3ff5a0e8, data= 1 Addr 3ff5a0ec, data= 1 Addr 3ff5a0f0, data= 1 Addr 3ff5a0f4, data= 80000001 BLOCK3 8000000100000001000000010000000100000001000000010000000100010117 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 ( ) [3 ] read_regs: 00010117 00000001 00000001 00000001 00000001 00000001 00000001 80000001 BURN BLOCK3 - OK (write block == read block) These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00010117 00000001 00000001 00000001 00000001 00000001 00000001 80000001 Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpcyzfv4n5 -d --do-not-confirm summary espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00010117 00000001 00000001 00000001 00000001 00000001 00000001 80000001 EFUSE_REG_DEC_STATUS 0x00000000 === Run "summary" command === EFUSE_REG_DEC_STATUS 0x00000000 EFUSE_NAME (Block) Description = [Meaningful Value] [Readable/Writeable] (Hex Value) ---------------------------------------------------------------------------------------- Calibration fuses: ADC_VREF (BLOCK0) True ADC reference voltage = 1100 R/W (0b00000) Config fuses: WR_DIS (BLOCK0) Efuse write disable mask = 0 R/W (0x0000) RD_DIS (BLOCK0) Disable reading from BlOCK1-3 = 0 R/W (0x0) DISABLE_APP_CPU (BLOCK0) Disables APP CPU = False R/W (0b0) DISABLE_BT (BLOCK0) Disables Bluetooth = False R/W (0b0) DIS_CACHE (BLOCK0) Disables cache = False R/W (0b0) CHIP_CPU_FREQ_LOW (BLOCK0) If set alongside EFUSE_RD_CHIP_CPU_FREQ_RATED; the = False R/W (0b0) ESP32's max CPU frequency is rated for 160MHz. 24 0MHz otherwise CHIP_CPU_FREQ_RATED (BLOCK0) If set; the ESP32's maximum CPU frequency has been = False R/W (0b0) rated BLK3_PART_RESERVE (BLOCK0) BLOCK3 partially served for ADC calibration data = False R/W (0b0) CLK8M_FREQ (BLOCK0) 8MHz clock freq override = 0 R/W (0x00) VOL_LEVEL_HP_INV (BLOCK0) This field stores the voltage level for CPU to run = 0 R/W (0b00) at 240 MHz; or for flash/PSRAM to run at 80 MHz.0 x0: level 7; 0x1: level 6; 0x2: level 5; 0x3: leve l 4. (RO) CODING_SCHEME (BLOCK0) Efuse variable block length scheme = NONE (BLK1-3 len=256 bits) R/W (0b00) CONSOLE_DEBUG_DISABLE (BLOCK0) Disable ROM BASIC interpreter fallback = False R/W (0b0) DISABLE_SDIO_HOST (BLOCK0) = False R/W (0b0) DISABLE_DL_CACHE (BLOCK0) Disable flash cache in UART bootloader = False R/W (0b0) Flash fuses: FLASH_CRYPT_CNT (BLOCK0) Flash encryption is enabled if this field has an o = 0 R/W (0b0000000) dd number of bits set FLASH_CRYPT_CONFIG (BLOCK0) Flash encryption config (key tweak bits) = 0 R/W (0x0) Identity fuses: CHIP_PACKAGE_4BIT (BLOCK0) Chip package identifier #4bit = False R/W (0b0) CHIP_PACKAGE (BLOCK0) Chip package identifier = 0 R/W (0b000) CHIP_VER_REV1 (BLOCK0) bit is set to 1 for rev1 silicon = True R/W (0b1) CHIP_VER_REV2 (BLOCK0) = True R/W (0b1) WAFER_VERSION_MINOR (BLOCK0) = 0 R/W (0b00) WAFER_VERSION_MAJOR (BLOCK0) calc WAFER VERSION MAJOR from CHIP_VER_REV1 and CH = 3 R/W (0b011) IP_VER_REV2 and apb_ctl_date (read only) PKG_VERSION (BLOCK0) calc Chip package = CHIP_PACKAGE_4BIT << 3 + CHIP_ = 0 R/W (0x0) PACKAGE (read only) Jtag fuses: JTAG_DISABLE (BLOCK0) Disable JTAG = False R/W (0b0) Mac fuses: MAC (BLOCK0) MAC address = 00:00:00:00:00:00 (CRC 0x00 OK) R/W MAC_CRC (BLOCK0) CRC8 for MAC address = 0 R/W (0x00) MAC_VERSION (BLOCK3) Version of the MAC field = 0 R/W (0x00) CUSTOM_MAC_CRC (BLOCK3) CRC8 for custom MAC address = 23 R/W (0x17) CUSTOM_MAC (BLOCK3) Custom MAC address = 01:01:00:01:00:00 (CRC 0x17 invalid - calculated 0x51) R/W Security fuses: UART_DOWNLOAD_DIS (BLOCK0) Disable UART download mode. Valid for ESP32 V3 and = False R/W (0b0) newer; only 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) 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) KEY_STATUS (BLOCK0) Usage of efuse block 3 (reserved) = False R/W (0b0) SECURE_VERSION (BLOCK3) Secure version for anti-rollback = 1 R/W (0x00000001) 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 00 00 00 00 00 00 00 00 R/W BLOCK2 (BLOCK2) Security 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 00 00 00 00 00 00 00 00 R/W BLOCK3 (BLOCK3) Variable Block 3 = 17 01 01 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 80 R/W Spi Pad fuses: SPI_PAD_CONFIG_HD (BLOCK0) read for SPI_pad_config_hd = 0 R/W (0b00000) 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_CS0 (BLOCK0) Override SD_CMD pad (GPIO11/SPICS0) = 0 R/W (0b00000) Vdd fuses: XPD_SDIO_REG (BLOCK0) read for XPD_SDIO_REG = False R/W (0b0) XPD_SDIO_TIEH (BLOCK0) If XPD_SDIO_FORCE & XPD_SDIO_REG = 1.8V R/W (0b0) XPD_SDIO_FORCE (BLOCK0) Ignore MTDI pin (GPIO12) for VDD_SDIO on reset = False R/W (0b0) Flash voltage (VDD_SDIO) determined by GPIO12 on reset (High for 1.8V, Low/NC for 3.3V) Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpcyzfv4n5 -d --do-not-confirm burn-bit BLOCK3 3 5 6 7 9 10 11 12 13 14 15 31 63 95 127 159 191 223 254 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00010117 00000001 00000001 00000001 00000001 00000001 00000001 80000001 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-bit" command === bit_number: [255]........................................................[0] BLOCK 3 : 0x400000008000000080000000800000008000000080000000800000008000fee8 BLOCK3 ( ) [3 ] regs_to_write: 8000fee8 80000000 80000000 80000000 80000000 80000000 80000000 40000000 written : 0x8000000100000001000000010000000100000001000000010000000100010117 -> to write: 0x400000008000000080000000800000008000000080000000800000008000fee8 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 nothing to burn [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 is not empty (written ): 0x8000000100000001000000010000000100000001000000010000000100010117 (to write): 0x400000008000000080000000800000008000000080000000800000008000fee8 (coding scheme = NONE) . This is an irreversible operation! BLOCK3 ( ) [3 ] to_write: 8000fee8 80000000 80000000 80000000 80000000 80000000 80000000 40000000 Write data to BLOCK3 Addr 3ff5a0d8, data= 8000fee8 Addr 3ff5a0dc, data= 80000000 Addr 3ff5a0e0, data= 80000000 Addr 3ff5a0e4, data= 80000000 Addr 3ff5a0e8, data= 80000000 Addr 3ff5a0ec, data= 80000000 Addr 3ff5a0f0, data= 80000000 Addr 3ff5a0f4, data= 40000000 BLOCK3 400000008000000080000000800000008000000080000000800000008000fee8 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 ( ) [3 ] read_regs: 8001ffff 80000001 80000001 80000001 80000001 80000001 80000001 c0000001 BURN BLOCK3 - OK (all write block bits are set) These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 8001ffff 80000001 80000001 80000001 80000001 80000001 80000001 c0000001 Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpcyzfv4n5 -d --do-not-confirm summary espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 8001ffff 80000001 80000001 80000001 80000001 80000001 80000001 c0000001 EFUSE_REG_DEC_STATUS 0x00000000 === Run "summary" command === EFUSE_REG_DEC_STATUS 0x00000000 EFUSE_NAME (Block) Description = [Meaningful Value] [Readable/Writeable] (Hex Value) ---------------------------------------------------------------------------------------- Calibration fuses: ADC_VREF (BLOCK0) True ADC reference voltage = 1100 R/W (0b00000) Config fuses: WR_DIS (BLOCK0) Efuse write disable mask = 0 R/W (0x0000) RD_DIS (BLOCK0) Disable reading from BlOCK1-3 = 0 R/W (0x0) DISABLE_APP_CPU (BLOCK0) Disables APP CPU = False R/W (0b0) DISABLE_BT (BLOCK0) Disables Bluetooth = False R/W (0b0) DIS_CACHE (BLOCK0) Disables cache = False R/W (0b0) CHIP_CPU_FREQ_LOW (BLOCK0) If set alongside EFUSE_RD_CHIP_CPU_FREQ_RATED; the = False R/W (0b0) ESP32's max CPU frequency is rated for 160MHz. 24 0MHz otherwise CHIP_CPU_FREQ_RATED (BLOCK0) If set; the ESP32's maximum CPU frequency has been = False R/W (0b0) rated BLK3_PART_RESERVE (BLOCK0) BLOCK3 partially served for ADC calibration data = False R/W (0b0) CLK8M_FREQ (BLOCK0) 8MHz clock freq override = 0 R/W (0x00) VOL_LEVEL_HP_INV (BLOCK0) This field stores the voltage level for CPU to run = 0 R/W (0b00) at 240 MHz; or for flash/PSRAM to run at 80 MHz.0 x0: level 7; 0x1: level 6; 0x2: level 5; 0x3: leve l 4. (RO) CODING_SCHEME (BLOCK0) Efuse variable block length scheme = NONE (BLK1-3 len=256 bits) R/W (0b00) CONSOLE_DEBUG_DISABLE (BLOCK0) Disable ROM BASIC interpreter fallback = False R/W (0b0) DISABLE_SDIO_HOST (BLOCK0) = False R/W (0b0) DISABLE_DL_CACHE (BLOCK0) Disable flash cache in UART bootloader = False R/W (0b0) Flash fuses: FLASH_CRYPT_CNT (BLOCK0) Flash encryption is enabled if this field has an o = 0 R/W (0b0000000) dd number of bits set FLASH_CRYPT_CONFIG (BLOCK0) Flash encryption config (key tweak bits) = 0 R/W (0x0) Identity fuses: CHIP_PACKAGE_4BIT (BLOCK0) Chip package identifier #4bit = False R/W (0b0) CHIP_PACKAGE (BLOCK0) Chip package identifier = 0 R/W (0b000) CHIP_VER_REV1 (BLOCK0) bit is set to 1 for rev1 silicon = True R/W (0b1) CHIP_VER_REV2 (BLOCK0) = True R/W (0b1) WAFER_VERSION_MINOR (BLOCK0) = 0 R/W (0b00) WAFER_VERSION_MAJOR (BLOCK0) calc WAFER VERSION MAJOR from CHIP_VER_REV1 and CH = 3 R/W (0b011) IP_VER_REV2 and apb_ctl_date (read only) PKG_VERSION (BLOCK0) calc Chip package = CHIP_PACKAGE_4BIT << 3 + CHIP_ = 0 R/W (0x0) PACKAGE (read only) Jtag fuses: JTAG_DISABLE (BLOCK0) Disable JTAG = False R/W (0b0) Mac fuses: MAC (BLOCK0) MAC address = 00:00:00:00:00:00 (CRC 0x00 OK) R/W MAC_CRC (BLOCK0) CRC8 for MAC address = 0 R/W (0x00) MAC_VERSION (BLOCK3) Version of the MAC field = 128 R/W (0x80) CUSTOM_MAC_CRC (BLOCK3) CRC8 for custom MAC address = 255 R/W (0xff) CUSTOM_MAC (BLOCK3) Custom MAC address = ff:01:80:01:00:00 (CRC 0xff invalid - calculated 0xe9) R/W Security fuses: UART_DOWNLOAD_DIS (BLOCK0) Disable UART download mode. Valid for ESP32 V3 and = False R/W (0b0) newer; only 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) 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) KEY_STATUS (BLOCK0) Usage of efuse block 3 (reserved) = False R/W (0b0) SECURE_VERSION (BLOCK3) Secure version for anti-rollback = 2147483649 R/W (0x80000001) 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 00 00 00 00 00 00 00 00 R/W BLOCK2 (BLOCK2) Security 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 00 00 00 00 00 00 00 00 R/W BLOCK3 (BLOCK3) Variable Block 3 = ff ff 01 80 01 00 00 80 01 00 00 80 01 00 00 80 01 00 00 80 01 00 00 80 01 00 00 80 01 00 00 c0 R/W Spi Pad fuses: SPI_PAD_CONFIG_HD (BLOCK0) read for SPI_pad_config_hd = 0 R/W (0b00000) 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_CS0 (BLOCK0) Override SD_CMD pad (GPIO11/SPICS0) = 0 R/W (0b00000) Vdd fuses: XPD_SDIO_REG (BLOCK0) read for XPD_SDIO_REG = False R/W (0b0) XPD_SDIO_TIEH (BLOCK0) If XPD_SDIO_FORCE & XPD_SDIO_REG = 1.8V R/W (0b0) XPD_SDIO_FORCE (BLOCK0) Ignore MTDI pin (GPIO12) for VDD_SDIO on reset = False R/W (0b0) Flash voltage (VDD_SDIO) determined by GPIO12 on reset (High for 1.8V, Low/NC for 3.3V) PASSED test/test_espefuse.py::TestBurnBitCommands::test_burn_bit_for_chips_with_1_key_block SKIPPED test/test_espefuse.py::TestBurnBitCommands::test_burn_bit_for_chips_with_6_key_blocks SKIPPED test/test_espefuse.py::TestBurnBitCommands::test_burn_bit_with_34_coding_scheme Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp3i706_ii -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp3i706_ii -d --do-not-confirm burn-efuse CODING_SCHEME 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CODING_SCHEME Burning eFuses: - 'CODING_SCHEME' (Efuse variable block length scheme) 0b00 -> 0b01 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is not empty (written ): 0x00000000001000000000000000008000000000000000000000000000 (to write): 0x00000001000000000000000000000000000000000000000000000000 (coding scheme = NONE) [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00000000 00000000 00000000 00000001 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 0 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 0 Addr 3ff5a034, data= 1 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000001000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BURN BLOCK0 - OK (all write block bits are set) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp3i706_ii -d --do-not-confirm burn-bit BLOCK3 0 1 2 4 8 16 32 64 96 128 160 191 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-bit" command === bit_number: [191]........................................................[0] BLOCK 3 : 0x800000010000000100000001000000010000000100010117 BLOCK3 ( ) [3 ] regs_to_write: 00010117 00000001 00000001 00000001 00000001 80000001 written : 0x000000000000000000000000000000000000000000000000 -> to write: 0x800000010000000100000001000000010000000100010117 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 nothing to burn [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 is empty, will burn the new value . This is an irreversible operation! BLOCK3 ( ) [3 ] to_write: 00010117 00000001 00000001 00000001 00000001 80000001 Write data to BLOCK3 Addr 3ff5a0d8, data= 10117 Addr 3ff5a0dc, data= e160001 Addr 3ff5a0e0, data= 10000 Addr 3ff5a0e4, data= 3010000 Addr 3ff5a0e8, data= 1 Addr 3ff5a0ec, data= 6000001 Addr 3ff5a0f0, data= 10000 Addr 3ff5a0f4, data= 9818000 BLOCK3 0981800000010000060000010000000103010000000100000e16000100010117 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 ( ) [3 ] read_regs: 00010117 00000001 00000001 00000001 00000001 80000001 BURN BLOCK3 - OK (write block == read block) These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00010117 00000001 00000001 00000001 00000001 80000001 Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp3i706_ii -d --do-not-confirm summary espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00010117 00000001 00000001 00000001 00000001 80000001 EFUSE_REG_DEC_STATUS 0x00000000 === Run "summary" command === EFUSE_REG_DEC_STATUS 0x00000000 EFUSE_NAME (Block) Description = [Meaningful Value] [Readable/Writeable] (Hex Value) ---------------------------------------------------------------------------------------- Calibration fuses: ADC_VREF (BLOCK0) True ADC reference voltage = 1100 R/W (0b00000) Config fuses: WR_DIS (BLOCK0) Efuse write disable mask = 0 R/W (0x0000) RD_DIS (BLOCK0) Disable reading from BlOCK1-3 = 0 R/W (0x0) DISABLE_APP_CPU (BLOCK0) Disables APP CPU = False R/W (0b0) DISABLE_BT (BLOCK0) Disables Bluetooth = False R/W (0b0) DIS_CACHE (BLOCK0) Disables cache = False R/W (0b0) CHIP_CPU_FREQ_LOW (BLOCK0) If set alongside EFUSE_RD_CHIP_CPU_FREQ_RATED; the = False R/W (0b0) ESP32's max CPU frequency is rated for 160MHz. 24 0MHz otherwise CHIP_CPU_FREQ_RATED (BLOCK0) If set; the ESP32's maximum CPU frequency has been = False R/W (0b0) rated BLK3_PART_RESERVE (BLOCK0) BLOCK3 partially served for ADC calibration data = False R/W (0b0) CLK8M_FREQ (BLOCK0) 8MHz clock freq override = 0 R/W (0x00) VOL_LEVEL_HP_INV (BLOCK0) This field stores the voltage level for CPU to run = 0 R/W (0b00) at 240 MHz; or for flash/PSRAM to run at 80 MHz.0 x0: level 7; 0x1: level 6; 0x2: level 5; 0x3: leve l 4. (RO) CODING_SCHEME (BLOCK0) Efuse variable block length scheme = 3/4 (BLK1-3 len=192 bits) R/W (0b01) CONSOLE_DEBUG_DISABLE (BLOCK0) Disable ROM BASIC interpreter fallback = False R/W (0b0) DISABLE_SDIO_HOST (BLOCK0) = False R/W (0b0) DISABLE_DL_CACHE (BLOCK0) Disable flash cache in UART bootloader = False R/W (0b0) Flash fuses: FLASH_CRYPT_CNT (BLOCK0) Flash encryption is enabled if this field has an o = 0 R/W (0b0000000) dd number of bits set FLASH_CRYPT_CONFIG (BLOCK0) Flash encryption config (key tweak bits) = 0 R/W (0x0) Identity fuses: CHIP_PACKAGE_4BIT (BLOCK0) Chip package identifier #4bit = False R/W (0b0) CHIP_PACKAGE (BLOCK0) Chip package identifier = 0 R/W (0b000) CHIP_VER_REV1 (BLOCK0) bit is set to 1 for rev1 silicon = True R/W (0b1) CHIP_VER_REV2 (BLOCK0) = True R/W (0b1) WAFER_VERSION_MINOR (BLOCK0) = 0 R/W (0b00) WAFER_VERSION_MAJOR (BLOCK0) calc WAFER VERSION MAJOR from CHIP_VER_REV1 and CH = 3 R/W (0b011) IP_VER_REV2 and apb_ctl_date (read only) PKG_VERSION (BLOCK0) calc Chip package = CHIP_PACKAGE_4BIT << 3 + CHIP_ = 0 R/W (0x0) PACKAGE (read only) Jtag fuses: JTAG_DISABLE (BLOCK0) Disable JTAG = False R/W (0b0) Mac fuses: MAC (BLOCK0) MAC address = 00:00:00:00:00:00 (CRC 0x00 OK) R/W MAC_CRC (BLOCK0) CRC8 for MAC address = 0 R/W (0x00) MAC_VERSION (BLOCK3) Version of the MAC field = 128 R/W (0x80) CUSTOM_MAC_CRC (BLOCK3) CRC8 for custom MAC address = 23 R/W (0x17) CUSTOM_MAC (BLOCK3) Custom MAC address = 01:01:00:01:00:00 (CRC 0x17 invalid - calculated 0x51) R/W Security fuses: UART_DOWNLOAD_DIS (BLOCK0) Disable UART download mode. Valid for ESP32 V3 and = False R/W (0b0) newer; only 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) 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) KEY_STATUS (BLOCK0) Usage of efuse block 3 (reserved) = False R/W (0b0) SECURE_VERSION (BLOCK3) Secure version for anti-rollback = 1 R/W (0x00000001) 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) Security 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 = 17 01 01 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 80 R/W Spi Pad fuses: SPI_PAD_CONFIG_HD (BLOCK0) read for SPI_pad_config_hd = 0 R/W (0b00000) 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_CS0 (BLOCK0) Override SD_CMD pad (GPIO11/SPICS0) = 0 R/W (0b00000) Vdd fuses: XPD_SDIO_REG (BLOCK0) read for XPD_SDIO_REG = False R/W (0b0) XPD_SDIO_TIEH (BLOCK0) If XPD_SDIO_FORCE & XPD_SDIO_REG = 1.8V R/W (0b0) XPD_SDIO_FORCE (BLOCK0) Ignore MTDI pin (GPIO12) for VDD_SDIO on reset = False R/W (0b0) Flash voltage (VDD_SDIO) determined by GPIO12 on reset (High for 1.8V, Low/NC for 3.3V) Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp3i706_ii -d --do-not-confirm burn-bit BLOCK3 17 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00010117 00000001 00000001 00000001 00000001 80000001 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-bit" command === bit_number: [191]........................................................[0] BLOCK 3 : 0x000000000000000000000000000000000000000000020000 BLOCK3 ( ) [3 ] regs_to_write: 00020000 00000000 00000000 00000000 00000000 00000000 written : 0x800000010000000100000001000000010000000100010117 -> to write: 0x000000000000000000000000000000000000000000020000 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 nothing to burn [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 is not empty (written ): 0x800000010000000100000001000000010000000100010117 (to write): 0x000000000000000000000000000000000000000000020000 (coding scheme = 3/4) written chunk [3] and wr_chunk are not empty. wr_chunk != rd_chunk. Can not burn. written 0x000100010117 to write 0x000000020000 ERROR: A fatal error occurred: Burn into BLOCK3 is forbidden (3/4 coding scheme does not allow this).(use '--force-write-always' option to ignore it) /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp3i706_ii -d --do-not-confirm burn-bit BLOCK3 17 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00010117 00000001 00000001 00000001 00000001 80000001 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-bit" command === bit_number: [191]........................................................[0] BLOCK 3 : 0x000000000000000000000000000000000000000000020000 BLOCK3 ( ) [3 ] regs_to_write: 00020000 00000000 00000000 00000000 00000000 00000000 written : 0x800000010000000100000001000000010000000100010117 -> to write: 0x000000000000000000000000000000000000000000020000 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 nothing to burn [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 is not empty (written ): 0x800000010000000100000001000000010000000100010117 (to write): 0x000000000000000000000000000000000000000000020000 (coding scheme = 3/4) written chunk [3] and wr_chunk are not empty. wr_chunk != rd_chunk. Can not burn. written 0x000100010117 to write 0x000000020000 ERROR: A fatal error occurred: Burn into BLOCK3 is forbidden (3/4 coding scheme does not allow this).(use '--force-write-always' option to ignore it) PASSED test/test_espefuse.py::TestBurnBitCommands::test_burn_bit_with_none_recovery_coding_scheme Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmppvara07f -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmppvara07f -d --do-not-confirm burn-efuse CODING_SCHEME 3 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CODING_SCHEME Burning eFuses: - 'CODING_SCHEME' (Efuse variable block length scheme) 0b00 -> 0b11 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is not empty (written ): 0x00000000001000000000000000008000000000000000000000000000 (to write): 0x00000003000000000000000000000000000000000000000000000000 (coding scheme = NONE) [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00000000 00000000 00000000 00000003 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 0 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 0 Addr 3ff5a034, data= 3 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000003000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000003 BURN BLOCK0 - OK (all write block bits are set) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000003 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmppvara07f -d --do-not-confirm burn-bit BLOCK3 0 1 2 4 8 16 32 64 96 128 160 192 224 255 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000003 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-bit" command === bit_number: [255]........................................................[0] BLOCK 3 : 0x8000000100000001000000010000000100000001000000010000000100010117 BLOCK3 ( ) [3 ] regs_to_write: 00010117 00000001 00000001 00000001 00000001 00000001 00000001 80000001 written : 0x0000000000000000000000000000000000000000000000000000000000000000 -> to write: 0x8000000100000001000000010000000100000001000000010000000100010117 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 nothing to burn [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 is empty, will burn the new value . This is an irreversible operation! BLOCK3 ( ) [3 ] to_write: 00010117 00000001 00000001 00000001 00000001 00000001 00000001 80000001 Write data to BLOCK3 Addr 3ff5a0d8, data= 10117 Addr 3ff5a0dc, data= 1 Addr 3ff5a0e0, data= 1 Addr 3ff5a0e4, data= 1 Addr 3ff5a0e8, data= 1 Addr 3ff5a0ec, data= 1 Addr 3ff5a0f0, data= 1 Addr 3ff5a0f4, data= 80000001 BLOCK3 8000000100000001000000010000000100000001000000010000000100010117 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 ( ) [3 ] read_regs: 00010117 00000001 00000001 00000001 00000001 00000001 00000001 80000001 BURN BLOCK3 - OK (write block == read block) These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000003 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00010117 00000001 00000001 00000001 00000001 00000001 00000001 80000001 Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmppvara07f -d --do-not-confirm summary espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000003 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00010117 00000001 00000001 00000001 00000001 00000001 00000001 80000001 EFUSE_REG_DEC_STATUS 0x00000000 === Run "summary" command === EFUSE_REG_DEC_STATUS 0x00000000 EFUSE_NAME (Block) Description = [Meaningful Value] [Readable/Writeable] (Hex Value) ---------------------------------------------------------------------------------------- Calibration fuses: ADC_VREF (BLOCK0) True ADC reference voltage = 1100 R/W (0b00000) Config fuses: WR_DIS (BLOCK0) Efuse write disable mask = 0 R/W (0x0000) RD_DIS (BLOCK0) Disable reading from BlOCK1-3 = 0 R/W (0x0) DISABLE_APP_CPU (BLOCK0) Disables APP CPU = False R/W (0b0) DISABLE_BT (BLOCK0) Disables Bluetooth = False R/W (0b0) DIS_CACHE (BLOCK0) Disables cache = False R/W (0b0) CHIP_CPU_FREQ_LOW (BLOCK0) If set alongside EFUSE_RD_CHIP_CPU_FREQ_RATED; the = False R/W (0b0) ESP32's max CPU frequency is rated for 160MHz. 24 0MHz otherwise CHIP_CPU_FREQ_RATED (BLOCK0) If set; the ESP32's maximum CPU frequency has been = False R/W (0b0) rated BLK3_PART_RESERVE (BLOCK0) BLOCK3 partially served for ADC calibration data = False R/W (0b0) CLK8M_FREQ (BLOCK0) 8MHz clock freq override = 0 R/W (0x00) VOL_LEVEL_HP_INV (BLOCK0) This field stores the voltage level for CPU to run = 0 R/W (0b00) at 240 MHz; or for flash/PSRAM to run at 80 MHz.0 x0: level 7; 0x1: level 6; 0x2: level 5; 0x3: leve l 4. (RO) CODING_SCHEME (BLOCK0) Efuse variable block length scheme = NONE (BLK1-3 len=256 bits) R/W (0b11) CONSOLE_DEBUG_DISABLE (BLOCK0) Disable ROM BASIC interpreter fallback = False R/W (0b0) DISABLE_SDIO_HOST (BLOCK0) = False R/W (0b0) DISABLE_DL_CACHE (BLOCK0) Disable flash cache in UART bootloader = False R/W (0b0) Flash fuses: FLASH_CRYPT_CNT (BLOCK0) Flash encryption is enabled if this field has an o = 0 R/W (0b0000000) dd number of bits set FLASH_CRYPT_CONFIG (BLOCK0) Flash encryption config (key tweak bits) = 0 R/W (0x0) Identity fuses: CHIP_PACKAGE_4BIT (BLOCK0) Chip package identifier #4bit = False R/W (0b0) CHIP_PACKAGE (BLOCK0) Chip package identifier = 0 R/W (0b000) CHIP_VER_REV1 (BLOCK0) bit is set to 1 for rev1 silicon = True R/W (0b1) CHIP_VER_REV2 (BLOCK0) = True R/W (0b1) WAFER_VERSION_MINOR (BLOCK0) = 0 R/W (0b00) WAFER_VERSION_MAJOR (BLOCK0) calc WAFER VERSION MAJOR from CHIP_VER_REV1 and CH = 3 R/W (0b011) IP_VER_REV2 and apb_ctl_date (read only) PKG_VERSION (BLOCK0) calc Chip package = CHIP_PACKAGE_4BIT << 3 + CHIP_ = 0 R/W (0x0) PACKAGE (read only) Jtag fuses: JTAG_DISABLE (BLOCK0) Disable JTAG = False R/W (0b0) Mac fuses: MAC (BLOCK0) MAC address = 00:00:00:00:00:00 (CRC 0x00 OK) R/W MAC_CRC (BLOCK0) CRC8 for MAC address = 0 R/W (0x00) MAC_VERSION (BLOCK3) Version of the MAC field = 0 R/W (0x00) CUSTOM_MAC_CRC (BLOCK3) CRC8 for custom MAC address = 23 R/W (0x17) CUSTOM_MAC (BLOCK3) Custom MAC address = 01:01:00:01:00:00 (CRC 0x17 invalid - calculated 0x51) R/W Security fuses: UART_DOWNLOAD_DIS (BLOCK0) Disable UART download mode. Valid for ESP32 V3 and = False R/W (0b0) newer; only 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) 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) KEY_STATUS (BLOCK0) Usage of efuse block 3 (reserved) = False R/W (0b0) SECURE_VERSION (BLOCK3) Secure version for anti-rollback = 1 R/W (0x00000001) 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 00 00 00 00 00 00 00 00 R/W BLOCK2 (BLOCK2) Security 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 00 00 00 00 00 00 00 00 R/W BLOCK3 (BLOCK3) Variable Block 3 = 17 01 01 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 80 R/W Spi Pad fuses: SPI_PAD_CONFIG_HD (BLOCK0) read for SPI_pad_config_hd = 0 R/W (0b00000) 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_CS0 (BLOCK0) Override SD_CMD pad (GPIO11/SPICS0) = 0 R/W (0b00000) Vdd fuses: XPD_SDIO_REG (BLOCK0) read for XPD_SDIO_REG = False R/W (0b0) XPD_SDIO_TIEH (BLOCK0) If XPD_SDIO_FORCE & XPD_SDIO_REG = 1.8V R/W (0b0) XPD_SDIO_FORCE (BLOCK0) Ignore MTDI pin (GPIO12) for VDD_SDIO on reset = False R/W (0b0) Flash voltage (VDD_SDIO) determined by GPIO12 on reset (High for 1.8V, Low/NC for 3.3V) PASSED test/test_espefuse.py::TestByteOrderBurnKeyCommand::test_1_secure_boot_v1 Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpy8ytzqs6 -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpy8ytzqs6 -d --do-not-confirm burn-key flash_encryption /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/256bit secure_boot_v1 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/256bit_1 --no-protect-key espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-key" command === Burn keys to blocks: - BLOCK1 -> Reversing the byte order... - BLOCK2 -> Reversing the byte order... Key is left unprotected as per --no-protect-key argument. Burn keys in eFuse blocks. The key block will be left readable and writeable (due to --no-protect-key). Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 nothing to burn [01] BLOCK1 is empty, will burn the new value [02] BLOCK2 is empty, will burn the new value [03] BLOCK3 nothing to burn . This is an irreversible operation! BLOCK2 (secure_boot_v1 s) [2 ] to_write: bcbd11bf b8b9babb b4b5b6b7 b0b1b2b3 acadaeaf a8a9aaab a4a5a6a7 11a1a2a3 Write data to BLOCK2 Addr 3ff5a0b8, data= bcbd11bf Addr 3ff5a0bc, data= b8b9babb Addr 3ff5a0c0, data= b4b5b6b7 Addr 3ff5a0c4, data= b0b1b2b3 Addr 3ff5a0c8, data= acadaeaf Addr 3ff5a0cc, data= a8a9aaab Addr 3ff5a0d0, data= a4a5a6a7 Addr 3ff5a0d4, data= 11a1a2a3 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 11a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbd11bf BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: bcbd11bf b8b9babb b4b5b6b7 b0b1b2b3 acadaeaf a8a9aaab a4a5a6a7 11a1a2a3 BURN BLOCK2 - OK (write block == read block) BLOCK1 (flash_encryption) [1 ] to_write: bcbdbebf b8b9babb b4b5b6b7 b0b1b2b3 acadaeaf a8a9aaab a4a5a6a7 a0a1a2a3 Write data to BLOCK1 Addr 3ff5a098, data= bcbdbebf Addr 3ff5a09c, data= b8b9babb Addr 3ff5a0a0, data= b4b5b6b7 Addr 3ff5a0a4, data= b0b1b2b3 Addr 3ff5a0a8, data= acadaeaf Addr 3ff5a0ac, data= a8a9aaab Addr 3ff5a0b0, data= a4a5a6a7 Addr 3ff5a0b4, data= a0a1a2a3 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 a0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebf BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK1 (flash_encryption) [1 ] read_regs: bcbdbebf b8b9babb b4b5b6b7 b0b1b2b3 acadaeaf a8a9aaab a4a5a6a7 a0a1a2a3 BURN BLOCK1 - OK (write block == read block) These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: bcbdbebf b8b9babb b4b5b6b7 b0b1b2b3 acadaeaf a8a9aaab a4a5a6a7 a0a1a2a3 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: bcbd11bf b8b9babb b4b5b6b7 b0b1b2b3 acadaeaf a8a9aaab a4a5a6a7 11a1a2a3 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpy8ytzqs6 -d --do-not-confirm -d summary espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: bcbdbebf b8b9babb b4b5b6b7 b0b1b2b3 acadaeaf a8a9aaab a4a5a6a7 a0a1a2a3 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: bcbd11bf b8b9babb b4b5b6b7 b0b1b2b3 acadaeaf a8a9aaab a4a5a6a7 11a1a2a3 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "summary" command === EFUSE_REG_DEC_STATUS 0x00000000 EFUSE_NAME (Block) Description = [Meaningful Value] [Readable/Writeable] (Hex Value) ---------------------------------------------------------------------------------------- Calibration fuses: ADC_VREF (BLOCK0) True ADC reference voltage = 1100 R/W (0b00000) Config fuses: WR_DIS (BLOCK0) Efuse write disable mask = 0 R/W (0x0000) RD_DIS (BLOCK0) Disable reading from BlOCK1-3 = 0 R/W (0x0) DISABLE_APP_CPU (BLOCK0) Disables APP CPU = False R/W (0b0) DISABLE_BT (BLOCK0) Disables Bluetooth = False R/W (0b0) DIS_CACHE (BLOCK0) Disables cache = False R/W (0b0) CHIP_CPU_FREQ_LOW (BLOCK0) If set alongside EFUSE_RD_CHIP_CPU_FREQ_RATED; the = False R/W (0b0) ESP32's max CPU frequency is rated for 160MHz. 24 0MHz otherwise CHIP_CPU_FREQ_RATED (BLOCK0) If set; the ESP32's maximum CPU frequency has been = False R/W (0b0) rated BLK3_PART_RESERVE (BLOCK0) BLOCK3 partially served for ADC calibration data = False R/W (0b0) CLK8M_FREQ (BLOCK0) 8MHz clock freq override = 0 R/W (0x00) VOL_LEVEL_HP_INV (BLOCK0) This field stores the voltage level for CPU to run = 0 R/W (0b00) at 240 MHz; or for flash/PSRAM to run at 80 MHz.0 x0: level 7; 0x1: level 6; 0x2: level 5; 0x3: leve l 4. (RO) CODING_SCHEME (BLOCK0) Efuse variable block length scheme = NONE (BLK1-3 len=256 bits) R/W (0b00) CONSOLE_DEBUG_DISABLE (BLOCK0) Disable ROM BASIC interpreter fallback = False R/W (0b0) DISABLE_SDIO_HOST (BLOCK0) = False R/W (0b0) DISABLE_DL_CACHE (BLOCK0) Disable flash cache in UART bootloader = False R/W (0b0) Flash fuses: FLASH_CRYPT_CNT (BLOCK0) Flash encryption is enabled if this field has an o = 0 R/W (0b0000000) dd number of bits set FLASH_CRYPT_CONFIG (BLOCK0) Flash encryption config (key tweak bits) = 0 R/W (0x0) Identity fuses: CHIP_PACKAGE_4BIT (BLOCK0) Chip package identifier #4bit = False R/W (0b0) CHIP_PACKAGE (BLOCK0) Chip package identifier = 0 R/W (0b000) CHIP_VER_REV1 (BLOCK0) bit is set to 1 for rev1 silicon = True R/W (0b1) CHIP_VER_REV2 (BLOCK0) = True R/W (0b1) WAFER_VERSION_MINOR (BLOCK0) = 0 R/W (0b00) WAFER_VERSION_MAJOR (BLOCK0) calc WAFER VERSION MAJOR from CHIP_VER_REV1 and CH = 3 R/W (0b011) IP_VER_REV2 and apb_ctl_date (read only) PKG_VERSION (BLOCK0) calc Chip package = CHIP_PACKAGE_4BIT << 3 + CHIP_ = 0 R/W (0x0) PACKAGE (read only) Jtag fuses: JTAG_DISABLE (BLOCK0) Disable JTAG = False R/W (0b0) Mac fuses: MAC (BLOCK0) MAC address = 00:00:00:00:00:00 (CRC 0x00 OK) R/W MAC_CRC (BLOCK0) CRC8 for MAC address = 0 R/W (0x00) MAC_VERSION (BLOCK3) Version of the MAC field = 0 R/W (0x00) CUSTOM_MAC_CRC (BLOCK3) CRC8 for custom MAC address = 0 R/W (0x00) CUSTOM_MAC (BLOCK3) Custom MAC address = 00:00:00:00:00:00 (CRC 0x00 OK) R/W Security fuses: UART_DOWNLOAD_DIS (BLOCK0) Disable UART download mode. Valid for ESP32 V3 and = False R/W (0b0) newer; only 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) 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) KEY_STATUS (BLOCK0) Usage of efuse block 3 (reserved) = False R/W (0b0) SECURE_VERSION (BLOCK3) Secure version for anti-rollback = 0 R/W (0x00000000) BLOCK1 (BLOCK1) Flash encryption key = bf be bd bc bb ba b9 b8 b7 b6 b5 b4 b3 b2 b1 b0 af ae ad ac ab aa a9 a8 a7 a6 a5 a4 a3 a2 a1 a0 R/W BLOCK2 (BLOCK2) Security boot key = bf 11 bd bc bb ba b9 b8 b7 b6 b5 b4 b3 b2 b1 b0 af ae ad ac ab aa a9 a8 a7 a6 a5 a4 a3 a2 a1 11 R/W BLOCK3 (BLOCK3) Variable Block 3 = 00 00 00 00 00 00 00 00 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 Spi Pad fuses: SPI_PAD_CONFIG_HD (BLOCK0) read for SPI_pad_config_hd = 0 R/W (0b00000) 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_CS0 (BLOCK0) Override SD_CMD pad (GPIO11/SPICS0) = 0 R/W (0b00000) Vdd fuses: XPD_SDIO_REG (BLOCK0) read for XPD_SDIO_REG = False R/W (0b0) XPD_SDIO_TIEH (BLOCK0) If XPD_SDIO_FORCE & XPD_SDIO_REG = 1.8V R/W (0b0) XPD_SDIO_FORCE (BLOCK0) Ignore MTDI pin (GPIO12) for VDD_SDIO on reset = False R/W (0b0) Flash voltage (VDD_SDIO) determined by GPIO12 on reset (High for 1.8V, Low/NC for 3.3V) Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpy8ytzqs6 -d --do-not-confirm burn-key flash_encryption /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/256bit secure_boot_v1 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/256bit_1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: bcbdbebf b8b9babb b4b5b6b7 b0b1b2b3 acadaeaf a8a9aaab a4a5a6a7 a0a1a2a3 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: bcbd11bf b8b9babb b4b5b6b7 b0b1b2b3 acadaeaf a8a9aaab a4a5a6a7 11a1a2a3 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-key" command === Burn keys to blocks: - BLOCK1 -> Reversing the byte order... The same value for BLOCK1 is already burned. Do not change the eFuse. Disabling read to key block... Disabling write to key block... - BLOCK2 -> Reversing the byte order... The same value for BLOCK2 is already burned. Do not change the eFuse. Disabling read to key block... Disabling write to key block... Burn keys in eFuse blocks. The key block will be read and write protected (no further changes or readback). Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is not empty (written ): 0x00000000001000000000000000008000000000000000000000000000 (to write): 0x00000000000000000000000000000000000000000000000000030180 (coding scheme = NONE) [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0180'), 'RD_DIS': BitStream('0x3'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } Burn postponed eFuses from BLOCK0. BLOCK0 ( ) [0 ] to_write: 00030180 00000000 00000000 00000000 00000000 00000000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 30180 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 0 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 0 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000030180 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00030180 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (all write block bits are set) Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00030180 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpy8ytzqs6 -d --do-not-confirm -d summary espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00030180 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "summary" command === EFUSE_REG_DEC_STATUS 0x00000000 EFUSE_NAME (Block) Description = [Meaningful Value] [Readable/Writeable] (Hex Value) ---------------------------------------------------------------------------------------- Calibration fuses: ADC_VREF (BLOCK0) True ADC reference voltage = 1100 R/W (0b00000) Config fuses: WR_DIS (BLOCK0) Efuse write disable mask = 384 R/W (0x0180) RD_DIS (BLOCK0) Disable reading from BlOCK1-3 = 3 R/W (0x3) DISABLE_APP_CPU (BLOCK0) Disables APP CPU = False R/W (0b0) DISABLE_BT (BLOCK0) Disables Bluetooth = False R/W (0b0) DIS_CACHE (BLOCK0) Disables cache = False R/W (0b0) CHIP_CPU_FREQ_LOW (BLOCK0) If set alongside EFUSE_RD_CHIP_CPU_FREQ_RATED; the = False R/W (0b0) ESP32's max CPU frequency is rated for 160MHz. 24 0MHz otherwise CHIP_CPU_FREQ_RATED (BLOCK0) If set; the ESP32's maximum CPU frequency has been = False R/W (0b0) rated BLK3_PART_RESERVE (BLOCK0) BLOCK3 partially served for ADC calibration data = False R/W (0b0) CLK8M_FREQ (BLOCK0) 8MHz clock freq override = 0 R/W (0x00) VOL_LEVEL_HP_INV (BLOCK0) This field stores the voltage level for CPU to run = 0 R/W (0b00) at 240 MHz; or for flash/PSRAM to run at 80 MHz.0 x0: level 7; 0x1: level 6; 0x2: level 5; 0x3: leve l 4. (RO) CODING_SCHEME (BLOCK0) Efuse variable block length scheme = NONE (BLK1-3 len=256 bits) R/W (0b00) CONSOLE_DEBUG_DISABLE (BLOCK0) Disable ROM BASIC interpreter fallback = False R/W (0b0) DISABLE_SDIO_HOST (BLOCK0) = False R/W (0b0) DISABLE_DL_CACHE (BLOCK0) Disable flash cache in UART bootloader = False R/W (0b0) Flash fuses: FLASH_CRYPT_CNT (BLOCK0) Flash encryption is enabled if this field has an o = 0 R/W (0b0000000) dd number of bits set FLASH_CRYPT_CONFIG (BLOCK0) Flash encryption config (key tweak bits) = 0 R/W (0x0) Identity fuses: CHIP_PACKAGE_4BIT (BLOCK0) Chip package identifier #4bit = False R/W (0b0) CHIP_PACKAGE (BLOCK0) Chip package identifier = 0 R/W (0b000) CHIP_VER_REV1 (BLOCK0) bit is set to 1 for rev1 silicon = True R/W (0b1) CHIP_VER_REV2 (BLOCK0) = True R/W (0b1) WAFER_VERSION_MINOR (BLOCK0) = 0 R/W (0b00) WAFER_VERSION_MAJOR (BLOCK0) calc WAFER VERSION MAJOR from CHIP_VER_REV1 and CH = 3 R/W (0b011) IP_VER_REV2 and apb_ctl_date (read only) PKG_VERSION (BLOCK0) calc Chip package = CHIP_PACKAGE_4BIT << 3 + CHIP_ = 0 R/W (0x0) PACKAGE (read only) Jtag fuses: JTAG_DISABLE (BLOCK0) Disable JTAG = False R/W (0b0) Mac fuses: MAC (BLOCK0) MAC address = 00:00:00:00:00:00 (CRC 0x00 OK) R/W MAC_CRC (BLOCK0) CRC8 for MAC address = 0 R/W (0x00) MAC_VERSION (BLOCK3) Version of the MAC field = 0 R/W (0x00) CUSTOM_MAC_CRC (BLOCK3) CRC8 for custom MAC address = 0 R/W (0x00) CUSTOM_MAC (BLOCK3) Custom MAC address = 00:00:00:00:00:00 (CRC 0x00 OK) R/W Security fuses: UART_DOWNLOAD_DIS (BLOCK0) Disable UART download mode. Valid for ESP32 V3 and = False R/W (0b0) newer; only 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) 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) KEY_STATUS (BLOCK0) Usage of efuse block 3 (reserved) = False R/W (0b0) SECURE_VERSION (BLOCK3) Secure version for anti-rollback = 0 R/W (0x00000000) BLOCK1 (BLOCK1) Flash encryption key = ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? -/- BLOCK2 (BLOCK2) Security boot key = ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? -/- BLOCK3 (BLOCK3) Variable Block 3 = 00 00 00 00 00 00 00 00 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 Spi Pad fuses: SPI_PAD_CONFIG_HD (BLOCK0) read for SPI_pad_config_hd = 0 R/W (0b00000) 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_CS0 (BLOCK0) Override SD_CMD pad (GPIO11/SPICS0) = 0 R/W (0b00000) Vdd fuses: XPD_SDIO_REG (BLOCK0) read for XPD_SDIO_REG = False R/W (0b0) XPD_SDIO_TIEH (BLOCK0) If XPD_SDIO_FORCE & XPD_SDIO_REG = 1.8V R/W (0b0) XPD_SDIO_FORCE (BLOCK0) Ignore MTDI pin (GPIO12) for VDD_SDIO on reset = False R/W (0b0) Flash voltage (VDD_SDIO) determined by GPIO12 on reset (High for 1.8V, Low/NC for 3.3V) PASSED test/test_espefuse.py::TestByteOrderBurnKeyCommand::test_2_secure_boot_v1 Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpyyqwytus -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpyyqwytus -d --do-not-confirm burn-key flash_encryption /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/256bit secure_boot_v2 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/256bit_1 --no-protect-key espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-key" command === Burn keys to blocks: - BLOCK1 -> Reversing the byte order... - BLOCK2 -> [11 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd 11 bf] Key is left unprotected as per --no-protect-key argument. Burn keys in eFuse blocks. The key block will be left readable and writeable (due to --no-protect-key). Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 nothing to burn [01] BLOCK1 is empty, will burn the new value [02] BLOCK2 is empty, will burn the new value [03] BLOCK3 nothing to burn . This is an irreversible operation! BLOCK2 (secure_boot_v1 s) [2 ] to_write: a3a2a111 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bf11bdbc Write data to BLOCK2 Addr 3ff5a0b8, data= a3a2a111 Addr 3ff5a0bc, data= a7a6a5a4 Addr 3ff5a0c0, data= abaaa9a8 Addr 3ff5a0c4, data= afaeadac Addr 3ff5a0c8, data= b3b2b1b0 Addr 3ff5a0cc, data= b7b6b5b4 Addr 3ff5a0d0, data= bbbab9b8 Addr 3ff5a0d4, data= bf11bdbc BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 bf11bdbcbbbab9b8b7b6b5b4b3b2b1b0afaeadacabaaa9a8a7a6a5a4a3a2a111 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: a3a2a111 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bf11bdbc BURN BLOCK2 - OK (write block == read block) BLOCK1 (flash_encryption) [1 ] to_write: bcbdbebf b8b9babb b4b5b6b7 b0b1b2b3 acadaeaf a8a9aaab a4a5a6a7 a0a1a2a3 Write data to BLOCK1 Addr 3ff5a098, data= bcbdbebf Addr 3ff5a09c, data= b8b9babb Addr 3ff5a0a0, data= b4b5b6b7 Addr 3ff5a0a4, data= b0b1b2b3 Addr 3ff5a0a8, data= acadaeaf Addr 3ff5a0ac, data= a8a9aaab Addr 3ff5a0b0, data= a4a5a6a7 Addr 3ff5a0b4, data= a0a1a2a3 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 a0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebf BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK1 (flash_encryption) [1 ] read_regs: bcbdbebf b8b9babb b4b5b6b7 b0b1b2b3 acadaeaf a8a9aaab a4a5a6a7 a0a1a2a3 BURN BLOCK1 - OK (write block == read block) These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: bcbdbebf b8b9babb b4b5b6b7 b0b1b2b3 acadaeaf a8a9aaab a4a5a6a7 a0a1a2a3 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: a3a2a111 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bf11bdbc BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpyyqwytus -d --do-not-confirm -d summary espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: bcbdbebf b8b9babb b4b5b6b7 b0b1b2b3 acadaeaf a8a9aaab a4a5a6a7 a0a1a2a3 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: a3a2a111 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bf11bdbc BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "summary" command === EFUSE_REG_DEC_STATUS 0x00000000 EFUSE_NAME (Block) Description = [Meaningful Value] [Readable/Writeable] (Hex Value) ---------------------------------------------------------------------------------------- Calibration fuses: ADC_VREF (BLOCK0) True ADC reference voltage = 1100 R/W (0b00000) Config fuses: WR_DIS (BLOCK0) Efuse write disable mask = 0 R/W (0x0000) RD_DIS (BLOCK0) Disable reading from BlOCK1-3 = 0 R/W (0x0) DISABLE_APP_CPU (BLOCK0) Disables APP CPU = False R/W (0b0) DISABLE_BT (BLOCK0) Disables Bluetooth = False R/W (0b0) DIS_CACHE (BLOCK0) Disables cache = False R/W (0b0) CHIP_CPU_FREQ_LOW (BLOCK0) If set alongside EFUSE_RD_CHIP_CPU_FREQ_RATED; the = False R/W (0b0) ESP32's max CPU frequency is rated for 160MHz. 24 0MHz otherwise CHIP_CPU_FREQ_RATED (BLOCK0) If set; the ESP32's maximum CPU frequency has been = False R/W (0b0) rated BLK3_PART_RESERVE (BLOCK0) BLOCK3 partially served for ADC calibration data = False R/W (0b0) CLK8M_FREQ (BLOCK0) 8MHz clock freq override = 0 R/W (0x00) VOL_LEVEL_HP_INV (BLOCK0) This field stores the voltage level for CPU to run = 0 R/W (0b00) at 240 MHz; or for flash/PSRAM to run at 80 MHz.0 x0: level 7; 0x1: level 6; 0x2: level 5; 0x3: leve l 4. (RO) CODING_SCHEME (BLOCK0) Efuse variable block length scheme = NONE (BLK1-3 len=256 bits) R/W (0b00) CONSOLE_DEBUG_DISABLE (BLOCK0) Disable ROM BASIC interpreter fallback = False R/W (0b0) DISABLE_SDIO_HOST (BLOCK0) = False R/W (0b0) DISABLE_DL_CACHE (BLOCK0) Disable flash cache in UART bootloader = False R/W (0b0) Flash fuses: FLASH_CRYPT_CNT (BLOCK0) Flash encryption is enabled if this field has an o = 0 R/W (0b0000000) dd number of bits set FLASH_CRYPT_CONFIG (BLOCK0) Flash encryption config (key tweak bits) = 0 R/W (0x0) Identity fuses: CHIP_PACKAGE_4BIT (BLOCK0) Chip package identifier #4bit = False R/W (0b0) CHIP_PACKAGE (BLOCK0) Chip package identifier = 0 R/W (0b000) CHIP_VER_REV1 (BLOCK0) bit is set to 1 for rev1 silicon = True R/W (0b1) CHIP_VER_REV2 (BLOCK0) = True R/W (0b1) WAFER_VERSION_MINOR (BLOCK0) = 0 R/W (0b00) WAFER_VERSION_MAJOR (BLOCK0) calc WAFER VERSION MAJOR from CHIP_VER_REV1 and CH = 3 R/W (0b011) IP_VER_REV2 and apb_ctl_date (read only) PKG_VERSION (BLOCK0) calc Chip package = CHIP_PACKAGE_4BIT << 3 + CHIP_ = 0 R/W (0x0) PACKAGE (read only) Jtag fuses: JTAG_DISABLE (BLOCK0) Disable JTAG = False R/W (0b0) Mac fuses: MAC (BLOCK0) MAC address = 00:00:00:00:00:00 (CRC 0x00 OK) R/W MAC_CRC (BLOCK0) CRC8 for MAC address = 0 R/W (0x00) MAC_VERSION (BLOCK3) Version of the MAC field = 0 R/W (0x00) CUSTOM_MAC_CRC (BLOCK3) CRC8 for custom MAC address = 0 R/W (0x00) CUSTOM_MAC (BLOCK3) Custom MAC address = 00:00:00:00:00:00 (CRC 0x00 OK) R/W Security fuses: UART_DOWNLOAD_DIS (BLOCK0) Disable UART download mode. Valid for ESP32 V3 and = False R/W (0b0) newer; only 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) 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) KEY_STATUS (BLOCK0) Usage of efuse block 3 (reserved) = False R/W (0b0) SECURE_VERSION (BLOCK3) Secure version for anti-rollback = 0 R/W (0x00000000) BLOCK1 (BLOCK1) Flash encryption key = bf be bd bc bb ba b9 b8 b7 b6 b5 b4 b3 b2 b1 b0 af ae ad ac ab aa a9 a8 a7 a6 a5 a4 a3 a2 a1 a0 R/W BLOCK2 (BLOCK2) Security boot key = 11 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd 11 bf R/W BLOCK3 (BLOCK3) Variable Block 3 = 00 00 00 00 00 00 00 00 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 Spi Pad fuses: SPI_PAD_CONFIG_HD (BLOCK0) read for SPI_pad_config_hd = 0 R/W (0b00000) 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_CS0 (BLOCK0) Override SD_CMD pad (GPIO11/SPICS0) = 0 R/W (0b00000) Vdd fuses: XPD_SDIO_REG (BLOCK0) read for XPD_SDIO_REG = False R/W (0b0) XPD_SDIO_TIEH (BLOCK0) If XPD_SDIO_FORCE & XPD_SDIO_REG = 1.8V R/W (0b0) XPD_SDIO_FORCE (BLOCK0) Ignore MTDI pin (GPIO12) for VDD_SDIO on reset = False R/W (0b0) Flash voltage (VDD_SDIO) determined by GPIO12 on reset (High for 1.8V, Low/NC for 3.3V) Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpyyqwytus -d --do-not-confirm burn-key flash_encryption /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/256bit secure_boot_v2 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/256bit_1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: bcbdbebf b8b9babb b4b5b6b7 b0b1b2b3 acadaeaf a8a9aaab a4a5a6a7 a0a1a2a3 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: a3a2a111 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bf11bdbc BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-key" command === Burn keys to blocks: - BLOCK1 -> Reversing the byte order... The same value for BLOCK1 is already burned. Do not change the eFuse. Disabling read to key block... Disabling write to key block... - BLOCK2 -> [11 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd 11 bf] The same value for BLOCK2 is already burned. Do not change the eFuse. Disabling write to key block... Burn keys in eFuse blocks. The key block will be read and write protected (no further changes or readback). Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is not empty (written ): 0x00000000001000000000000000008000000000000000000000000000 (to write): 0x00000000000000000000000000000000000000000000000000010180 (coding scheme = NONE) [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0180'), 'RD_DIS': BitStream('0x1'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } Burn postponed eFuses from BLOCK0. BLOCK0 ( ) [0 ] to_write: 00010180 00000000 00000000 00000000 00000000 00000000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 10180 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 0 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 0 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000010180 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00010180 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (all write block bits are set) Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00010180 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: a3a2a111 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bf11bdbc BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpyyqwytus -d --do-not-confirm -d summary espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00010180 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: a3a2a111 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bf11bdbc BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "summary" command === EFUSE_REG_DEC_STATUS 0x00000000 EFUSE_NAME (Block) Description = [Meaningful Value] [Readable/Writeable] (Hex Value) ---------------------------------------------------------------------------------------- Calibration fuses: ADC_VREF (BLOCK0) True ADC reference voltage = 1100 R/W (0b00000) Config fuses: WR_DIS (BLOCK0) Efuse write disable mask = 384 R/W (0x0180) RD_DIS (BLOCK0) Disable reading from BlOCK1-3 = 1 R/W (0x1) DISABLE_APP_CPU (BLOCK0) Disables APP CPU = False R/W (0b0) DISABLE_BT (BLOCK0) Disables Bluetooth = False R/W (0b0) DIS_CACHE (BLOCK0) Disables cache = False R/W (0b0) CHIP_CPU_FREQ_LOW (BLOCK0) If set alongside EFUSE_RD_CHIP_CPU_FREQ_RATED; the = False R/W (0b0) ESP32's max CPU frequency is rated for 160MHz. 24 0MHz otherwise CHIP_CPU_FREQ_RATED (BLOCK0) If set; the ESP32's maximum CPU frequency has been = False R/W (0b0) rated BLK3_PART_RESERVE (BLOCK0) BLOCK3 partially served for ADC calibration data = False R/W (0b0) CLK8M_FREQ (BLOCK0) 8MHz clock freq override = 0 R/W (0x00) VOL_LEVEL_HP_INV (BLOCK0) This field stores the voltage level for CPU to run = 0 R/W (0b00) at 240 MHz; or for flash/PSRAM to run at 80 MHz.0 x0: level 7; 0x1: level 6; 0x2: level 5; 0x3: leve l 4. (RO) CODING_SCHEME (BLOCK0) Efuse variable block length scheme = NONE (BLK1-3 len=256 bits) R/W (0b00) CONSOLE_DEBUG_DISABLE (BLOCK0) Disable ROM BASIC interpreter fallback = False R/W (0b0) DISABLE_SDIO_HOST (BLOCK0) = False R/W (0b0) DISABLE_DL_CACHE (BLOCK0) Disable flash cache in UART bootloader = False R/W (0b0) Flash fuses: FLASH_CRYPT_CNT (BLOCK0) Flash encryption is enabled if this field has an o = 0 R/W (0b0000000) dd number of bits set FLASH_CRYPT_CONFIG (BLOCK0) Flash encryption config (key tweak bits) = 0 R/W (0x0) Identity fuses: CHIP_PACKAGE_4BIT (BLOCK0) Chip package identifier #4bit = False R/W (0b0) CHIP_PACKAGE (BLOCK0) Chip package identifier = 0 R/W (0b000) CHIP_VER_REV1 (BLOCK0) bit is set to 1 for rev1 silicon = True R/W (0b1) CHIP_VER_REV2 (BLOCK0) = True R/W (0b1) WAFER_VERSION_MINOR (BLOCK0) = 0 R/W (0b00) WAFER_VERSION_MAJOR (BLOCK0) calc WAFER VERSION MAJOR from CHIP_VER_REV1 and CH = 3 R/W (0b011) IP_VER_REV2 and apb_ctl_date (read only) PKG_VERSION (BLOCK0) calc Chip package = CHIP_PACKAGE_4BIT << 3 + CHIP_ = 0 R/W (0x0) PACKAGE (read only) Jtag fuses: JTAG_DISABLE (BLOCK0) Disable JTAG = False R/W (0b0) Mac fuses: MAC (BLOCK0) MAC address = 00:00:00:00:00:00 (CRC 0x00 OK) R/W MAC_CRC (BLOCK0) CRC8 for MAC address = 0 R/W (0x00) MAC_VERSION (BLOCK3) Version of the MAC field = 0 R/W (0x00) CUSTOM_MAC_CRC (BLOCK3) CRC8 for custom MAC address = 0 R/W (0x00) CUSTOM_MAC (BLOCK3) Custom MAC address = 00:00:00:00:00:00 (CRC 0x00 OK) R/W Security fuses: UART_DOWNLOAD_DIS (BLOCK0) Disable UART download mode. Valid for ESP32 V3 and = False R/W (0b0) newer; only 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) 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) KEY_STATUS (BLOCK0) Usage of efuse block 3 (reserved) = False R/W (0b0) SECURE_VERSION (BLOCK3) Secure version for anti-rollback = 0 R/W (0x00000000) BLOCK1 (BLOCK1) Flash encryption key = ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? -/- BLOCK2 (BLOCK2) Security boot key = 11 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd 11 bf R/- BLOCK3 (BLOCK3) Variable Block 3 = 00 00 00 00 00 00 00 00 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 Spi Pad fuses: SPI_PAD_CONFIG_HD (BLOCK0) read for SPI_pad_config_hd = 0 R/W (0b00000) 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_CS0 (BLOCK0) Override SD_CMD pad (GPIO11/SPICS0) = 0 R/W (0b00000) Vdd fuses: XPD_SDIO_REG (BLOCK0) read for XPD_SDIO_REG = False R/W (0b0) XPD_SDIO_TIEH (BLOCK0) If XPD_SDIO_FORCE & XPD_SDIO_REG = 1.8V R/W (0b0) XPD_SDIO_FORCE (BLOCK0) Ignore MTDI pin (GPIO12) for VDD_SDIO on reset = False R/W (0b0) Flash voltage (VDD_SDIO) determined by GPIO12 on reset (High for 1.8V, Low/NC for 3.3V) PASSED test/test_espefuse.py::TestPublicAPI::test_public_api_summary_json_to_file Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp5ng9ss35 -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 Saving eFuse values to /tmp/tmpmlpi4s1x Done PASSED test/test_espefuse.py::TestPublicAPI::test_public_api_batch_mode Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmphudw_59y -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 The eFuses to burn: from BLOCK0 - JTAG_DISABLE - DISABLE_SDIO_HOST - CONSOLE_DEBUG_DISABLE Burning eFuses: - 'JTAG_DISABLE' (Disable JTAG) 0b0 -> 0b1 - 'DISABLE_SDIO_HOST' () 0b0 -> 0b1 - 'CONSOLE_DEBUG_DISABLE' (Disable ROM BASIC interpreter fallback) 0b0 -> 0b1 Batch mode is enabled, the burn will be done at the end of the command. Burn keys to blocks: - BLOCK1 -> [?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??] Reversing the byte order... Key is left unprotected as per --no-protect-key argument. Burn keys in eFuse blocks. The key block will be left readable and writeable (due to --no-protect-key). Batch mode is enabled, the burn will be done at the end of the command. - BLOCK2 -> [?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??] Disabling write to eFuse BLOCK2... Batch mode is enabled, the burn will be done at the end of the command. bit_number: [255]........................................................[0] BLOCK 3 : 0x0000000000000000000000000000000000000000040c41250000000000000000 BLOCK3 ( ) [3 ] regs_to_write: 00000000 00000000 040c4125 00000000 00000000 00000000 00000000 00000000 written : 0x0000000000000000000000000000000000000000000000000000000000000000 -> to write: 0x0000000000000000000000000000000000000000040c41250000000000000000 Batch mode is enabled, the burn will be done at the end of the command. - 'MAC_VERSION' (Version of the MAC field) 0x00 -> 0x1 - 'CUSTOM_MAC' (Custom MAC address) 0x000000000000 -> 0x332211efcdaa - 'CUSTOM_MAC_CRC' (CRC8 for custom MAC address) 0x00 -> 0x63 Batch mode is enabled, the burn will be done at the end of the command. Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is not empty (written ): 0x00000000001000000000000000008000000000000000000000000000 (to write): 0x0000004c000000000000000000000000000000000000000000000100 (coding scheme = NONE) [01] BLOCK1 is empty, will burn the new value [02] BLOCK2 is empty, will burn the new value [03] BLOCK3 is empty, will burn the new value . This is an irreversible operation! BLOCK3 ( ) [3 ] to_write: efcdaa63 00332211 040c4125 00000000 00000000 01000000 00000000 00000000 Write data to BLOCK3 Addr 3ff5a0d8, data= efcdaa63 Addr 3ff5a0dc, data= 332211 Addr 3ff5a0e0, data= 40c4125 Addr 3ff5a0e4, data= 0 Addr 3ff5a0e8, data= 0 Addr 3ff5a0ec, data= 1000000 Addr 3ff5a0f0, data= 0 Addr 3ff5a0f4, data= 0 BLOCK3 0000000000000000010000000000000000000000040c412500332211efcdaa63 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 ( ) [3 ] read_regs: efcdaa63 00332211 040c4125 00000000 00000000 01000000 00000000 00000000 BURN BLOCK3 - OK (write block == read block) BLOCK2 (secure_boot_v1 s) [2 ] to_write: a39127cb 32c0b071 0437f72b 6209ba78 1cab4c22 797828f2 3e6729e4 6344a87d Write data to BLOCK2 Addr 3ff5a0b8, data= a39127cb Addr 3ff5a0bc, data= 32c0b071 Addr 3ff5a0c0, data= 437f72b Addr 3ff5a0c4, data= 6209ba78 Addr 3ff5a0c8, data= 1cab4c22 Addr 3ff5a0cc, data= 797828f2 Addr 3ff5a0d0, data= 3e6729e4 Addr 3ff5a0d4, data= 6344a87d BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 6344a87d3e6729e4797828f21cab4c226209ba780437f72b32c0b071a39127cb BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: a39127cb 32c0b071 0437f72b 6209ba78 1cab4c22 797828f2 3e6729e4 6344a87d BURN BLOCK2 - OK (write block == read block) BLOCK1 (flash_encryption) [1 ] to_write: bcbdbebf b8b9babb b4b5b6b7 b0b1b2b3 acadaeaf a8a9aaab a4a5a6a7 a0a1a2a3 Write data to BLOCK1 Addr 3ff5a098, data= bcbdbebf Addr 3ff5a09c, data= b8b9babb Addr 3ff5a0a0, data= b4b5b6b7 Addr 3ff5a0a4, data= b0b1b2b3 Addr 3ff5a0a8, data= acadaeaf Addr 3ff5a0ac, data= a8a9aaab Addr 3ff5a0b0, data= a4a5a6a7 Addr 3ff5a0b4, data= a0a1a2a3 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 a0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebf BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK1 (flash_encryption) [1 ] read_regs: bcbdbebf b8b9babb b4b5b6b7 b0b1b2b3 acadaeaf a8a9aaab a4a5a6a7 a0a1a2a3 BURN BLOCK1 - OK (write block == read block) BLOCK0 ( ) [0 ] to_write: 00000100 00000000 00000000 00000000 00000000 00000000 0000004c Write data to BLOCK0 Addr 3ff5a01c, data= 100 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 0 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 0 Addr 3ff5a034, data= 4c BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 0000004c000000000000000000000000000000000000000000000100 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000100 00000000 00000000 00008000 00000000 00100000 0000004c BURN BLOCK0 - OK (all write block bits are set) Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000100 00000000 00000000 00008000 00000000 00100000 0000004c BLOCK1 (flash_encryption) [1 ] read_regs: bcbdbebf b8b9babb b4b5b6b7 b0b1b2b3 acadaeaf a8a9aaab a4a5a6a7 a0a1a2a3 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: a39127cb 32c0b071 0437f72b 6209ba78 1cab4c22 797828f2 3e6729e4 6344a87d BLOCK3 ( ) [3 ] read_regs: efcdaa63 00332211 040c4125 00000000 00000000 01000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 EFUSE_NAME (Block) Description = [Meaningful Value] [Readable/Writeable] (Hex Value) ---------------------------------------------------------------------------------------- Calibration fuses: ADC_VREF (BLOCK0) True ADC reference voltage = 1100 R/W (0b00000) Config fuses: WR_DIS (BLOCK0) Efuse write disable mask = 256 R/W (0x0100) RD_DIS (BLOCK0) Disable reading from BlOCK1-3 = 0 R/W (0x0) DISABLE_APP_CPU (BLOCK0) Disables APP CPU = False R/W (0b0) DISABLE_BT (BLOCK0) Disables Bluetooth = False R/W (0b0) DIS_CACHE (BLOCK0) Disables cache = False R/W (0b0) CHIP_CPU_FREQ_LOW (BLOCK0) If set alongside EFUSE_RD_CHIP_CPU_FREQ_RATED; the = False R/W (0b0) ESP32's max CPU frequency is rated for 160MHz. 24 0MHz otherwise CHIP_CPU_FREQ_RATED (BLOCK0) If set; the ESP32's maximum CPU frequency has been = False R/W (0b0) rated BLK3_PART_RESERVE (BLOCK0) BLOCK3 partially served for ADC calibration data = False R/W (0b0) CLK8M_FREQ (BLOCK0) 8MHz clock freq override = 0 R/W (0x00) VOL_LEVEL_HP_INV (BLOCK0) This field stores the voltage level for CPU to run = 0 R/W (0b00) at 240 MHz; or for flash/PSRAM to run at 80 MHz.0 x0: level 7; 0x1: level 6; 0x2: level 5; 0x3: leve l 4. (RO) CODING_SCHEME (BLOCK0) Efuse variable block length scheme = NONE (BLK1-3 len=256 bits) R/W (0b00) CONSOLE_DEBUG_DISABLE (BLOCK0) Disable ROM BASIC interpreter fallback = True R/W (0b1) DISABLE_SDIO_HOST (BLOCK0) = True R/W (0b1) DISABLE_DL_CACHE (BLOCK0) Disable flash cache in UART bootloader = False R/W (0b0) Flash fuses: FLASH_CRYPT_CNT (BLOCK0) Flash encryption is enabled if this field has an o = 0 R/W (0b0000000) dd number of bits set FLASH_CRYPT_CONFIG (BLOCK0) Flash encryption config (key tweak bits) = 0 R/W (0x0) Identity fuses: CHIP_PACKAGE_4BIT (BLOCK0) Chip package identifier #4bit = False R/W (0b0) CHIP_PACKAGE (BLOCK0) Chip package identifier = 0 R/W (0b000) CHIP_VER_REV1 (BLOCK0) bit is set to 1 for rev1 silicon = True R/W (0b1) CHIP_VER_REV2 (BLOCK0) = True R/W (0b1) WAFER_VERSION_MINOR (BLOCK0) = 0 R/W (0b00) WAFER_VERSION_MAJOR (BLOCK0) calc WAFER VERSION MAJOR from CHIP_VER_REV1 and CH = 3 R/W (0b011) IP_VER_REV2 and apb_ctl_date (read only) PKG_VERSION (BLOCK0) calc Chip package = CHIP_PACKAGE_4BIT << 3 + CHIP_ = 0 R/W (0x0) PACKAGE (read only) Jtag fuses: JTAG_DISABLE (BLOCK0) Disable JTAG = True R/W (0b1) Mac fuses: MAC (BLOCK0) MAC address = 00:00:00:00:00:00 (CRC 0x00 OK) R/W MAC_CRC (BLOCK0) CRC8 for MAC address = 0 R/W (0x00) MAC_VERSION (BLOCK3) Version of the MAC field = Custom MAC in BLOCK3 R/W (0x01) CUSTOM_MAC_CRC (BLOCK3) CRC8 for custom MAC address = 99 R/W (0x63) CUSTOM_MAC (BLOCK3) Custom MAC address = aa:cd:ef:11:22:33 (CRC 0x63 OK) R/W Security fuses: UART_DOWNLOAD_DIS (BLOCK0) Disable UART download mode. Valid for ESP32 V3 and = False R/W (0b0) newer; only 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) 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) KEY_STATUS (BLOCK0) Usage of efuse block 3 (reserved) = False R/W (0b0) SECURE_VERSION (BLOCK3) Secure version for anti-rollback = 0 R/W (0x00000000) BLOCK1 (BLOCK1) Flash encryption key = bf be bd bc bb ba b9 b8 b7 b6 b5 b4 b3 b2 b1 b0 af ae ad ac ab aa a9 a8 a7 a6 a5 a4 a3 a2 a1 a0 R/W BLOCK2 (BLOCK2) Security boot key = cb 27 91 a3 71 b0 c0 32 2b f7 37 04 78 ba 09 62 22 4c ab 1c f2 28 78 79 e4 29 67 3e 7d a8 44 63 R/- BLOCK3 (BLOCK3) Variable Block 3 = 63 aa cd ef 11 22 33 00 25 41 0c 04 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 R/W Spi Pad fuses: SPI_PAD_CONFIG_HD (BLOCK0) read for SPI_pad_config_hd = 0 R/W (0b00000) 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_CS0 (BLOCK0) Override SD_CMD pad (GPIO11/SPICS0) = 0 R/W (0b00000) Vdd fuses: XPD_SDIO_REG (BLOCK0) read for XPD_SDIO_REG = False R/W (0b0) XPD_SDIO_TIEH (BLOCK0) If XPD_SDIO_FORCE & XPD_SDIO_REG = 1.8V R/W (0b0) XPD_SDIO_FORCE (BLOCK0) Ignore MTDI pin (GPIO12) for VDD_SDIO on reset = False R/W (0b0) Flash voltage (VDD_SDIO) determined by GPIO12 on reset (High for 1.8V, Low/NC for 3.3V) PASSED test/test_espefuse.py::TestPublicAPI::test_public_api_nesting Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp7gf0lyli -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 The eFuses to burn: from BLOCK0 - WR_DIS - RD_DIS Burning eFuses: - 'WR_DIS' (Efuse write disable mask) 0x0000 -> 0x0002 - 'RD_DIS' (Disable reading from BlOCK1-3) 0x0 -> 0x1 Batch mode is enabled, the burn will be done at the end of the command. - 'MAC_VERSION' (Version of the MAC field) 0x00 -> 0x1 - 'CUSTOM_MAC' (Custom MAC address) 0x000000000000 -> 0x332211efcdaa - 'CUSTOM_MAC_CRC' (CRC8 for custom MAC address) 0x00 -> 0x63 Batch mode is enabled, the burn will be done at the end of the command. Check all blocks for burn... idx, BLOCK_NAME, Conclusion [03] BLOCK3 is empty, will burn the new value . This is an irreversible operation! BLOCK3 00000000000000000100000000000000000000000000000000332211efcdaa63 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BURN BLOCK3 - OK (write block == read block) Reading updated eFuses... EFUSE_REG_DEC_STATUS 0x00000000 EFUSE_NAME (Block) Description = [Meaningful Value] [Readable/Writeable] (Hex Value) ---------------------------------------------------------------------------------------- Calibration fuses: ADC_VREF (BLOCK0) True ADC reference voltage = 1100 R/W (0b00000) Config fuses: WR_DIS (BLOCK0) Efuse write disable mask = 0 R/W (0x0000) RD_DIS (BLOCK0) Disable reading from BlOCK1-3 = 0 R/W (0x0) DISABLE_APP_CPU (BLOCK0) Disables APP CPU = False R/W (0b0) DISABLE_BT (BLOCK0) Disables Bluetooth = False R/W (0b0) DIS_CACHE (BLOCK0) Disables cache = False R/W (0b0) CHIP_CPU_FREQ_LOW (BLOCK0) If set alongside EFUSE_RD_CHIP_CPU_FREQ_RATED; the = False R/W (0b0) ESP32's max CPU frequency is rated for 160MHz. 24 0MHz otherwise CHIP_CPU_FREQ_RATED (BLOCK0) If set; the ESP32's maximum CPU frequency has been = False R/W (0b0) rated BLK3_PART_RESERVE (BLOCK0) BLOCK3 partially served for ADC calibration data = False R/W (0b0) CLK8M_FREQ (BLOCK0) 8MHz clock freq override = 0 R/W (0x00) VOL_LEVEL_HP_INV (BLOCK0) This field stores the voltage level for CPU to run = 0 R/W (0b00) at 240 MHz; or for flash/PSRAM to run at 80 MHz.0 x0: level 7; 0x1: level 6; 0x2: level 5; 0x3: leve l 4. (RO) CODING_SCHEME (BLOCK0) Efuse variable block length scheme = NONE (BLK1-3 len=256 bits) R/W (0b00) CONSOLE_DEBUG_DISABLE (BLOCK0) Disable ROM BASIC interpreter fallback = False R/W (0b0) DISABLE_SDIO_HOST (BLOCK0) = False R/W (0b0) DISABLE_DL_CACHE (BLOCK0) Disable flash cache in UART bootloader = False R/W (0b0) Flash fuses: FLASH_CRYPT_CNT (BLOCK0) Flash encryption is enabled if this field has an o = 0 R/W (0b0000000) dd number of bits set FLASH_CRYPT_CONFIG (BLOCK0) Flash encryption config (key tweak bits) = 0 R/W (0x0) Identity fuses: CHIP_PACKAGE_4BIT (BLOCK0) Chip package identifier #4bit = False R/W (0b0) CHIP_PACKAGE (BLOCK0) Chip package identifier = 0 R/W (0b000) CHIP_VER_REV1 (BLOCK0) bit is set to 1 for rev1 silicon = True R/W (0b1) CHIP_VER_REV2 (BLOCK0) = True R/W (0b1) WAFER_VERSION_MINOR (BLOCK0) = 0 R/W (0b00) WAFER_VERSION_MAJOR (BLOCK0) calc WAFER VERSION MAJOR from CHIP_VER_REV1 and CH = 3 R/W (0b011) IP_VER_REV2 and apb_ctl_date (read only) PKG_VERSION (BLOCK0) calc Chip package = CHIP_PACKAGE_4BIT << 3 + CHIP_ = 0 R/W (0x0) PACKAGE (read only) Jtag fuses: JTAG_DISABLE (BLOCK0) Disable JTAG = False R/W (0b0) Mac fuses: MAC (BLOCK0) MAC address = 00:00:00:00:00:00 (CRC 0x00 OK) R/W MAC_CRC (BLOCK0) CRC8 for MAC address = 0 R/W (0x00) MAC_VERSION (BLOCK3) Version of the MAC field = 0 R/W (0x00) Security fuses: UART_DOWNLOAD_DIS (BLOCK0) Disable UART download mode. Valid for ESP32 V3 and = False R/W (0b0) newer; only 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) 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) KEY_STATUS (BLOCK0) Usage of efuse block 3 (reserved) = False R/W (0b0) SECURE_VERSION (BLOCK3) Secure version for anti-rollback = 0 R/W (0x00000000) 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 00 00 00 00 00 00 00 00 R/W BLOCK2 (BLOCK2) Security 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 00 00 00 00 00 00 00 00 R/W BLOCK3 (BLOCK3) Variable Block 3 = 00 00 00 00 00 00 00 00 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 Spi Pad fuses: SPI_PAD_CONFIG_HD (BLOCK0) read for SPI_pad_config_hd = 0 R/W (0b00000) 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_CS0 (BLOCK0) Override SD_CMD pad (GPIO11/SPICS0) = 0 R/W (0b00000) Vdd fuses: XPD_SDIO_REG (BLOCK0) read for XPD_SDIO_REG = False R/W (0b0) XPD_SDIO_TIEH (BLOCK0) If XPD_SDIO_FORCE & XPD_SDIO_REG = 1.8V R/W (0b0) XPD_SDIO_FORCE (BLOCK0) Ignore MTDI pin (GPIO12) for VDD_SDIO on reset = False R/W (0b0) Flash voltage (VDD_SDIO) determined by GPIO12 on reset (High for 1.8V, Low/NC for 3.3V) Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is not empty (written ): 0x00000000001000000000000000008000000000000000000000000000 (to write): 0x00000000000000000000000000000000000000000000000000010002 (coding scheme = NONE) [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! BLOCK0 ( ) [0 ] to_write: 00010002 00000000 00000000 00000000 00000000 00000000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 10002 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 0 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 0 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000010002 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00010002 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (all write block bits are set) Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00010002 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: efcdaa63 00332211 00000000 00000000 00000000 01000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 EFUSE_NAME (Block) Description = [Meaningful Value] [Readable/Writeable] (Hex Value) ---------------------------------------------------------------------------------------- Calibration fuses: ADC_VREF (BLOCK0) True ADC reference voltage = 1100 R/W (0b00000) Config fuses: WR_DIS (BLOCK0) Efuse write disable mask = 2 R/- (0x0002) RD_DIS (BLOCK0) Disable reading from BlOCK1-3 = 1 R/W (0x1) DISABLE_APP_CPU (BLOCK0) Disables APP CPU = False R/W (0b0) DISABLE_BT (BLOCK0) Disables Bluetooth = False R/W (0b0) DIS_CACHE (BLOCK0) Disables cache = False R/W (0b0) CHIP_CPU_FREQ_LOW (BLOCK0) If set alongside EFUSE_RD_CHIP_CPU_FREQ_RATED; the = False R/W (0b0) ESP32's max CPU frequency is rated for 160MHz. 24 0MHz otherwise CHIP_CPU_FREQ_RATED (BLOCK0) If set; the ESP32's maximum CPU frequency has been = False R/W (0b0) rated BLK3_PART_RESERVE (BLOCK0) BLOCK3 partially served for ADC calibration data = False R/W (0b0) CLK8M_FREQ (BLOCK0) 8MHz clock freq override = 0 R/W (0x00) VOL_LEVEL_HP_INV (BLOCK0) This field stores the voltage level for CPU to run = 0 R/W (0b00) at 240 MHz; or for flash/PSRAM to run at 80 MHz.0 x0: level 7; 0x1: level 6; 0x2: level 5; 0x3: leve l 4. (RO) CODING_SCHEME (BLOCK0) Efuse variable block length scheme = NONE (BLK1-3 len=256 bits) R/W (0b00) CONSOLE_DEBUG_DISABLE (BLOCK0) Disable ROM BASIC interpreter fallback = False R/W (0b0) DISABLE_SDIO_HOST (BLOCK0) = False R/W (0b0) DISABLE_DL_CACHE (BLOCK0) Disable flash cache in UART bootloader = False R/W (0b0) Flash fuses: FLASH_CRYPT_CNT (BLOCK0) Flash encryption is enabled if this field has an o = 0 R/W (0b0000000) dd number of bits set FLASH_CRYPT_CONFIG (BLOCK0) Flash encryption config (key tweak bits) = 0 R/W (0x0) Identity fuses: CHIP_PACKAGE_4BIT (BLOCK0) Chip package identifier #4bit = False R/W (0b0) CHIP_PACKAGE (BLOCK0) Chip package identifier = 0 R/W (0b000) CHIP_VER_REV1 (BLOCK0) bit is set to 1 for rev1 silicon = True R/W (0b1) CHIP_VER_REV2 (BLOCK0) = True R/W (0b1) WAFER_VERSION_MINOR (BLOCK0) = 0 R/W (0b00) WAFER_VERSION_MAJOR (BLOCK0) calc WAFER VERSION MAJOR from CHIP_VER_REV1 and CH = 3 R/W (0b011) IP_VER_REV2 and apb_ctl_date (read only) PKG_VERSION (BLOCK0) calc Chip package = CHIP_PACKAGE_4BIT << 3 + CHIP_ = 0 R/W (0x0) PACKAGE (read only) Jtag fuses: JTAG_DISABLE (BLOCK0) Disable JTAG = False R/W (0b0) Mac fuses: MAC (BLOCK0) MAC address = 00:00:00:00:00:00 (CRC 0x00 OK) R/W MAC_CRC (BLOCK0) CRC8 for MAC address = 0 R/W (0x00) MAC_VERSION (BLOCK3) Version of the MAC field = Custom MAC in BLOCK3 R/W (0x01) CUSTOM_MAC_CRC (BLOCK3) CRC8 for custom MAC address = 99 R/W (0x63) CUSTOM_MAC (BLOCK3) Custom MAC address = aa:cd:ef:11:22:33 (CRC 0x63 OK) R/W Security fuses: UART_DOWNLOAD_DIS (BLOCK0) Disable UART download mode. Valid for ESP32 V3 and = False R/W (0b0) newer; only 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) 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) KEY_STATUS (BLOCK0) Usage of efuse block 3 (reserved) = False R/W (0b0) SECURE_VERSION (BLOCK3) Secure version for anti-rollback = 0 R/W (0x00000000) BLOCK1 (BLOCK1) Flash encryption key = ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? -/W BLOCK2 (BLOCK2) Security 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 00 00 00 00 00 00 00 00 R/W BLOCK3 (BLOCK3) Variable Block 3 = 63 aa cd ef 11 22 33 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 R/W Spi Pad fuses: SPI_PAD_CONFIG_HD (BLOCK0) read for SPI_pad_config_hd = 0 R/W (0b00000) 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_CS0 (BLOCK0) Override SD_CMD pad (GPIO11/SPICS0) = 0 R/W (0b00000) Vdd fuses: XPD_SDIO_REG (BLOCK0) read for XPD_SDIO_REG = False R/W (0b0) XPD_SDIO_TIEH (BLOCK0) If XPD_SDIO_FORCE & XPD_SDIO_REG = 1.8V R/W (0b0) XPD_SDIO_FORCE (BLOCK0) Ignore MTDI pin (GPIO12) for VDD_SDIO on reset = False R/W (0b0) Flash voltage (VDD_SDIO) determined by GPIO12 on reset (High for 1.8V, Low/NC for 3.3V) PASSED test/test_espefuse.py::TestPublicAPI::test_close_port_on_init_failure Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp3y30b3q2 -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. PASSED test/test_espefuse.py::TestMultipleCommands::test_multiple_cmds_help Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp5mg54qak -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp5mg54qak -d --do-not-confirm -h burn-key-digest /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/rsa_secure_boot_signing_key.pem burn-key flash-encryption /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/256bit Usage: python -m espefuse [OPTIONS] COMMAND1 [ARGS]... [COMMAND2 [ARGS]...]... espefuse v5.4.0 - Utility for eFuse configuration in Espressif SoCs. ╭─ Options ────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ --chip -c [auto|linux|esp32|esp32c2|esp32c3|esp32c6| Target chip type. │ │ esp32c61|esp32c5|esp32e22|esp32h2|esp32h21 │ │ |esp32h4|esp32p4|esp32s2|esp32s3|esp32s31] │ │ --baud -b BAUD-RATE Serial port baud rate used when │ │ flashing/reading. │ │ --port -p SERIAL-PORT Serial port device. │ │ --before [default-reset|usb-reset|no-reset|no-reset Which reset to perform before connecting │ │ -no-sync] to the chip. │ │ --after -a [hard-reset|soft-reset|no-reset|watchdog-r Which reset to perform after operation is │ │ eset] finished. │ │ --debug -d Show debugging information │ │ (loglevel=DEBUG). │ │ --virt For host tests, work in virtual mode (no │ │ chip connection). │ │ --token TEXT eFuse token dump (format example: │ │ EFSR:esp32:000:...). │ │ --path-efuse-file PATH For host tests, save eFuse memory to file. │ │ --do-not-confirm Do not pause for confirmation before │ │ permanently writing eFuses. Use with │ │ caution! │ │ --postpone/--no-postpone Postpone burning some eFuses from BLOCK0 │ │ at the end (enabled by default, can be │ │ disabled with --no-postpone). │ │ --extend-efuse-table FILENAME CSV file from ESP-IDF │ │ (esp_efuse_custom_table.csv). │ │ --help -h Show this message and exit. │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─ Burn commands ──────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ read-protect-efuse Disable readback for the eFuse. │ │ write-protect-efuse Disable writing to the eFuse. │ │ burn-efuse Burn the eFuse with the specified name. │ │ burn-block-data Burn non-key data to EFUSE blocks. │ │ burn-bit Burn bit in the eFuse block. │ │ burn-key Burn a 256-bit key to EFUSE. │ │ burn-key-digest Parse a RSA public key and burn the digest. │ │ burn-custom-mac Burn a 48-bit Custom MAC address. │ │ set-flash-voltage Permanently set the internal flash voltage regulator. │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─ Read commands ──────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ summary Print human-readable summary of eFuse values. │ │ dump Dump raw hex values of all eFuses. │ │ get-custom-mac Get the 48-bit Custom MAC Address. │ │ adc-info Display information about ADC calibration data stored in eFuse. │ │ check-error Checks eFuse errors. │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp5mg54qak -d --do-not-confirm burn-key-digest /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/rsa_secure_boot_signing_key.pem -h burn-key flash-encryption /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/256bit espefuse v5.4.0 Usage: python -m espefuse burn-key-digest [OPTIONS] KEYFILE Parse a RSA public key and burn the digest to eFuse for use with Secure Boot V2. ╭─ Arguments ──────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ * KEYFILE FILENAME [required] │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─ Options ────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ --no-protect-key Disable the default write-protection of the key digest. If this option is not set, once │ │ the key is flashed it cannot be changed. │ │ --force-write-always Write the eFuse even if it looks like it's already been written, or is write protected. │ │ Note that this option can't disable write protection, or clear any bit which has │ │ already been set. │ │ --show-sensitive-info Show data to be burned (may expose sensitive data). Enabled if --debug is used. │ │ --show-token Display the eFuse token dump for the write operation before the confirmation prompt. │ │ This produces EFSW token. If the goal is only to obtain the token, press ENTER to abort │ │ (no burning will occur). Be aware that this may expose sensitive data. │ │ --help -h Show this message and exit. │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp5mg54qak -d --do-not-confirm burn-key-digest /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/rsa_secure_boot_signing_key.pem burn-key flash-encryption /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/256bit -h espefuse v5.4.0 Usage: python -m espefuse burn-key [OPTIONS] [ ] ... (max 6 groups) Burn a 256-bit key to EFUSE. Arguments are pairs of block name and key file, containing 256 bits of binary key data. Block is one of: [BLOCK1, flash_encryption, BLOCK2, secure_boot_v1, secure_boot_v2, BLOCK3] ╭─ Arguments ──────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ * BLOCK_KEYFILE [ ] ... (max 6 groups) [required] │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─ Options ────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ --no-protect-key Disable the default read- and write-protection of the key. If this option is not set, │ │ once the key is flashed it cannot be read back or changed. │ │ --force-write-always Write the eFuse even if it looks like it's already been written, or is write protected. │ │ Note that this option can't disable write protection, or clear any bit which has │ │ already been set. │ │ --show-sensitive-info Show data to be burned (may expose sensitive data). Enabled if --debug is used. │ │ --show-token Display the eFuse token dump for the write operation before the confirmation prompt. │ │ This produces EFSW token. If the goal is only to obtain the token, press ENTER to abort │ │ (no burning will occur). Be aware that this may expose sensitive data. │ │ --help -h Show this message and exit. │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ PASSED test/test_espefuse.py::TestMultipleCommands::test_1_esp32c2 SKIPPED test/test_espefuse.py::TestMultipleCommands::test_2_esp32c2 SKIPPED test/test_espefuse.py::TestMultipleCommands::test_burn_bit Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpjcavp_jn -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpjcavp_jn -d --do-not-confirm burn-efuse CODING_SCHEME 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CODING_SCHEME Burning eFuses: - 'CODING_SCHEME' (Efuse variable block length scheme) 0b00 -> 0b01 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is not empty (written ): 0x00000000001000000000000000008000000000000000000000000000 (to write): 0x00000001000000000000000000000000000000000000000000000000 (coding scheme = NONE) [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00000000 00000000 00000000 00000001 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 0 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 0 Addr 3ff5a034, data= 1 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000001000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BURN BLOCK0 - OK (all write block bits are set) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpjcavp_jn -d --do-not-confirm burn-bit BLOCK2 0 1 2 3 burn-bit BLOCK2 4 5 6 7 burn-bit BLOCK2 8 9 10 11 burn-bit BLOCK2 12 13 14 15 summary espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-bit" command === bit_number: [191]........................................................[0] BLOCK 2 : 0x00000000000000000000000000000000000000000000000f BLOCK2 (secure_boot_v1 s) [2 ] regs_to_write: 0000000f 00000000 00000000 00000000 00000000 00000000 written : 0x000000000000000000000000000000000000000000000000 -> to write: 0x00000000000000000000000000000000000000000000000f Batch mode is enabled, the burn will be done at the end of the command. === Run "burn-bit" command === bit_number: [191]........................................................[0] BLOCK 2 : 0x0000000000000000000000000000000000000000000000f0 BLOCK2 (secure_boot_v1 s) [2 ] regs_to_write: 000000f0 00000000 00000000 00000000 00000000 00000000 written : 0x000000000000000000000000000000000000000000000000 -> to write: 0x0000000000000000000000000000000000000000000000f0 Batch mode is enabled, the burn will be done at the end of the command. === Run "burn-bit" command === bit_number: [191]........................................................[0] BLOCK 2 : 0x000000000000000000000000000000000000000000000f00 BLOCK2 (secure_boot_v1 s) [2 ] regs_to_write: 00000f00 00000000 00000000 00000000 00000000 00000000 written : 0x000000000000000000000000000000000000000000000000 -> to write: 0x000000000000000000000000000000000000000000000f00 Batch mode is enabled, the burn will be done at the end of the command. === Run "burn-bit" command === bit_number: [191]........................................................[0] BLOCK 2 : 0x00000000000000000000000000000000000000000000f000 BLOCK2 (secure_boot_v1 s) [2 ] regs_to_write: 0000f000 00000000 00000000 00000000 00000000 00000000 written : 0x000000000000000000000000000000000000000000000000 -> to write: 0x00000000000000000000000000000000000000000000f000 Batch mode is enabled, the burn will be done at the end of the command. === Run "summary" command === EFUSE_REG_DEC_STATUS 0x00000000 EFUSE_NAME (Block) Description = [Meaningful Value] [Readable/Writeable] (Hex Value) ---------------------------------------------------------------------------------------- Calibration fuses: ADC_VREF (BLOCK0) True ADC reference voltage = 1100 R/W (0b00000) Config fuses: WR_DIS (BLOCK0) Efuse write disable mask = 0 R/W (0x0000) RD_DIS (BLOCK0) Disable reading from BlOCK1-3 = 0 R/W (0x0) DISABLE_APP_CPU (BLOCK0) Disables APP CPU = False R/W (0b0) DISABLE_BT (BLOCK0) Disables Bluetooth = False R/W (0b0) DIS_CACHE (BLOCK0) Disables cache = False R/W (0b0) CHIP_CPU_FREQ_LOW (BLOCK0) If set alongside EFUSE_RD_CHIP_CPU_FREQ_RATED; the = False R/W (0b0) ESP32's max CPU frequency is rated for 160MHz. 24 0MHz otherwise CHIP_CPU_FREQ_RATED (BLOCK0) If set; the ESP32's maximum CPU frequency has been = False R/W (0b0) rated BLK3_PART_RESERVE (BLOCK0) BLOCK3 partially served for ADC calibration data = False R/W (0b0) CLK8M_FREQ (BLOCK0) 8MHz clock freq override = 0 R/W (0x00) VOL_LEVEL_HP_INV (BLOCK0) This field stores the voltage level for CPU to run = 0 R/W (0b00) at 240 MHz; or for flash/PSRAM to run at 80 MHz.0 x0: level 7; 0x1: level 6; 0x2: level 5; 0x3: leve l 4. (RO) CODING_SCHEME (BLOCK0) Efuse variable block length scheme = 3/4 (BLK1-3 len=192 bits) R/W (0b01) CONSOLE_DEBUG_DISABLE (BLOCK0) Disable ROM BASIC interpreter fallback = False R/W (0b0) DISABLE_SDIO_HOST (BLOCK0) = False R/W (0b0) DISABLE_DL_CACHE (BLOCK0) Disable flash cache in UART bootloader = False R/W (0b0) Flash fuses: FLASH_CRYPT_CNT (BLOCK0) Flash encryption is enabled if this field has an o = 0 R/W (0b0000000) dd number of bits set FLASH_CRYPT_CONFIG (BLOCK0) Flash encryption config (key tweak bits) = 0 R/W (0x0) Identity fuses: CHIP_PACKAGE_4BIT (BLOCK0) Chip package identifier #4bit = False R/W (0b0) CHIP_PACKAGE (BLOCK0) Chip package identifier = 0 R/W (0b000) CHIP_VER_REV1 (BLOCK0) bit is set to 1 for rev1 silicon = True R/W (0b1) CHIP_VER_REV2 (BLOCK0) = True R/W (0b1) WAFER_VERSION_MINOR (BLOCK0) = 0 R/W (0b00) WAFER_VERSION_MAJOR (BLOCK0) calc WAFER VERSION MAJOR from CHIP_VER_REV1 and CH = 3 R/W (0b011) IP_VER_REV2 and apb_ctl_date (read only) PKG_VERSION (BLOCK0) calc Chip package = CHIP_PACKAGE_4BIT << 3 + CHIP_ = 0 R/W (0x0) PACKAGE (read only) Jtag fuses: JTAG_DISABLE (BLOCK0) Disable JTAG = False R/W (0b0) Mac fuses: MAC (BLOCK0) MAC address = 00:00:00:00:00:00 (CRC 0x00 OK) R/W MAC_CRC (BLOCK0) CRC8 for MAC address = 0 R/W (0x00) MAC_VERSION (BLOCK3) Version of the MAC field = 0 R/W (0x00) CUSTOM_MAC_CRC (BLOCK3) CRC8 for custom MAC address = 0 R/W (0x00) CUSTOM_MAC (BLOCK3) Custom MAC address = 00:00:00:00:00:00 (CRC 0x00 OK) R/W Security fuses: UART_DOWNLOAD_DIS (BLOCK0) Disable UART download mode. Valid for ESP32 V3 and = False R/W (0b0) newer; only 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) 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) KEY_STATUS (BLOCK0) Usage of efuse block 3 (reserved) = False R/W (0b0) SECURE_VERSION (BLOCK3) Secure version for anti-rollback = 0 R/W (0x00000000) 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) Security 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 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 R/W Spi Pad fuses: SPI_PAD_CONFIG_HD (BLOCK0) read for SPI_pad_config_hd = 0 R/W (0b00000) 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_CS0 (BLOCK0) Override SD_CMD pad (GPIO11/SPICS0) = 0 R/W (0b00000) Vdd fuses: XPD_SDIO_REG (BLOCK0) read for XPD_SDIO_REG = False R/W (0b0) XPD_SDIO_TIEH (BLOCK0) If XPD_SDIO_FORCE & XPD_SDIO_REG = 1.8V R/W (0b0) XPD_SDIO_FORCE (BLOCK0) Ignore MTDI pin (GPIO12) for VDD_SDIO on reset = False R/W (0b0) Flash voltage (VDD_SDIO) determined by GPIO12 on reset (High for 1.8V, Low/NC for 3.3V) === Run "summary" command === EFUSE_REG_DEC_STATUS 0x00000000 EFUSE_NAME (Block) Description = [Meaningful Value] [Readable/Writeable] (Hex Value) ---------------------------------------------------------------------------------------- Calibration fuses: ADC_VREF (BLOCK0) True ADC reference voltage = 1100 R/W (0b00000) Config fuses: WR_DIS (BLOCK0) Efuse write disable mask = 0 R/W (0x0000) RD_DIS (BLOCK0) Disable reading from BlOCK1-3 = 0 R/W (0x0) DISABLE_APP_CPU (BLOCK0) Disables APP CPU = False R/W (0b0) DISABLE_BT (BLOCK0) Disables Bluetooth = False R/W (0b0) DIS_CACHE (BLOCK0) Disables cache = False R/W (0b0) CHIP_CPU_FREQ_LOW (BLOCK0) If set alongside EFUSE_RD_CHIP_CPU_FREQ_RATED; the = False R/W (0b0) ESP32's max CPU frequency is rated for 160MHz. 24 0MHz otherwise CHIP_CPU_FREQ_RATED (BLOCK0) If set; the ESP32's maximum CPU frequency has been = False R/W (0b0) rated BLK3_PART_RESERVE (BLOCK0) BLOCK3 partially served for ADC calibration data = False R/W (0b0) CLK8M_FREQ (BLOCK0) 8MHz clock freq override = 0 R/W (0x00) VOL_LEVEL_HP_INV (BLOCK0) This field stores the voltage level for CPU to run = 0 R/W (0b00) at 240 MHz; or for flash/PSRAM to run at 80 MHz.0 x0: level 7; 0x1: level 6; 0x2: level 5; 0x3: leve l 4. (RO) CODING_SCHEME (BLOCK0) Efuse variable block length scheme = 3/4 (BLK1-3 len=192 bits) R/W (0b01) CONSOLE_DEBUG_DISABLE (BLOCK0) Disable ROM BASIC interpreter fallback = False R/W (0b0) DISABLE_SDIO_HOST (BLOCK0) = False R/W (0b0) DISABLE_DL_CACHE (BLOCK0) Disable flash cache in UART bootloader = False R/W (0b0) Flash fuses: FLASH_CRYPT_CNT (BLOCK0) Flash encryption is enabled if this field has an o = 0 R/W (0b0000000) dd number of bits set FLASH_CRYPT_CONFIG (BLOCK0) Flash encryption config (key tweak bits) = 0 R/W (0x0) Identity fuses: CHIP_PACKAGE_4BIT (BLOCK0) Chip package identifier #4bit = False R/W (0b0) CHIP_PACKAGE (BLOCK0) Chip package identifier = 0 R/W (0b000) CHIP_VER_REV1 (BLOCK0) bit is set to 1 for rev1 silicon = True R/W (0b1) CHIP_VER_REV2 (BLOCK0) = True R/W (0b1) WAFER_VERSION_MINOR (BLOCK0) = 0 R/W (0b00) WAFER_VERSION_MAJOR (BLOCK0) calc WAFER VERSION MAJOR from CHIP_VER_REV1 and CH = 3 R/W (0b011) IP_VER_REV2 and apb_ctl_date (read only) PKG_VERSION (BLOCK0) calc Chip package = CHIP_PACKAGE_4BIT << 3 + CHIP_ = 0 R/W (0x0) PACKAGE (read only) Jtag fuses: JTAG_DISABLE (BLOCK0) Disable JTAG = False R/W (0b0) Mac fuses: MAC (BLOCK0) MAC address = 00:00:00:00:00:00 (CRC 0x00 OK) R/W MAC_CRC (BLOCK0) CRC8 for MAC address = 0 R/W (0x00) MAC_VERSION (BLOCK3) Version of the MAC field = 0 R/W (0x00) CUSTOM_MAC_CRC (BLOCK3) CRC8 for custom MAC address = 0 R/W (0x00) CUSTOM_MAC (BLOCK3) Custom MAC address = 00:00:00:00:00:00 (CRC 0x00 OK) R/W Security fuses: UART_DOWNLOAD_DIS (BLOCK0) Disable UART download mode. Valid for ESP32 V3 and = False R/W (0b0) newer; only 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) 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) KEY_STATUS (BLOCK0) Usage of efuse block 3 (reserved) = False R/W (0b0) SECURE_VERSION (BLOCK3) Secure version for anti-rollback = 0 R/W (0x00000000) 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) Security 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 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 R/W Spi Pad fuses: SPI_PAD_CONFIG_HD (BLOCK0) read for SPI_pad_config_hd = 0 R/W (0b00000) 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_CS0 (BLOCK0) Override SD_CMD pad (GPIO11/SPICS0) = 0 R/W (0b00000) Vdd fuses: XPD_SDIO_REG (BLOCK0) read for XPD_SDIO_REG = False R/W (0b0) XPD_SDIO_TIEH (BLOCK0) If XPD_SDIO_FORCE & XPD_SDIO_REG = 1.8V R/W (0b0) XPD_SDIO_FORCE (BLOCK0) Ignore MTDI pin (GPIO12) for VDD_SDIO on reset = False R/W (0b0) Flash voltage (VDD_SDIO) determined by GPIO12 on reset (High for 1.8V, Low/NC for 3.3V) Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 nothing to burn [01] BLOCK1 nothing to burn [02] BLOCK2 is empty, will burn the new value [03] BLOCK3 nothing to burn . This is an irreversible operation! BLOCK2 (secure_boot_v1 s) [2 ] to_write: 0000ffff 00000000 00000000 00000000 00000000 00000000 Write data to BLOCK2 Addr 3ff5a0b8, data= ffff Addr 3ff5a0bc, data= 18000000 Addr 3ff5a0c0, data= 0 Addr 3ff5a0c4, data= 0 Addr 3ff5a0c8, data= 0 Addr 3ff5a0cc, data= 0 Addr 3ff5a0d0, data= 0 Addr 3ff5a0d4, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 000000000000000000000000000000000000000000000000180000000000ffff BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 0000ffff 00000000 00000000 00000000 00000000 00000000 BURN BLOCK2 - OK (write block == read block) These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 0000ffff 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpjcavp_jn -d --do-not-confirm -d summary espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 0000ffff 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "summary" command === EFUSE_REG_DEC_STATUS 0x00000000 EFUSE_NAME (Block) Description = [Meaningful Value] [Readable/Writeable] (Hex Value) ---------------------------------------------------------------------------------------- Calibration fuses: ADC_VREF (BLOCK0) True ADC reference voltage = 1100 R/W (0b00000) Config fuses: WR_DIS (BLOCK0) Efuse write disable mask = 0 R/W (0x0000) RD_DIS (BLOCK0) Disable reading from BlOCK1-3 = 0 R/W (0x0) DISABLE_APP_CPU (BLOCK0) Disables APP CPU = False R/W (0b0) DISABLE_BT (BLOCK0) Disables Bluetooth = False R/W (0b0) DIS_CACHE (BLOCK0) Disables cache = False R/W (0b0) CHIP_CPU_FREQ_LOW (BLOCK0) If set alongside EFUSE_RD_CHIP_CPU_FREQ_RATED; the = False R/W (0b0) ESP32's max CPU frequency is rated for 160MHz. 24 0MHz otherwise CHIP_CPU_FREQ_RATED (BLOCK0) If set; the ESP32's maximum CPU frequency has been = False R/W (0b0) rated BLK3_PART_RESERVE (BLOCK0) BLOCK3 partially served for ADC calibration data = False R/W (0b0) CLK8M_FREQ (BLOCK0) 8MHz clock freq override = 0 R/W (0x00) VOL_LEVEL_HP_INV (BLOCK0) This field stores the voltage level for CPU to run = 0 R/W (0b00) at 240 MHz; or for flash/PSRAM to run at 80 MHz.0 x0: level 7; 0x1: level 6; 0x2: level 5; 0x3: leve l 4. (RO) CODING_SCHEME (BLOCK0) Efuse variable block length scheme = 3/4 (BLK1-3 len=192 bits) R/W (0b01) CONSOLE_DEBUG_DISABLE (BLOCK0) Disable ROM BASIC interpreter fallback = False R/W (0b0) DISABLE_SDIO_HOST (BLOCK0) = False R/W (0b0) DISABLE_DL_CACHE (BLOCK0) Disable flash cache in UART bootloader = False R/W (0b0) Flash fuses: FLASH_CRYPT_CNT (BLOCK0) Flash encryption is enabled if this field has an o = 0 R/W (0b0000000) dd number of bits set FLASH_CRYPT_CONFIG (BLOCK0) Flash encryption config (key tweak bits) = 0 R/W (0x0) Identity fuses: CHIP_PACKAGE_4BIT (BLOCK0) Chip package identifier #4bit = False R/W (0b0) CHIP_PACKAGE (BLOCK0) Chip package identifier = 0 R/W (0b000) CHIP_VER_REV1 (BLOCK0) bit is set to 1 for rev1 silicon = True R/W (0b1) CHIP_VER_REV2 (BLOCK0) = True R/W (0b1) WAFER_VERSION_MINOR (BLOCK0) = 0 R/W (0b00) WAFER_VERSION_MAJOR (BLOCK0) calc WAFER VERSION MAJOR from CHIP_VER_REV1 and CH = 3 R/W (0b011) IP_VER_REV2 and apb_ctl_date (read only) PKG_VERSION (BLOCK0) calc Chip package = CHIP_PACKAGE_4BIT << 3 + CHIP_ = 0 R/W (0x0) PACKAGE (read only) Jtag fuses: JTAG_DISABLE (BLOCK0) Disable JTAG = False R/W (0b0) Mac fuses: MAC (BLOCK0) MAC address = 00:00:00:00:00:00 (CRC 0x00 OK) R/W MAC_CRC (BLOCK0) CRC8 for MAC address = 0 R/W (0x00) MAC_VERSION (BLOCK3) Version of the MAC field = 0 R/W (0x00) CUSTOM_MAC_CRC (BLOCK3) CRC8 for custom MAC address = 0 R/W (0x00) CUSTOM_MAC (BLOCK3) Custom MAC address = 00:00:00:00:00:00 (CRC 0x00 OK) R/W Security fuses: UART_DOWNLOAD_DIS (BLOCK0) Disable UART download mode. Valid for ESP32 V3 and = False R/W (0b0) newer; only 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) 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) KEY_STATUS (BLOCK0) Usage of efuse block 3 (reserved) = False R/W (0b0) SECURE_VERSION (BLOCK3) Secure version for anti-rollback = 0 R/W (0x00000000) 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) Security boot key = ff ff 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 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 R/W Spi Pad fuses: SPI_PAD_CONFIG_HD (BLOCK0) read for SPI_pad_config_hd = 0 R/W (0b00000) 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_CS0 (BLOCK0) Override SD_CMD pad (GPIO11/SPICS0) = 0 R/W (0b00000) Vdd fuses: XPD_SDIO_REG (BLOCK0) read for XPD_SDIO_REG = False R/W (0b0) XPD_SDIO_TIEH (BLOCK0) If XPD_SDIO_FORCE & XPD_SDIO_REG = 1.8V R/W (0b0) XPD_SDIO_FORCE (BLOCK0) Ignore MTDI pin (GPIO12) for VDD_SDIO on reset = False R/W (0b0) Flash voltage (VDD_SDIO) determined by GPIO12 on reset (High for 1.8V, Low/NC for 3.3V) PASSED test/test_espefuse.py::TestMultipleCommands::test_burn_bit_deprecated_commands Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpdp4g1qjq -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpdp4g1qjq -d --do-not-confirm burn-efuse CODING_SCHEME 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CODING_SCHEME Burning eFuses: - 'CODING_SCHEME' (Efuse variable block length scheme) 0b00 -> 0b01 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is not empty (written ): 0x00000000001000000000000000008000000000000000000000000000 (to write): 0x00000001000000000000000000000000000000000000000000000000 (coding scheme = NONE) [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00000000 00000000 00000000 00000001 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 0 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 0 Addr 3ff5a034, data= 1 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000001000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BURN BLOCK0 - OK (all write block bits are set) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpdp4g1qjq -d --do-not-confirm burn_bit BLOCK2 0 1 2 3 burn_bit BLOCK2 4 5 6 7 burn_bit BLOCK2 8 9 10 11 burn_bit BLOCK2 12 13 14 15 summary espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 WARNING: Deprecated: Command 'burn_bit' is deprecated. Use 'burn-bit' instead. WARNING: Deprecated: Command 'burn_bit' is deprecated. Use 'burn-bit' instead. WARNING: Deprecated: Command 'burn_bit' is deprecated. Use 'burn-bit' instead. WARNING: Deprecated: Command 'burn_bit' is deprecated. Use 'burn-bit' instead. === Run "burn-bit" command === bit_number: [191]........................................................[0] BLOCK 2 : 0x00000000000000000000000000000000000000000000000f BLOCK2 (secure_boot_v1 s) [2 ] regs_to_write: 0000000f 00000000 00000000 00000000 00000000 00000000 written : 0x000000000000000000000000000000000000000000000000 -> to write: 0x00000000000000000000000000000000000000000000000f Batch mode is enabled, the burn will be done at the end of the command. === Run "burn-bit" command === bit_number: [191]........................................................[0] BLOCK 2 : 0x0000000000000000000000000000000000000000000000f0 BLOCK2 (secure_boot_v1 s) [2 ] regs_to_write: 000000f0 00000000 00000000 00000000 00000000 00000000 written : 0x000000000000000000000000000000000000000000000000 -> to write: 0x0000000000000000000000000000000000000000000000f0 Batch mode is enabled, the burn will be done at the end of the command. === Run "burn-bit" command === bit_number: [191]........................................................[0] BLOCK 2 : 0x000000000000000000000000000000000000000000000f00 BLOCK2 (secure_boot_v1 s) [2 ] regs_to_write: 00000f00 00000000 00000000 00000000 00000000 00000000 written : 0x000000000000000000000000000000000000000000000000 -> to write: 0x000000000000000000000000000000000000000000000f00 Batch mode is enabled, the burn will be done at the end of the command. === Run "burn-bit" command === bit_number: [191]........................................................[0] BLOCK 2 : 0x00000000000000000000000000000000000000000000f000 BLOCK2 (secure_boot_v1 s) [2 ] regs_to_write: 0000f000 00000000 00000000 00000000 00000000 00000000 written : 0x000000000000000000000000000000000000000000000000 -> to write: 0x00000000000000000000000000000000000000000000f000 Batch mode is enabled, the burn will be done at the end of the command. === Run "summary" command === EFUSE_REG_DEC_STATUS 0x00000000 EFUSE_NAME (Block) Description = [Meaningful Value] [Readable/Writeable] (Hex Value) ---------------------------------------------------------------------------------------- Calibration fuses: ADC_VREF (BLOCK0) True ADC reference voltage = 1100 R/W (0b00000) Config fuses: WR_DIS (BLOCK0) Efuse write disable mask = 0 R/W (0x0000) RD_DIS (BLOCK0) Disable reading from BlOCK1-3 = 0 R/W (0x0) DISABLE_APP_CPU (BLOCK0) Disables APP CPU = False R/W (0b0) DISABLE_BT (BLOCK0) Disables Bluetooth = False R/W (0b0) DIS_CACHE (BLOCK0) Disables cache = False R/W (0b0) CHIP_CPU_FREQ_LOW (BLOCK0) If set alongside EFUSE_RD_CHIP_CPU_FREQ_RATED; the = False R/W (0b0) ESP32's max CPU frequency is rated for 160MHz. 24 0MHz otherwise CHIP_CPU_FREQ_RATED (BLOCK0) If set; the ESP32's maximum CPU frequency has been = False R/W (0b0) rated BLK3_PART_RESERVE (BLOCK0) BLOCK3 partially served for ADC calibration data = False R/W (0b0) CLK8M_FREQ (BLOCK0) 8MHz clock freq override = 0 R/W (0x00) VOL_LEVEL_HP_INV (BLOCK0) This field stores the voltage level for CPU to run = 0 R/W (0b00) at 240 MHz; or for flash/PSRAM to run at 80 MHz.0 x0: level 7; 0x1: level 6; 0x2: level 5; 0x3: leve l 4. (RO) CODING_SCHEME (BLOCK0) Efuse variable block length scheme = 3/4 (BLK1-3 len=192 bits) R/W (0b01) CONSOLE_DEBUG_DISABLE (BLOCK0) Disable ROM BASIC interpreter fallback = False R/W (0b0) DISABLE_SDIO_HOST (BLOCK0) = False R/W (0b0) DISABLE_DL_CACHE (BLOCK0) Disable flash cache in UART bootloader = False R/W (0b0) Flash fuses: FLASH_CRYPT_CNT (BLOCK0) Flash encryption is enabled if this field has an o = 0 R/W (0b0000000) dd number of bits set FLASH_CRYPT_CONFIG (BLOCK0) Flash encryption config (key tweak bits) = 0 R/W (0x0) Identity fuses: CHIP_PACKAGE_4BIT (BLOCK0) Chip package identifier #4bit = False R/W (0b0) CHIP_PACKAGE (BLOCK0) Chip package identifier = 0 R/W (0b000) CHIP_VER_REV1 (BLOCK0) bit is set to 1 for rev1 silicon = True R/W (0b1) CHIP_VER_REV2 (BLOCK0) = True R/W (0b1) WAFER_VERSION_MINOR (BLOCK0) = 0 R/W (0b00) WAFER_VERSION_MAJOR (BLOCK0) calc WAFER VERSION MAJOR from CHIP_VER_REV1 and CH = 3 R/W (0b011) IP_VER_REV2 and apb_ctl_date (read only) PKG_VERSION (BLOCK0) calc Chip package = CHIP_PACKAGE_4BIT << 3 + CHIP_ = 0 R/W (0x0) PACKAGE (read only) Jtag fuses: JTAG_DISABLE (BLOCK0) Disable JTAG = False R/W (0b0) Mac fuses: MAC (BLOCK0) MAC address = 00:00:00:00:00:00 (CRC 0x00 OK) R/W MAC_CRC (BLOCK0) CRC8 for MAC address = 0 R/W (0x00) MAC_VERSION (BLOCK3) Version of the MAC field = 0 R/W (0x00) CUSTOM_MAC_CRC (BLOCK3) CRC8 for custom MAC address = 0 R/W (0x00) CUSTOM_MAC (BLOCK3) Custom MAC address = 00:00:00:00:00:00 (CRC 0x00 OK) R/W Security fuses: UART_DOWNLOAD_DIS (BLOCK0) Disable UART download mode. Valid for ESP32 V3 and = False R/W (0b0) newer; only 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) 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) KEY_STATUS (BLOCK0) Usage of efuse block 3 (reserved) = False R/W (0b0) SECURE_VERSION (BLOCK3) Secure version for anti-rollback = 0 R/W (0x00000000) 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) Security 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 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 R/W Spi Pad fuses: SPI_PAD_CONFIG_HD (BLOCK0) read for SPI_pad_config_hd = 0 R/W (0b00000) 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_CS0 (BLOCK0) Override SD_CMD pad (GPIO11/SPICS0) = 0 R/W (0b00000) Vdd fuses: XPD_SDIO_REG (BLOCK0) read for XPD_SDIO_REG = False R/W (0b0) XPD_SDIO_TIEH (BLOCK0) If XPD_SDIO_FORCE & XPD_SDIO_REG = 1.8V R/W (0b0) XPD_SDIO_FORCE (BLOCK0) Ignore MTDI pin (GPIO12) for VDD_SDIO on reset = False R/W (0b0) Flash voltage (VDD_SDIO) determined by GPIO12 on reset (High for 1.8V, Low/NC for 3.3V) Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 nothing to burn [01] BLOCK1 nothing to burn [02] BLOCK2 is empty, will burn the new value [03] BLOCK3 nothing to burn . This is an irreversible operation! BLOCK2 (secure_boot_v1 s) [2 ] to_write: 0000ffff 00000000 00000000 00000000 00000000 00000000 Write data to BLOCK2 Addr 3ff5a0b8, data= ffff Addr 3ff5a0bc, data= 18000000 Addr 3ff5a0c0, data= 0 Addr 3ff5a0c4, data= 0 Addr 3ff5a0c8, data= 0 Addr 3ff5a0cc, data= 0 Addr 3ff5a0d0, data= 0 Addr 3ff5a0d4, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 000000000000000000000000000000000000000000000000180000000000ffff BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 0000ffff 00000000 00000000 00000000 00000000 00000000 BURN BLOCK2 - OK (write block == read block) These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 0000ffff 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpdp4g1qjq -d --do-not-confirm -d summary espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000001 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 0000ffff 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "summary" command === EFUSE_REG_DEC_STATUS 0x00000000 EFUSE_NAME (Block) Description = [Meaningful Value] [Readable/Writeable] (Hex Value) ---------------------------------------------------------------------------------------- Calibration fuses: ADC_VREF (BLOCK0) True ADC reference voltage = 1100 R/W (0b00000) Config fuses: WR_DIS (BLOCK0) Efuse write disable mask = 0 R/W (0x0000) RD_DIS (BLOCK0) Disable reading from BlOCK1-3 = 0 R/W (0x0) DISABLE_APP_CPU (BLOCK0) Disables APP CPU = False R/W (0b0) DISABLE_BT (BLOCK0) Disables Bluetooth = False R/W (0b0) DIS_CACHE (BLOCK0) Disables cache = False R/W (0b0) CHIP_CPU_FREQ_LOW (BLOCK0) If set alongside EFUSE_RD_CHIP_CPU_FREQ_RATED; the = False R/W (0b0) ESP32's max CPU frequency is rated for 160MHz. 24 0MHz otherwise CHIP_CPU_FREQ_RATED (BLOCK0) If set; the ESP32's maximum CPU frequency has been = False R/W (0b0) rated BLK3_PART_RESERVE (BLOCK0) BLOCK3 partially served for ADC calibration data = False R/W (0b0) CLK8M_FREQ (BLOCK0) 8MHz clock freq override = 0 R/W (0x00) VOL_LEVEL_HP_INV (BLOCK0) This field stores the voltage level for CPU to run = 0 R/W (0b00) at 240 MHz; or for flash/PSRAM to run at 80 MHz.0 x0: level 7; 0x1: level 6; 0x2: level 5; 0x3: leve l 4. (RO) CODING_SCHEME (BLOCK0) Efuse variable block length scheme = 3/4 (BLK1-3 len=192 bits) R/W (0b01) CONSOLE_DEBUG_DISABLE (BLOCK0) Disable ROM BASIC interpreter fallback = False R/W (0b0) DISABLE_SDIO_HOST (BLOCK0) = False R/W (0b0) DISABLE_DL_CACHE (BLOCK0) Disable flash cache in UART bootloader = False R/W (0b0) Flash fuses: FLASH_CRYPT_CNT (BLOCK0) Flash encryption is enabled if this field has an o = 0 R/W (0b0000000) dd number of bits set FLASH_CRYPT_CONFIG (BLOCK0) Flash encryption config (key tweak bits) = 0 R/W (0x0) Identity fuses: CHIP_PACKAGE_4BIT (BLOCK0) Chip package identifier #4bit = False R/W (0b0) CHIP_PACKAGE (BLOCK0) Chip package identifier = 0 R/W (0b000) CHIP_VER_REV1 (BLOCK0) bit is set to 1 for rev1 silicon = True R/W (0b1) CHIP_VER_REV2 (BLOCK0) = True R/W (0b1) WAFER_VERSION_MINOR (BLOCK0) = 0 R/W (0b00) WAFER_VERSION_MAJOR (BLOCK0) calc WAFER VERSION MAJOR from CHIP_VER_REV1 and CH = 3 R/W (0b011) IP_VER_REV2 and apb_ctl_date (read only) PKG_VERSION (BLOCK0) calc Chip package = CHIP_PACKAGE_4BIT << 3 + CHIP_ = 0 R/W (0x0) PACKAGE (read only) Jtag fuses: JTAG_DISABLE (BLOCK0) Disable JTAG = False R/W (0b0) Mac fuses: MAC (BLOCK0) MAC address = 00:00:00:00:00:00 (CRC 0x00 OK) R/W MAC_CRC (BLOCK0) CRC8 for MAC address = 0 R/W (0x00) MAC_VERSION (BLOCK3) Version of the MAC field = 0 R/W (0x00) CUSTOM_MAC_CRC (BLOCK3) CRC8 for custom MAC address = 0 R/W (0x00) CUSTOM_MAC (BLOCK3) Custom MAC address = 00:00:00:00:00:00 (CRC 0x00 OK) R/W Security fuses: UART_DOWNLOAD_DIS (BLOCK0) Disable UART download mode. Valid for ESP32 V3 and = False R/W (0b0) newer; only 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) 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) KEY_STATUS (BLOCK0) Usage of efuse block 3 (reserved) = False R/W (0b0) SECURE_VERSION (BLOCK3) Secure version for anti-rollback = 0 R/W (0x00000000) 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) Security boot key = ff ff 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 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 R/W Spi Pad fuses: SPI_PAD_CONFIG_HD (BLOCK0) read for SPI_pad_config_hd = 0 R/W (0b00000) 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_CS0 (BLOCK0) Override SD_CMD pad (GPIO11/SPICS0) = 0 R/W (0b00000) Vdd fuses: XPD_SDIO_REG (BLOCK0) read for XPD_SDIO_REG = False R/W (0b0) XPD_SDIO_TIEH (BLOCK0) If XPD_SDIO_FORCE & XPD_SDIO_REG = 1.8V R/W (0b0) XPD_SDIO_FORCE (BLOCK0) Ignore MTDI pin (GPIO12) for VDD_SDIO on reset = False R/W (0b0) Flash voltage (VDD_SDIO) determined by GPIO12 on reset (High for 1.8V, Low/NC for 3.3V) PASSED test/test_espefuse.py::TestMultipleCommands::test_not_burn_cmds Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmptjx653kr -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmptjx653kr -d --do-not-confirm summary dump get-custom-mac adc-info check-error espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "summary" command === EFUSE_REG_DEC_STATUS 0x00000000 EFUSE_NAME (Block) Description = [Meaningful Value] [Readable/Writeable] (Hex Value) ---------------------------------------------------------------------------------------- Calibration fuses: ADC_VREF (BLOCK0) True ADC reference voltage = 1100 R/W (0b00000) Config fuses: WR_DIS (BLOCK0) Efuse write disable mask = 0 R/W (0x0000) RD_DIS (BLOCK0) Disable reading from BlOCK1-3 = 0 R/W (0x0) DISABLE_APP_CPU (BLOCK0) Disables APP CPU = False R/W (0b0) DISABLE_BT (BLOCK0) Disables Bluetooth = False R/W (0b0) DIS_CACHE (BLOCK0) Disables cache = False R/W (0b0) CHIP_CPU_FREQ_LOW (BLOCK0) If set alongside EFUSE_RD_CHIP_CPU_FREQ_RATED; the = False R/W (0b0) ESP32's max CPU frequency is rated for 160MHz. 24 0MHz otherwise CHIP_CPU_FREQ_RATED (BLOCK0) If set; the ESP32's maximum CPU frequency has been = False R/W (0b0) rated BLK3_PART_RESERVE (BLOCK0) BLOCK3 partially served for ADC calibration data = False R/W (0b0) CLK8M_FREQ (BLOCK0) 8MHz clock freq override = 0 R/W (0x00) VOL_LEVEL_HP_INV (BLOCK0) This field stores the voltage level for CPU to run = 0 R/W (0b00) at 240 MHz; or for flash/PSRAM to run at 80 MHz.0 x0: level 7; 0x1: level 6; 0x2: level 5; 0x3: leve l 4. (RO) CODING_SCHEME (BLOCK0) Efuse variable block length scheme = NONE (BLK1-3 len=256 bits) R/W (0b00) CONSOLE_DEBUG_DISABLE (BLOCK0) Disable ROM BASIC interpreter fallback = False R/W (0b0) DISABLE_SDIO_HOST (BLOCK0) = False R/W (0b0) DISABLE_DL_CACHE (BLOCK0) Disable flash cache in UART bootloader = False R/W (0b0) Flash fuses: FLASH_CRYPT_CNT (BLOCK0) Flash encryption is enabled if this field has an o = 0 R/W (0b0000000) dd number of bits set FLASH_CRYPT_CONFIG (BLOCK0) Flash encryption config (key tweak bits) = 0 R/W (0x0) Identity fuses: CHIP_PACKAGE_4BIT (BLOCK0) Chip package identifier #4bit = False R/W (0b0) CHIP_PACKAGE (BLOCK0) Chip package identifier = 0 R/W (0b000) CHIP_VER_REV1 (BLOCK0) bit is set to 1 for rev1 silicon = True R/W (0b1) CHIP_VER_REV2 (BLOCK0) = True R/W (0b1) WAFER_VERSION_MINOR (BLOCK0) = 0 R/W (0b00) WAFER_VERSION_MAJOR (BLOCK0) calc WAFER VERSION MAJOR from CHIP_VER_REV1 and CH = 3 R/W (0b011) IP_VER_REV2 and apb_ctl_date (read only) PKG_VERSION (BLOCK0) calc Chip package = CHIP_PACKAGE_4BIT << 3 + CHIP_ = 0 R/W (0x0) PACKAGE (read only) Jtag fuses: JTAG_DISABLE (BLOCK0) Disable JTAG = False R/W (0b0) Mac fuses: MAC (BLOCK0) MAC address = 00:00:00:00:00:00 (CRC 0x00 OK) R/W MAC_CRC (BLOCK0) CRC8 for MAC address = 0 R/W (0x00) MAC_VERSION (BLOCK3) Version of the MAC field = 0 R/W (0x00) CUSTOM_MAC_CRC (BLOCK3) CRC8 for custom MAC address = 0 R/W (0x00) CUSTOM_MAC (BLOCK3) Custom MAC address = 00:00:00:00:00:00 (CRC 0x00 OK) R/W Security fuses: UART_DOWNLOAD_DIS (BLOCK0) Disable UART download mode. Valid for ESP32 V3 and = False R/W (0b0) newer; only 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) 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) KEY_STATUS (BLOCK0) Usage of efuse block 3 (reserved) = False R/W (0b0) SECURE_VERSION (BLOCK3) Secure version for anti-rollback = 0 R/W (0x00000000) 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 00 00 00 00 00 00 00 00 R/W BLOCK2 (BLOCK2) Security 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 00 00 00 00 00 00 00 00 R/W BLOCK3 (BLOCK3) Variable Block 3 = 00 00 00 00 00 00 00 00 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 Spi Pad fuses: SPI_PAD_CONFIG_HD (BLOCK0) read for SPI_pad_config_hd = 0 R/W (0b00000) 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_CS0 (BLOCK0) Override SD_CMD pad (GPIO11/SPICS0) = 0 R/W (0b00000) Vdd fuses: XPD_SDIO_REG (BLOCK0) read for XPD_SDIO_REG = False R/W (0b0) XPD_SDIO_TIEH (BLOCK0) If XPD_SDIO_FORCE & XPD_SDIO_REG = 1.8V R/W (0b0) XPD_SDIO_FORCE (BLOCK0) Ignore MTDI pin (GPIO12) for VDD_SDIO on reset = False R/W (0b0) Flash voltage (VDD_SDIO) determined by GPIO12 on reset (High for 1.8V, Low/NC for 3.3V) === Run "dump" command === BLOCK0 ( ) [0 ] dump: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] dump: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] dump: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] dump: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 === Run "get-custom-mac" command === Custom MAC Address is not set in the device. === Run "adc-info" command === ADC VRef calibration: None (1100mV nominal) === Run "check-error" command === EFUSE_REG_DEC_STATUS 0x00000000 No errors detected. PASSED test/test_espefuse.py::TestKeyPurposes::test_burn_xts_aes_key_purpose SKIPPED test/test_espefuse.py::TestKeyPurposes::test_burn_ecdsa_key_purpose SKIPPED test/test_espefuse.py::TestKeyPurposes::test_burn_xts_aes_key SKIPPED test/test_espefuse.py::TestKeyPurposes::test_burn_ecdsa_key SKIPPED test/test_espefuse.py::TestPostponedEfuses::test_postpone_efuses[postpone] Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpg65vlwok -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpg65vlwok -d --do-not-confirm --postpone burn-efuse UART_DOWNLOAD_DIS 1 DISABLE_BT 1 burn-key BLOCK1 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/256bit burn-efuse ABS_DONE_1 1 FLASH_CRYPT_CNT 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - UART_DOWNLOAD_DIS - DISABLE_BT Burning eFuses: - 'UART_DOWNLOAD_DIS' (Disable UART download mode. Valid for ESP32 V3 and newer; only) 0b0 -> 0b1 - 'DISABLE_BT' (Disables Bluetooth) 0b0 -> 0b1 UART_DOWNLOAD_DIS -> 1: eFuses will be read for confirmation, but after that connection to the chip will become impossible. espefuse/esptool will not work. Batch mode is enabled, the burn will be done at the end of the command. === Run "burn-key" command === Burn keys to blocks: - BLOCK1 -> Disabling write to key block... Burn keys in eFuse blocks. The key block will be read and write protected (no further changes or readback). Batch mode is enabled, the burn will be done at the end of the command. === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - ABS_DONE_1 - FLASH_CRYPT_CNT Burning eFuses: - 'ABS_DONE_1' (Secure boot V2 is enabled for bootloader image) 0b0 -> 0b1 - 'FLASH_CRYPT_CNT' (Flash encryption is enabled if this field has an odd number of bits set) 0b0000000 -> 0b0000001 Batch mode is enabled, the burn will be done at the end of the command. Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is not empty (written ): 0x00000000001000000000000000008000000000000000000000000000 (to write): 0x00000020000000000000000000000002000000000000000008100080 (coding scheme = NONE) [01] BLOCK1 is empty, will burn the new value [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! BLOCK1 (flash_encryption) [1 ] to_write: a3a2a1a0 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bfbebdbc Write data to BLOCK1 Addr 3ff5a098, data= a3a2a1a0 Addr 3ff5a09c, data= a7a6a5a4 Addr 3ff5a0a0, data= abaaa9a8 Addr 3ff5a0a4, data= afaeadac Addr 3ff5a0a8, data= b3b2b1b0 Addr 3ff5a0ac, data= b7b6b5b4 Addr 3ff5a0b0, data= bbbab9b8 Addr 3ff5a0b4, data= bfbebdbc BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 bfbebdbcbbbab9b8b7b6b5b4b3b2b1b0afaeadacabaaa9a8a7a6a5a4a3a2a1a0 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK1 (flash_encryption) [1 ] read_regs: a3a2a1a0 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bfbebdbc BURN BLOCK1 - OK (write block == read block) These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0080'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b1'), 'ABS_DONE_1': BitStream('0b1'), 'FLASH_CRYPT_CNT': BitStream('0b0000001') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00000002 00000000 00000000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 2 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 0 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000002000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008002 00000000 00100000 00000000 BURN BLOCK0 - OK (all write block bits are set) Burn postponed eFuses from BLOCK0. BLOCK0 ( ) [0 ] to_write: 08100080 00000000 00000000 00000000 00000000 00000000 00000020 Write data to BLOCK0 Addr 3ff5a01c, data= 8100080 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 0 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 0 Addr 3ff5a034, data= 20 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000020000000000000000000000000000000000000000008100080 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 08100080 00000000 00000000 00008002 00000000 00100000 00000020 BURN BLOCK0 - OK (all write block bits are set) Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 08100080 00000000 00000000 00008002 00000000 00100000 00000020 BLOCK1 (flash_encryption) [1 ] read_regs: a3a2a1a0 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bfbebdbc BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Successful. PASSED test/test_espefuse.py::TestPostponedEfuses::test_postpone_efuses[no-postopone] Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpqpqtj2d7 -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpqpqtj2d7 -d --do-not-confirm --no-postpone burn-efuse UART_DOWNLOAD_DIS 1 DISABLE_BT 1 burn-key BLOCK1 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/256bit burn-efuse ABS_DONE_1 1 FLASH_CRYPT_CNT 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - UART_DOWNLOAD_DIS - DISABLE_BT Burning eFuses: - 'UART_DOWNLOAD_DIS' (Disable UART download mode. Valid for ESP32 V3 and newer; only) 0b0 -> 0b1 - 'DISABLE_BT' (Disables Bluetooth) 0b0 -> 0b1 UART_DOWNLOAD_DIS -> 1: eFuses will be read for confirmation, but after that connection to the chip will become impossible. espefuse/esptool will not work. Batch mode is enabled, the burn will be done at the end of the command. === Run "burn-key" command === Burn keys to blocks: - BLOCK1 -> Disabling write to key block... Burn keys in eFuse blocks. The key block will be read and write protected (no further changes or readback). Batch mode is enabled, the burn will be done at the end of the command. === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - ABS_DONE_1 - FLASH_CRYPT_CNT Burning eFuses: - 'ABS_DONE_1' (Secure boot V2 is enabled for bootloader image) 0b0 -> 0b1 - 'FLASH_CRYPT_CNT' (Flash encryption is enabled if this field has an odd number of bits set) 0b0000000 -> 0b0000001 Batch mode is enabled, the burn will be done at the end of the command. Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is not empty (written ): 0x00000000001000000000000000008000000000000000000000000000 (to write): 0x00000020000000000000000000000002000000000000000008100080 (coding scheme = NONE) [01] BLOCK1 is empty, will burn the new value [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! BLOCK1 (flash_encryption) [1 ] to_write: a3a2a1a0 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bfbebdbc Write data to BLOCK1 Addr 3ff5a098, data= a3a2a1a0 Addr 3ff5a09c, data= a7a6a5a4 Addr 3ff5a0a0, data= abaaa9a8 Addr 3ff5a0a4, data= afaeadac Addr 3ff5a0a8, data= b3b2b1b0 Addr 3ff5a0ac, data= b7b6b5b4 Addr 3ff5a0b0, data= bbbab9b8 Addr 3ff5a0b4, data= bfbebdbc BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 bfbebdbcbbbab9b8b7b6b5b4b3b2b1b0afaeadacabaaa9a8a7a6a5a4a3a2a1a0 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK1 (flash_encryption) [1 ] read_regs: a3a2a1a0 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bfbebdbc BURN BLOCK1 - OK (write block == read block) BLOCK0 ( ) [0 ] to_write: 08100080 00000000 00000000 00000002 00000000 00000000 00000020 Write data to BLOCK0 Addr 3ff5a01c, data= 8100080 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 2 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 0 Addr 3ff5a034, data= 20 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000020000000000000000000000002000000000000000008100080 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 08100080 00000000 00000000 00008002 00000000 00100000 00000020 BURN BLOCK0 - OK (all write block bits are set) Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 08100080 00000000 00000000 00008002 00000000 00100000 00000020 BLOCK1 (flash_encryption) [1 ] read_regs: a3a2a1a0 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bfbebdbc BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Successful. PASSED test/test_espefuse.py::TestPostponedEfuses::test_postpone_efuses[default] Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp5gnb2vd6 -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp5gnb2vd6 -d --do-not-confirm burn-efuse UART_DOWNLOAD_DIS 1 DISABLE_BT 1 burn-key BLOCK1 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/256bit burn-efuse ABS_DONE_1 1 FLASH_CRYPT_CNT 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - UART_DOWNLOAD_DIS - DISABLE_BT Burning eFuses: - 'UART_DOWNLOAD_DIS' (Disable UART download mode. Valid for ESP32 V3 and newer; only) 0b0 -> 0b1 - 'DISABLE_BT' (Disables Bluetooth) 0b0 -> 0b1 UART_DOWNLOAD_DIS -> 1: eFuses will be read for confirmation, but after that connection to the chip will become impossible. espefuse/esptool will not work. Batch mode is enabled, the burn will be done at the end of the command. === Run "burn-key" command === Burn keys to blocks: - BLOCK1 -> Disabling write to key block... Burn keys in eFuse blocks. The key block will be read and write protected (no further changes or readback). Batch mode is enabled, the burn will be done at the end of the command. === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - ABS_DONE_1 - FLASH_CRYPT_CNT Burning eFuses: - 'ABS_DONE_1' (Secure boot V2 is enabled for bootloader image) 0b0 -> 0b1 - 'FLASH_CRYPT_CNT' (Flash encryption is enabled if this field has an odd number of bits set) 0b0000000 -> 0b0000001 Batch mode is enabled, the burn will be done at the end of the command. Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is not empty (written ): 0x00000000001000000000000000008000000000000000000000000000 (to write): 0x00000020000000000000000000000002000000000000000008100080 (coding scheme = NONE) [01] BLOCK1 is empty, will burn the new value [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! BLOCK1 (flash_encryption) [1 ] to_write: a3a2a1a0 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bfbebdbc Write data to BLOCK1 Addr 3ff5a098, data= a3a2a1a0 Addr 3ff5a09c, data= a7a6a5a4 Addr 3ff5a0a0, data= abaaa9a8 Addr 3ff5a0a4, data= afaeadac Addr 3ff5a0a8, data= b3b2b1b0 Addr 3ff5a0ac, data= b7b6b5b4 Addr 3ff5a0b0, data= bbbab9b8 Addr 3ff5a0b4, data= bfbebdbc BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 bfbebdbcbbbab9b8b7b6b5b4b3b2b1b0afaeadacabaaa9a8a7a6a5a4a3a2a1a0 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK1 (flash_encryption) [1 ] read_regs: a3a2a1a0 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bfbebdbc BURN BLOCK1 - OK (write block == read block) These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0080'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b1'), 'ABS_DONE_1': BitStream('0b1'), 'FLASH_CRYPT_CNT': BitStream('0b0000001') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00000002 00000000 00000000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 2 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 0 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000002000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008002 00000000 00100000 00000000 BURN BLOCK0 - OK (all write block bits are set) Burn postponed eFuses from BLOCK0. BLOCK0 ( ) [0 ] to_write: 08100080 00000000 00000000 00000000 00000000 00000000 00000020 Write data to BLOCK0 Addr 3ff5a01c, data= 8100080 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 0 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 0 Addr 3ff5a034, data= 20 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000020000000000000000000000000000000000000000008100080 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 08100080 00000000 00000000 00008002 00000000 00100000 00000020 BURN BLOCK0 - OK (all write block bits are set) Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 08100080 00000000 00000000 00008002 00000000 00100000 00000020 BLOCK1 (flash_encryption) [1 ] read_regs: a3a2a1a0 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bfbebdbc BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Successful. PASSED test/test_espefuse.py::TestCSVEfuseTable::test_extend_efuse_table_with_csv_file Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp3f385hhl -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp3f385hhl -d --do-not-confirm --extend-efuse-table /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/esp_efuse_custom_table.csv summary espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "summary" command === EFUSE_REG_DEC_STATUS 0x00000000 EFUSE_NAME (Block) Description = [Meaningful Value] [Readable/Writeable] (Hex Value) ---------------------------------------------------------------------------------------- Calibration fuses: ADC_VREF (BLOCK0) True ADC reference voltage = 1100 R/W (0b00000) Config fuses: WR_DIS (BLOCK0) Efuse write disable mask = 0 R/W (0x0000) RD_DIS (BLOCK0) Disable reading from BlOCK1-3 = 0 R/W (0x0) DISABLE_APP_CPU (BLOCK0) Disables APP CPU = False R/W (0b0) DISABLE_BT (BLOCK0) Disables Bluetooth = False R/W (0b0) DIS_CACHE (BLOCK0) Disables cache = False R/W (0b0) CHIP_CPU_FREQ_LOW (BLOCK0) If set alongside EFUSE_RD_CHIP_CPU_FREQ_RATED; the = False R/W (0b0) ESP32's max CPU frequency is rated for 160MHz. 24 0MHz otherwise CHIP_CPU_FREQ_RATED (BLOCK0) If set; the ESP32's maximum CPU frequency has been = False R/W (0b0) rated BLK3_PART_RESERVE (BLOCK0) BLOCK3 partially served for ADC calibration data = False R/W (0b0) CLK8M_FREQ (BLOCK0) 8MHz clock freq override = 0 R/W (0x00) VOL_LEVEL_HP_INV (BLOCK0) This field stores the voltage level for CPU to run = 0 R/W (0b00) at 240 MHz; or for flash/PSRAM to run at 80 MHz.0 x0: level 7; 0x1: level 6; 0x2: level 5; 0x3: leve l 4. (RO) CODING_SCHEME (BLOCK0) Efuse variable block length scheme = NONE (BLK1-3 len=256 bits) R/W (0b00) CONSOLE_DEBUG_DISABLE (BLOCK0) Disable ROM BASIC interpreter fallback = False R/W (0b0) DISABLE_SDIO_HOST (BLOCK0) = False R/W (0b0) DISABLE_DL_CACHE (BLOCK0) Disable flash cache in UART bootloader = False R/W (0b0) Flash fuses: FLASH_CRYPT_CNT (BLOCK0) Flash encryption is enabled if this field has an o = 0 R/W (0b0000000) dd number of bits set FLASH_CRYPT_CONFIG (BLOCK0) Flash encryption config (key tweak bits) = 0 R/W (0x0) Identity fuses: CHIP_PACKAGE_4BIT (BLOCK0) Chip package identifier #4bit = False R/W (0b0) CHIP_PACKAGE (BLOCK0) Chip package identifier = 0 R/W (0b000) CHIP_VER_REV1 (BLOCK0) bit is set to 1 for rev1 silicon = True R/W (0b1) CHIP_VER_REV2 (BLOCK0) = True R/W (0b1) WAFER_VERSION_MINOR (BLOCK0) = 0 R/W (0b00) WAFER_VERSION_MAJOR (BLOCK0) calc WAFER VERSION MAJOR from CHIP_VER_REV1 and CH = 3 R/W (0b011) IP_VER_REV2 and apb_ctl_date (read only) PKG_VERSION (BLOCK0) calc Chip package = CHIP_PACKAGE_4BIT << 3 + CHIP_ = 0 R/W (0x0) PACKAGE (read only) Jtag fuses: JTAG_DISABLE (BLOCK0) Disable JTAG = False R/W (0b0) Mac fuses: MAC (BLOCK0) MAC address = 00:00:00:00:00:00 (CRC 0x00 OK) R/W MAC_CRC (BLOCK0) CRC8 for MAC address = 0 R/W (0x00) MAC_VERSION (BLOCK3) Version of the MAC field = 0 R/W (0x00) CUSTOM_MAC_CRC (BLOCK3) CRC8 for custom MAC address = 0 R/W (0x00) CUSTOM_MAC (BLOCK3) Custom MAC address = 00:00:00:00:00:00 (CRC 0x00 OK) R/W Security fuses: UART_DOWNLOAD_DIS (BLOCK0) Disable UART download mode. Valid for ESP32 V3 and = False R/W (0b0) newer; only 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) 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) KEY_STATUS (BLOCK0) Usage of efuse block 3 (reserved) = False R/W (0b0) SECURE_VERSION (BLOCK3) Secure version for anti-rollback = 0 R/W (0x00000000) 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 00 00 00 00 00 00 00 00 R/W BLOCK2 (BLOCK2) Security 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 00 00 00 00 00 00 00 00 R/W BLOCK3 (BLOCK3) Variable Block 3 = 00 00 00 00 00 00 00 00 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 Spi Pad fuses: SPI_PAD_CONFIG_HD (BLOCK0) read for SPI_pad_config_hd = 0 R/W (0b00000) 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_CS0 (BLOCK0) Override SD_CMD pad (GPIO11/SPICS0) = 0 R/W (0b00000) User fuses: MODULE_VERSION (BLOCK3) Module version (56-63) = 0 R/W (0x00) DEVICE_ROLE (BLOCK3) Device role (64-66) = 0 R/W (0b000) SETTING_1 (BLOCK3) [SETTING_1_ALT_NAME] Setting 1 (67-72) = 0 R/W (0b000000) SETTING_2 (BLOCK3) Setting 2 (73-77) = 0 R/W (0b00000) ID_NUM_0 (BLOCK3) [MY_ID_NUM] comment (140-147) = 0 R/W (0x00) ID_NUM_1 (BLOCK3) [MY_ID_NUM] comment (132-139) = 0 R/W (0x00) ID_NUM_2 (BLOCK3) [MY_ID_NUM] comment (122-129) = 0 R/W (0x00) CUSTOM_SECURE_VERSION (BLOCK3) Custom secure version (78-93) = 0 R/W (0x0000) ID_NUMK_0 (BLOCK3) [MY_ID_NUMK] comment (150-157) = 0 R/W (0x00) ID_NUMK_1 (BLOCK3) [MY_ID_NUMK] comment (182-189) = 0 R/W (0x00) MY_DATA (BLOCK3) My data (190-199) = 0 R/W (0b0000000000) MY_DATA_FIELD1 (BLOCK3) Field1 (190-196) = 0 R/W (0b0000000) Vdd fuses: XPD_SDIO_REG (BLOCK0) read for XPD_SDIO_REG = False R/W (0b0) XPD_SDIO_TIEH (BLOCK0) If XPD_SDIO_FORCE & XPD_SDIO_REG = 1.8V R/W (0b0) XPD_SDIO_FORCE (BLOCK0) Ignore MTDI pin (GPIO12) for VDD_SDIO on reset = False R/W (0b0) Flash voltage (VDD_SDIO) determined by GPIO12 on reset (High for 1.8V, Low/NC for 3.3V) Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmp3f385hhl -d --do-not-confirm --extend-efuse-table /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/esp_efuse_custom_table.csv burn-efuse MODULE_VERSION 1 CUSTOM_SECURE_VERSION 4 SETTING_1_ALT_NAME 7 SETTING_2 1 ID_NUM_0 1 ID_NUM_1 1 ID_NUM_2 1 MY_ID_NUMK_0 1 MY_ID_NUMK_1 1 MY_DATA_FIELD1 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK3 - MODULE_VERSION - CUSTOM_SECURE_VERSION - SETTING_1 - SETTING_2 - ID_NUM_0 - ID_NUM_1 - ID_NUM_2 - ID_NUMK_0 - ID_NUMK_1 - MY_DATA_FIELD1 Burning eFuses: - 'MODULE_VERSION' (Module version (56-63)) 0x00 -> 0x01 - 'CUSTOM_SECURE_VERSION' (Custom secure version (78-93)) 0x0000 -> 0x0004 - 'SETTING_1' ([SETTING_1_ALT_NAME] Setting 1 (67-72)) 0b000000 -> 0b000111 - 'SETTING_2' (Setting 2 (73-77)) 0b00000 -> 0b00001 - 'ID_NUM_0' ([MY_ID_NUM] comment (140-147)) 0x00 -> 0x01 - 'ID_NUM_1' ([MY_ID_NUM] comment (132-139)) 0x00 -> 0x01 - 'ID_NUM_2' ([MY_ID_NUM] comment (122-129)) 0x00 -> 0x01 - 'ID_NUMK_0' ([MY_ID_NUMK] comment (150-157)) 0x00 -> 0x01 - 'ID_NUMK_1' ([MY_ID_NUMK] comment (182-189)) 0x00 -> 0x01 - 'MY_DATA_FIELD1' (Field1 (190-196)) 0b0000000 -> 0b0000001 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 nothing to burn [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 is empty, will burn the new value . This is an irreversible operation! BLOCK3 ( ) [3 ] to_write: 00000000 01000000 00010238 04000000 00401010 40400000 00000000 00000000 Write data to BLOCK3 Addr 3ff5a0d8, data= 0 Addr 3ff5a0dc, data= 1000000 Addr 3ff5a0e0, data= 10238 Addr 3ff5a0e4, data= 4000000 Addr 3ff5a0e8, data= 401010 Addr 3ff5a0ec, data= 40400000 Addr 3ff5a0f0, data= 0 Addr 3ff5a0f4, data= 0 BLOCK3 0000000000000000404000000040101004000000000102380100000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 ( ) [3 ] read_regs: 00000000 01000000 00010238 04000000 00401010 40400000 00000000 00000000 BURN BLOCK3 - OK (write block == read block) These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 01000000 00010238 04000000 00401010 40400000 00000000 00000000 Checking eFuses... Successful. PASSED test/test_espefuse.py::TestCustomKeyPurposes::test_custom_key_purposes SKIPPED test/test_espefuse.py::TestCustomKeyPurposes::test_custom_digest_key_purposes SKIPPED test/test_espefuse.py::TestTokenDump::test_token_dump_basic[esp32_0] Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpawf3zkrk -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpawf3zkrk -d --do-not-confirm burn-efuse RD_DIS 1 --show-token espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - RD_DIS Burning eFuses: - 'RD_DIS' (Disable reading from BlOCK1-3) 0x0 -> 0x1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is not empty (written ): 0x00000000001000000000000000008000000000000000000000000000 (to write): 0x00000000000000000000000000000000000000000000000000010000 (coding scheme = NONE) [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn eFuse token for burning: EFSW:esp32:300:AAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:::::yvkQYg . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x1'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } Burn postponed eFuses from BLOCK0. BLOCK0 ( ) [0 ] to_write: 00010000 00000000 00000000 00000000 00000000 00000000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 10000 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 0 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 0 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000010000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00010000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (all write block bits are set) Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00010000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpawf3zkrk -d --do-not-confirm --token EFSW:esp32:300:AAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:::::yvkQYg dump espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00010000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "dump" command === BLOCK0 ( ) [0 ] dump: 00010000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] dump: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] dump: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] dump: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpawf3zkrk -d --do-not-confirm --token EFSW:esp32:300:AAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:::::yvkQYg summary --active espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00010000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "summary" command === EFUSE_REG_DEC_STATUS 0x00000000 EFUSE_NAME (Block) Description = [Meaningful Value] [Readable/Writeable] (Hex Value) ---------------------------------------------------------------------------------------- Calibration fuses: Config fuses: RD_DIS (BLOCK0) Disable reading from BlOCK1-3 = 1 R/W (0x1) Flash fuses: Identity fuses: CHIP_VER_REV1 (BLOCK0) bit is set to 1 for rev1 silicon = True R/W (0b1) CHIP_VER_REV2 (BLOCK0) = True R/W (0b1) WAFER_VERSION_MAJOR (BLOCK0) calc WAFER VERSION MAJOR from CHIP_VER_REV1 and CH = 3 R/W (0b011) IP_VER_REV2 and apb_ctl_date (read only) Jtag fuses: Mac fuses: Security fuses: BLOCK1 (BLOCK1) Flash encryption key = ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? -/W Spi Pad fuses: Vdd fuses: Flash voltage (VDD_SDIO) determined by GPIO12 on reset (High for 1.8V, Low/NC for 3.3V) PASSED test/test_espefuse.py::TestTokenDump::test_token_dump_basic[esp32_1] SKIPPED test/test_espefuse.py::TestTokenDump::test_multy_burn_cmds_produce_token[esp32] Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpe0yt1vy3 -d --do-not-confirm burn-efuse CHIP_VER_REV1 1 CHIP_VER_REV2 1 espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - CHIP_VER_REV1 - CHIP_VER_REV2 Burning eFuses: - 'CHIP_VER_REV1' (bit is set to 1 for rev1 silicon) 0b0 -> 0b1 - 'CHIP_VER_REV2' () 0b0 -> 0b1 Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is empty, will burn the new value [01] BLOCK1 nothing to burn [02] BLOCK2 nothing to burn [03] BLOCK3 nothing to burn . This is an irreversible operation! These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x0'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } BLOCK0 ( ) [0 ] to_write: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 0 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 8000 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 100000 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000001000000000000000008000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (write block == read block) Burn postponed eFuses from BLOCK0. Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Checking eFuses... Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpe0yt1vy3 -d --do-not-confirm burn-efuse RD_DIS 1 burn-bit BLOCK1 1 burn-key BLOCK2 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/efuse/256bit --no-protect-key --show-token espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00000000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "burn-efuse" command === The eFuses to burn: from BLOCK0 - RD_DIS Burning eFuses: - 'RD_DIS' (Disable reading from BlOCK1-3) 0x0 -> 0x1 Batch mode is enabled, the burn will be done at the end of the command. === Run "burn-bit" command === bit_number: [255]........................................................[0] BLOCK 1 : 0x0000000000000000000000000000000000000000000000000000000000000002 BLOCK1 (flash_encryption) [1 ] regs_to_write: 00000002 00000000 00000000 00000000 00000000 00000000 00000000 00000000 written : 0x0000000000000000000000000000000000000000000000000000000000000000 -> to write: 0x0000000000000000000000000000000000000000000000000000000000000002 Batch mode is enabled, the burn will be done at the end of the command. === Run "burn-key" command === Burn keys to blocks: - BLOCK2 -> Key is left unprotected as per --no-protect-key argument. Burn keys in eFuse blocks. The key block will be left readable and writeable (due to --no-protect-key). Batch mode is enabled, the burn will be done at the end of the command. Check all blocks for burn... idx, BLOCK_NAME, Conclusion [00] BLOCK0 is not empty (written ): 0x00000000001000000000000000008000000000000000000000000000 (to write): 0x00000000000000000000000000000000000000000000000000010000 (coding scheme = NONE) [01] BLOCK1 is empty, will burn the new value [02] BLOCK2 is empty, will burn the new value [03] BLOCK3 nothing to burn eFuse token for burning: EFSW:esp32:300:AAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA:oKGio6SlpqeoqaqrrK2ur7CxsrO0tba3uLm6u7y9vr8:::x8WPiQ . This is an irreversible operation! BLOCK2 (secure_boot_v1 s) [2 ] to_write: a3a2a1a0 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bfbebdbc Write data to BLOCK2 Addr 3ff5a0b8, data= a3a2a1a0 Addr 3ff5a0bc, data= a7a6a5a4 Addr 3ff5a0c0, data= abaaa9a8 Addr 3ff5a0c4, data= afaeadac Addr 3ff5a0c8, data= b3b2b1b0 Addr 3ff5a0cc, data= b7b6b5b4 Addr 3ff5a0d0, data= bbbab9b8 Addr 3ff5a0d4, data= bfbebdbc BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 bfbebdbcbbbab9b8b7b6b5b4b3b2b1b0afaeadacabaaa9a8a7a6a5a4a3a2a1a0 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: a3a2a1a0 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bfbebdbc BURN BLOCK2 - OK (write block == read block) BLOCK1 (flash_encryption) [1 ] to_write: 00000002 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Write data to BLOCK1 Addr 3ff5a098, data= 2 Addr 3ff5a09c, data= 0 Addr 3ff5a0a0, data= 0 Addr 3ff5a0a4, data= 0 Addr 3ff5a0a8, data= 0 Addr 3ff5a0ac, data= 0 Addr 3ff5a0b0, data= 0 Addr 3ff5a0b4, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000002 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000002 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BURN BLOCK1 - OK (write block == read block) These BLOCK0 eFuses will be burned later at the very end: { 'WR_DIS': BitStream('0x0000'), 'RD_DIS': BitStream('0x1'), 'UART_DOWNLOAD_DIS': BitStream('0b0'), 'ABS_DONE_1': BitStream('0b0'), 'FLASH_CRYPT_CNT': BitStream('0b0000000') } Burn postponed eFuses from BLOCK0. BLOCK0 ( ) [0 ] to_write: 00010000 00000000 00000000 00000000 00000000 00000000 00000000 Write data to BLOCK0 Addr 3ff5a01c, data= 10000 Addr 3ff5a020, data= 0 Addr 3ff5a024, data= 0 Addr 3ff5a028, data= 0 Addr 3ff5a02c, data= 0 Addr 3ff5a030, data= 0 Addr 3ff5a034, data= 0 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000010000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK3 0000000000000000000000000000000000000000000000000000000000000000 BLOCK2 0000000000000000000000000000000000000000000000000000000000000000 BLOCK1 0000000000000000000000000000000000000000000000000000000000000000 BLOCK0 00000000000000000000000000000000000000000000000000000000 BLOCK0 ( ) [0 ] read_regs: 00010000 00000000 00000000 00008000 00000000 00100000 00000000 BURN BLOCK0 - OK (all write block bits are set) Reading updated eFuses... BLOCK0 ( ) [0 ] read_regs: 00010000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: a3a2a1a0 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bfbebdbc BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 Successful. Running command: /usr/bin/python3 -m espefuse --chip esp32 --virt --path-efuse-file /tmp/tmpe0yt1vy3 -d --do-not-confirm dump --format token espefuse v5.4.0 BLOCK0 ( ) [0 ] read_regs: 00010000 00000000 00000000 00008000 00000000 00100000 00000000 BLOCK1 (flash_encryption) [1 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 BLOCK2 (secure_boot_v1 s) [2 ] read_regs: a3a2a1a0 a7a6a5a4 abaaa9a8 afaeadac b3b2b1b0 b7b6b5b4 bbbab9b8 bfbebdbc BLOCK3 ( ) [3 ] read_regs: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 EFUSE_REG_DEC_STATUS 0x00000000 === Run "dump" command === EFSR:esp32:300:AAABAAAAAAAAAAAAAIAAAAAAAAAAABAAAAAAAA::oKGio6SlpqeoqaqrrK2ur7CxsrO0tba3uLm6u7y9vr8:::fPaC-A PASSED test/test_espefuse.py::TestTokenDump::test_multy_burn_cmds_produce_token[esp32c2] SKIPPED test/test_espefuse.py::TestTokenDump::test_multy_burn_cmds_produce_token[esp32c3] SKIPPED test/test_espsecure.py::TestESP32SecureBootloader::test_digest_bootloader Executing /usr/bin/python3 -m espsecure digest-secure-bootloader --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/256bit_key.bin --output /tmp/tmpxmmg7rrn --iv /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/256bit_iv.bin /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader.bin... espsecure v5.4.0 WARNING: --iv argument is for TESTING PURPOSES ONLY Using 256-bit key. Digest + image written to "/tmp/tmpxmmg7rrn" PASSED test/test_espsecure.py::TestESP32SecureBootloader::test_digest_rsa_public_key Executing /usr/bin/python3 -m espsecure digest-rsa-public-key --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/rsa_secure_boot_signing_key.pem -o /tmp/tmpf0f8pfb1... espsecure v5.4.0 DeprecationWarning: The command 'digest-rsa-public-key' is deprecated. Writing the public key digest of "/builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/rsa_secure_boot_signing_key.pem" to "/tmp/tmpf0f8pfb1". PASSED test/test_espsecure.py::TestESP32SecureBootloader::test_extract_public_key_v1 Executing /usr/bin/python3 -m espsecure generate-signing-key --version 1 --scheme ecdsa256 /tmp/tmpqz4umaon/v1_key.pem... espsecure v5.4.0 ECDSA NIST256p private key in PEM format written to "/tmp/tmpqz4umaon/v1_key.pem". Executing /usr/bin/python3 -m espsecure extract-public-key --version 1 --keyfile /tmp/tmpqz4umaon/v1_key.pem /tmp/tmpqz4umaon/v1_public_key.bin... espsecure v5.4.0 "/tmp/tmpqz4umaon/v1_key.pem" public key extracted to "/tmp/tmpqz4umaon/v1_public_key.bin". PASSED test/test_espsecure.py::TestESP32SecureBootloader::test_extract_public_key_v2 Executing /usr/bin/python3 -m espsecure generate-signing-key --version 2 --scheme ecdsa256 /tmp/tmp6z6xo77o/v2_key.pem... espsecure v5.4.0 ECDSA NIST256p private key in PEM format written to "/tmp/tmp6z6xo77o/v2_key.pem". Executing /usr/bin/python3 -m espsecure extract-public-key --version 2 --keyfile /tmp/tmp6z6xo77o/v2_key.pem /tmp/tmp6z6xo77o/v2_public_key.pem... espsecure v5.4.0 "/tmp/tmp6z6xo77o/v2_key.pem" public key extracted to "/tmp/tmp6z6xo77o/v2_public_key.pem". PASSED test/test_espsecure.py::TestSigning::test_key_generation_v1 Executing /usr/bin/python3 -m espsecure generate-signing-key --version 1 /tmp/tmpm2zvaoi0/key.pem... espsecure v5.4.0 ECDSA NIST256p private key in PEM format written to "/tmp/tmpm2zvaoi0/key.pem". PASSED test/test_espsecure.py::TestSigning::test_key_generation_v2[rsa3072] Executing /usr/bin/python3 -m espsecure generate-signing-key --version 2 --scheme rsa3072 /tmp/tmpzm21lldn/key.pem... espsecure v5.4.0 RSA 3072 private key in PEM format written to "/tmp/tmpzm21lldn/key.pem". PASSED test/test_espsecure.py::TestSigning::test_key_generation_v2[ecdsa256] Executing /usr/bin/python3 -m espsecure generate-signing-key --version 2 --scheme ecdsa256 /tmp/tmpmtzt2j3l/key.pem... espsecure v5.4.0 ECDSA NIST256p private key in PEM format written to "/tmp/tmpmtzt2j3l/key.pem". PASSED test/test_espsecure.py::TestSigning::test_key_generation_v2[ecdsa384] Executing /usr/bin/python3 -m espsecure generate-signing-key --version 2 --scheme ecdsa384 /tmp/tmpuy7wngqs/key.pem... espsecure v5.4.0 ECDSA NIST384p private key in PEM format written to "/tmp/tmpuy7wngqs/key.pem". PASSED test/test_espsecure.py::TestSigning::test_sign_v1_data Executing /usr/bin/python3 -m espsecure sign-data --version 1 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa256_secure_boot_signing_key.pem --output /tmp/tmp6aexcy73 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader.bin... espsecure v5.4.0 Signed 21696 bytes of data from "/builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader.bin". PASSED test/test_espsecure.py::TestSigning::test_sign_v1_data_pkcs8 Executing /usr/bin/python3 -m espsecure sign-data --version 1 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa256_secure_boot_signing_key_pkcs8.pem --output /tmp/tmptukupfh5 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader.bin... espsecure v5.4.0 Signed 21696 bytes of data from "/builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader.bin". PASSED test/test_espsecure.py::TestSigning::test_sign_v1_with_pre_calculated_signature Executing /usr/bin/python3 -m espsecure sign-data --version 1 --pub-key /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa256_secure_boot_signing_pubkey.pem --signature /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/pre_calculated_bootloader_signature.bin --output /tmp/tmpbrvixvim /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader.bin... espsecure v5.4.0 Pre-calculated signatures found... Signed 21696 bytes of data from "/builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader.bin". Executing /usr/bin/python3 -m espsecure verify-signature --version 1 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa256_secure_boot_signing_pubkey.pem /tmp/tmpbrvixvim... espsecure v5.4.0 Verifying 21696 bytes of data... Signature is valid. PASSED test/test_espsecure.py::TestSigning::test_sign_v2_data[rsa] Executing /usr/bin/python3 -m espsecure sign-data --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/rsa_secure_boot_signing_key.pem --output /tmp/tmptn7taj9y /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_unsigned_v2.bin... espsecure v5.4.0 1 signing key(s) found. Signed 32768 bytes of data from "/builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_unsigned_v2.bin". Signature sector now has 1 signature blocks. Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/rsa_secure_boot_signing_key.pem /tmp/tmptn7taj9y... espsecure v5.4.0 Signature block 0 is valid (RSA). Signature block 0 verification successful using the supplied key (RSA). Signature block 1 invalid. Skipping. Signature block 2 invalid. Skipping. PASSED test/test_espsecure.py::TestSigning::test_sign_v2_data[ecdsa256] Executing /usr/bin/python3 -m espsecure sign-data --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa256_secure_boot_signing_key.pem --output /tmp/tmpg3jbpd4b /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_unsigned_v2.bin... espsecure v5.4.0 1 signing key(s) found. Signed 32768 bytes of data from "/builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_unsigned_v2.bin". Signature sector now has 1 signature blocks. Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa256_secure_boot_signing_key.pem /tmp/tmpg3jbpd4b... espsecure v5.4.0 Signature block 0 is valid (ECDSA). Signature block 0 verification successful using the supplied key (ECDSA). Signature block 1 invalid. Skipping. Signature block 2 invalid. Skipping. PASSED test/test_espsecure.py::TestSigning::test_sign_v2_data[ecdsa384] Executing /usr/bin/python3 -m espsecure sign-data --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa384_secure_boot_signing_key.pem --output /tmp/tmp6atha88g /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_unsigned_v2.bin... espsecure v5.4.0 1 signing key(s) found. Signed 32768 bytes of data from "/builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_unsigned_v2.bin". Signature sector now has 1 signature blocks. Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa384_secure_boot_signing_key.pem /tmp/tmp6atha88g... espsecure v5.4.0 Signature block 0 is valid (ECDSA). Signature block 0 verification successful using the supplied key (ECDSA). Signature block 1 invalid. Skipping. Signature block 2 invalid. Skipping. PASSED test/test_espsecure.py::TestSigning::test_sign_v2_data_skip_padding[rsa] Executing /usr/bin/python3 -m espsecure sign-data --version 2 --skip-padding --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/rsa_secure_boot_signing_key.pem --output /tmp/tmpbdinv06p /tmp/tmpirmjxn_t... espsecure v5.4.0 Skipping sector padding. Data contents are not sector aligned. 1 signing key(s) found. Signed 100 bytes of data from "/tmp/tmpirmjxn_t". Signature sector now has 1 signature blocks. Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --skip-padding --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/rsa_secure_boot_signing_key.pem /tmp/tmpbdinv06p... espsecure v5.4.0 Signature block 0 is valid (RSA). Signature block 0 verification successful using the supplied key (RSA). Signature block 1 invalid. Skipping. Signature block 2 invalid. Skipping. PASSED test/test_espsecure.py::TestSigning::test_sign_v2_data_skip_padding[ecdsa256] Executing /usr/bin/python3 -m espsecure sign-data --version 2 --skip-padding --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa256_secure_boot_signing_key.pem --output /tmp/tmpc4obsv1w /tmp/tmpi9elidvq... espsecure v5.4.0 Skipping sector padding. Data contents are not sector aligned. 1 signing key(s) found. Signed 100 bytes of data from "/tmp/tmpi9elidvq". Signature sector now has 1 signature blocks. Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --skip-padding --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa256_secure_boot_signing_key.pem /tmp/tmpc4obsv1w... espsecure v5.4.0 Signature block 0 is valid (ECDSA). Signature block 0 verification successful using the supplied key (ECDSA). Signature block 1 invalid. Skipping. Signature block 2 invalid. Skipping. PASSED test/test_espsecure.py::TestSigning::test_sign_v2_data_skip_padding[ecdsa384] Executing /usr/bin/python3 -m espsecure sign-data --version 2 --skip-padding --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa384_secure_boot_signing_key.pem --output /tmp/tmp7dpb72up /tmp/tmp8h6ujhpr... espsecure v5.4.0 Skipping sector padding. Data contents are not sector aligned. 1 signing key(s) found. Signed 100 bytes of data from "/tmp/tmp8h6ujhpr". Signature sector now has 1 signature blocks. Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --skip-padding --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa384_secure_boot_signing_key.pem /tmp/tmp7dpb72up... espsecure v5.4.0 Signature block 0 is valid (ECDSA). Signature block 0 verification successful using the supplied key (ECDSA). Signature block 1 invalid. Skipping. Signature block 2 invalid. Skipping. PASSED test/test_espsecure.py::TestSigning::test_verify_signature_v2_skip_padding_file_too_small Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --skip-padding --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/rsa_secure_boot_signing_key.pem /tmp/tmpjhm0gtpi... espsecure v5.4.0 ERROR: A fatal error occurred: Invalid datafile. File too small (must be at least 4096 bytes). PASSED test/test_espsecure.py::TestSigning::test_sign_v2_multiple_keys_cli[rsa] Executing /usr/bin/python3 -m espsecure sign-data --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/rsa_secure_boot_signing_key.pem /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/rsa_secure_boot_signing_key2.pem /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/rsa_secure_boot_signing_key3.pem --output /tmp/tmprbgaa52i /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_unsigned_v2.bin... espsecure v5.4.0 3 signing key(s) found. Signed 32768 bytes of data from "/builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_unsigned_v2.bin". Signature sector now has 3 signature blocks. Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/rsa_secure_boot_signing_key.pem /tmp/tmprbgaa52i... espsecure v5.4.0 Signature block 0 is valid (RSA). Signature block 0 verification successful using the supplied key (RSA). Signature block 1 is valid (RSA). Signature block 1 is not signed by the supplied key. Checking the next block... Signature block 2 is valid (RSA). Signature block 2 is not signed by the supplied key. Checking the next block... Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/rsa_secure_boot_signing_key2.pem /tmp/tmprbgaa52i... espsecure v5.4.0 Signature block 0 is valid (RSA). Signature block 0 is not signed by the supplied key. Checking the next block... Signature block 1 is valid (RSA). Signature block 1 verification successful using the supplied key (RSA). Signature block 2 is valid (RSA). Signature block 2 is not signed by the supplied key. Checking the next block... Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/rsa_secure_boot_signing_key3.pem /tmp/tmprbgaa52i... espsecure v5.4.0 Signature block 0 is valid (RSA). Signature block 0 is not signed by the supplied key. Checking the next block... Signature block 1 is valid (RSA). Signature block 1 is not signed by the supplied key. Checking the next block... Signature block 2 is valid (RSA). Signature block 2 verification successful using the supplied key (RSA). PASSED test/test_espsecure.py::TestSigning::test_sign_v2_multiple_keys_cli[ecdsa256] Executing /usr/bin/python3 -m espsecure sign-data --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa256_secure_boot_signing_key.pem /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa256_secure_boot_signing_key2.pem /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa256_secure_boot_signing_key3.pem --output /tmp/tmpc51pwowy /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_unsigned_v2.bin... espsecure v5.4.0 3 signing key(s) found. Signed 32768 bytes of data from "/builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_unsigned_v2.bin". Signature sector now has 3 signature blocks. Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa256_secure_boot_signing_key.pem /tmp/tmpc51pwowy... espsecure v5.4.0 Signature block 0 is valid (ECDSA). Signature block 0 verification successful using the supplied key (ECDSA). Signature block 1 is valid (ECDSA). Signature block 1 is not signed by the supplied key. Checking the next block... Signature block 2 is valid (ECDSA). Signature block 2 is not signed by the supplied key. Checking the next block... Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa256_secure_boot_signing_key2.pem /tmp/tmpc51pwowy... espsecure v5.4.0 Signature block 0 is valid (ECDSA). Signature block 0 is not signed by the supplied key. Checking the next block... Signature block 1 is valid (ECDSA). Signature block 1 verification successful using the supplied key (ECDSA). Signature block 2 is valid (ECDSA). Signature block 2 is not signed by the supplied key. Checking the next block... Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa256_secure_boot_signing_key3.pem /tmp/tmpc51pwowy... espsecure v5.4.0 Signature block 0 is valid (ECDSA). Signature block 0 is not signed by the supplied key. Checking the next block... Signature block 1 is valid (ECDSA). Signature block 1 is not signed by the supplied key. Checking the next block... Signature block 2 is valid (ECDSA). Signature block 2 verification successful using the supplied key (ECDSA). PASSED test/test_espsecure.py::TestSigning::test_sign_v2_multiple_keys_cli[ecdsa384] Executing /usr/bin/python3 -m espsecure sign-data --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa384_secure_boot_signing_key.pem /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa384_secure_boot_signing_key2.pem /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa384_secure_boot_signing_key3.pem --output /tmp/tmpqpy4n0lk /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_unsigned_v2.bin... espsecure v5.4.0 3 signing key(s) found. Signed 32768 bytes of data from "/builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_unsigned_v2.bin". Signature sector now has 3 signature blocks. Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa384_secure_boot_signing_key.pem /tmp/tmpqpy4n0lk... espsecure v5.4.0 Signature block 0 is valid (ECDSA). Signature block 0 verification successful using the supplied key (ECDSA). Signature block 1 is valid (ECDSA). Signature block 1 is not signed by the supplied key. Checking the next block... Signature block 2 is valid (ECDSA). Signature block 2 is not signed by the supplied key. Checking the next block... Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa384_secure_boot_signing_key2.pem /tmp/tmpqpy4n0lk... espsecure v5.4.0 Signature block 0 is valid (ECDSA). Signature block 0 is not signed by the supplied key. Checking the next block... Signature block 1 is valid (ECDSA). Signature block 1 verification successful using the supplied key (ECDSA). Signature block 2 is valid (ECDSA). Signature block 2 is not signed by the supplied key. Checking the next block... Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa384_secure_boot_signing_key3.pem /tmp/tmpqpy4n0lk... espsecure v5.4.0 Signature block 0 is valid (ECDSA). Signature block 0 is not signed by the supplied key. Checking the next block... Signature block 1 is valid (ECDSA). Signature block 1 is not signed by the supplied key. Checking the next block... Signature block 2 is valid (ECDSA). Signature block 2 verification successful using the supplied key (ECDSA). PASSED test/test_espsecure.py::TestSigning::test_sign_v2_multiple_keys[rsa] Executing /usr/bin/python3 -m espsecure sign-data --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/rsa_secure_boot_signing_key.pem /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/rsa_secure_boot_signing_key2.pem /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/rsa_secure_boot_signing_key3.pem --output /tmp/tmph0aqv9c1 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_unsigned_v2.bin... espsecure v5.4.0 3 signing key(s) found. Signed 32768 bytes of data from "/builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_unsigned_v2.bin". Signature sector now has 3 signature blocks. Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/rsa_secure_boot_signing_key3.pem /tmp/tmph0aqv9c1... espsecure v5.4.0 Signature block 0 is valid (RSA). Signature block 0 is not signed by the supplied key. Checking the next block... Signature block 1 is valid (RSA). Signature block 1 is not signed by the supplied key. Checking the next block... Signature block 2 is valid (RSA). Signature block 2 verification successful using the supplied key (RSA). Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/rsa_secure_boot_signing_key2.pem /tmp/tmph0aqv9c1... espsecure v5.4.0 Signature block 0 is valid (RSA). Signature block 0 is not signed by the supplied key. Checking the next block... Signature block 1 is valid (RSA). Signature block 1 verification successful using the supplied key (RSA). Signature block 2 is valid (RSA). Signature block 2 is not signed by the supplied key. Checking the next block... Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/rsa_secure_boot_signing_key.pem /tmp/tmph0aqv9c1... espsecure v5.4.0 Signature block 0 is valid (RSA). Signature block 0 verification successful using the supplied key (RSA). Signature block 1 is valid (RSA). Signature block 1 is not signed by the supplied key. Checking the next block... Signature block 2 is valid (RSA). Signature block 2 is not signed by the supplied key. Checking the next block... PASSED test/test_espsecure.py::TestSigning::test_sign_v2_multiple_keys[ecdsa256] Executing /usr/bin/python3 -m espsecure sign-data --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa256_secure_boot_signing_key.pem /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa256_secure_boot_signing_key2.pem /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa256_secure_boot_signing_key3.pem --output /tmp/tmpyr7v0vfi /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_unsigned_v2.bin... espsecure v5.4.0 3 signing key(s) found. Signed 32768 bytes of data from "/builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_unsigned_v2.bin". Signature sector now has 3 signature blocks. Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa256_secure_boot_signing_key3.pem /tmp/tmpyr7v0vfi... espsecure v5.4.0 Signature block 0 is valid (ECDSA). Signature block 0 is not signed by the supplied key. Checking the next block... Signature block 1 is valid (ECDSA). Signature block 1 is not signed by the supplied key. Checking the next block... Signature block 2 is valid (ECDSA). Signature block 2 verification successful using the supplied key (ECDSA). Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa256_secure_boot_signing_key2.pem /tmp/tmpyr7v0vfi... espsecure v5.4.0 Signature block 0 is valid (ECDSA). Signature block 0 is not signed by the supplied key. Checking the next block... Signature block 1 is valid (ECDSA). Signature block 1 verification successful using the supplied key (ECDSA). Signature block 2 is valid (ECDSA). Signature block 2 is not signed by the supplied key. Checking the next block... Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa256_secure_boot_signing_key.pem /tmp/tmpyr7v0vfi... espsecure v5.4.0 Signature block 0 is valid (ECDSA). Signature block 0 verification successful using the supplied key (ECDSA). Signature block 1 is valid (ECDSA). Signature block 1 is not signed by the supplied key. Checking the next block... Signature block 2 is valid (ECDSA). Signature block 2 is not signed by the supplied key. Checking the next block... PASSED test/test_espsecure.py::TestSigning::test_sign_v2_multiple_keys[ecdsa384] Executing /usr/bin/python3 -m espsecure sign-data --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa384_secure_boot_signing_key.pem /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa384_secure_boot_signing_key2.pem /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa384_secure_boot_signing_key3.pem --output /tmp/tmpd5yiv8b6 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_unsigned_v2.bin... espsecure v5.4.0 3 signing key(s) found. Signed 32768 bytes of data from "/builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_unsigned_v2.bin". Signature sector now has 3 signature blocks. Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa384_secure_boot_signing_key3.pem /tmp/tmpd5yiv8b6... espsecure v5.4.0 Signature block 0 is valid (ECDSA). Signature block 0 is not signed by the supplied key. Checking the next block... Signature block 1 is valid (ECDSA). Signature block 1 is not signed by the supplied key. Checking the next block... Signature block 2 is valid (ECDSA). Signature block 2 verification successful using the supplied key (ECDSA). Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa384_secure_boot_signing_key2.pem /tmp/tmpd5yiv8b6... espsecure v5.4.0 Signature block 0 is valid (ECDSA). Signature block 0 is not signed by the supplied key. Checking the next block... Signature block 1 is valid (ECDSA). Signature block 1 verification successful using the supplied key (ECDSA). Signature block 2 is valid (ECDSA). Signature block 2 is not signed by the supplied key. Checking the next block... Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa384_secure_boot_signing_key.pem /tmp/tmpd5yiv8b6... espsecure v5.4.0 Signature block 0 is valid (ECDSA). Signature block 0 verification successful using the supplied key (ECDSA). Signature block 1 is valid (ECDSA). Signature block 1 is not signed by the supplied key. Checking the next block... Signature block 2 is valid (ECDSA). Signature block 2 is not signed by the supplied key. Checking the next block... PASSED test/test_espsecure.py::TestSigning::test_sign_v2_append_signatures[rsa] Executing /usr/bin/python3 -m espsecure sign-data --version 2 --append-signatures --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/rsa_secure_boot_signing_key2.pem /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/rsa_secure_boot_signing_key3.pem --output /tmp/tmp1xqnu1mc /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_signed_v2_rsa.bin... espsecure v5.4.0 Signature block 0 is valid (RSA). 1 valid signature block(s) already present in the signature sector. 2 signing key(s) found. Signed 32768 bytes of data from "/builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_signed_v2_rsa.bin". Signature sector now has 3 signature blocks. Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/rsa_secure_boot_signing_key.pem /tmp/tmp1xqnu1mc... espsecure v5.4.0 Signature block 0 is valid (RSA). Signature block 0 verification successful using the supplied key (RSA). Signature block 1 is valid (RSA). Signature block 1 is not signed by the supplied key. Checking the next block... Signature block 2 is valid (RSA). Signature block 2 is not signed by the supplied key. Checking the next block... Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/rsa_secure_boot_signing_key2.pem /tmp/tmp1xqnu1mc... espsecure v5.4.0 Signature block 0 is valid (RSA). Signature block 0 is not signed by the supplied key. Checking the next block... Signature block 1 is valid (RSA). Signature block 1 verification successful using the supplied key (RSA). Signature block 2 is valid (RSA). Signature block 2 is not signed by the supplied key. Checking the next block... Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/rsa_secure_boot_signing_key3.pem /tmp/tmp1xqnu1mc... espsecure v5.4.0 Signature block 0 is valid (RSA). Signature block 0 is not signed by the supplied key. Checking the next block... Signature block 1 is valid (RSA). Signature block 1 is not signed by the supplied key. Checking the next block... Signature block 2 is valid (RSA). Signature block 2 verification successful using the supplied key (RSA). PASSED test/test_espsecure.py::TestSigning::test_sign_v2_append_signatures[ecdsa256] Executing /usr/bin/python3 -m espsecure sign-data --version 2 --append-signatures --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa256_secure_boot_signing_key2.pem /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa256_secure_boot_signing_key3.pem --output /tmp/tmptiivn6jg /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_signed_v2_ecdsa256.bin... espsecure v5.4.0 Signature block 0 is valid (ECDSA). 1 valid signature block(s) already present in the signature sector. 2 signing key(s) found. Signed 32768 bytes of data from "/builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_signed_v2_ecdsa256.bin". Signature sector now has 3 signature blocks. Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa256_secure_boot_signing_key.pem /tmp/tmptiivn6jg... espsecure v5.4.0 Signature block 0 is valid (ECDSA). Signature block 0 verification successful using the supplied key (ECDSA). Signature block 1 is valid (ECDSA). Signature block 1 is not signed by the supplied key. Checking the next block... Signature block 2 is valid (ECDSA). Signature block 2 is not signed by the supplied key. Checking the next block... Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa256_secure_boot_signing_key2.pem /tmp/tmptiivn6jg... espsecure v5.4.0 Signature block 0 is valid (ECDSA). Signature block 0 is not signed by the supplied key. Checking the next block... Signature block 1 is valid (ECDSA). Signature block 1 verification successful using the supplied key (ECDSA). Signature block 2 is valid (ECDSA). Signature block 2 is not signed by the supplied key. Checking the next block... Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa256_secure_boot_signing_key3.pem /tmp/tmptiivn6jg... espsecure v5.4.0 Signature block 0 is valid (ECDSA). Signature block 0 is not signed by the supplied key. Checking the next block... Signature block 1 is valid (ECDSA). Signature block 1 is not signed by the supplied key. Checking the next block... Signature block 2 is valid (ECDSA). Signature block 2 verification successful using the supplied key (ECDSA). PASSED test/test_espsecure.py::TestSigning::test_sign_v2_append_signatures[ecdsa384] Executing /usr/bin/python3 -m espsecure sign-data --version 2 --append-signatures --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa384_secure_boot_signing_key2.pem /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa384_secure_boot_signing_key3.pem --output /tmp/tmphvzcf1rz /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_signed_v2_ecdsa384.bin... espsecure v5.4.0 Signature block 0 is valid (ECDSA). 1 valid signature block(s) already present in the signature sector. 2 signing key(s) found. Signed 32768 bytes of data from "/builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_signed_v2_ecdsa384.bin". Signature sector now has 3 signature blocks. Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa384_secure_boot_signing_key.pem /tmp/tmphvzcf1rz... espsecure v5.4.0 Signature block 0 is valid (ECDSA). Signature block 0 verification successful using the supplied key (ECDSA). Signature block 1 is valid (ECDSA). Signature block 1 is not signed by the supplied key. Checking the next block... Signature block 2 is valid (ECDSA). Signature block 2 is not signed by the supplied key. Checking the next block... Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa384_secure_boot_signing_key2.pem /tmp/tmphvzcf1rz... espsecure v5.4.0 Signature block 0 is valid (ECDSA). Signature block 0 is not signed by the supplied key. Checking the next block... Signature block 1 is valid (ECDSA). Signature block 1 verification successful using the supplied key (ECDSA). Signature block 2 is valid (ECDSA). Signature block 2 is not signed by the supplied key. Checking the next block... Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa384_secure_boot_signing_key3.pem /tmp/tmphvzcf1rz... espsecure v5.4.0 Signature block 0 is valid (ECDSA). Signature block 0 is not signed by the supplied key. Checking the next block... Signature block 1 is valid (ECDSA). Signature block 1 is not signed by the supplied key. Checking the next block... Signature block 2 is valid (ECDSA). Signature block 2 verification successful using the supplied key (ECDSA). PASSED test/test_espsecure.py::TestSigning::test_sign_v2_append_signatures_multiple_steps[rsa] Executing /usr/bin/python3 -m espsecure sign-data --version 2 --append-signatures --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/rsa_secure_boot_signing_key2.pem --output /tmp/tmpjalcidj0 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_signed_v2_rsa.bin... espsecure v5.4.0 Signature block 0 is valid (RSA). 1 valid signature block(s) already present in the signature sector. 1 signing key(s) found. Signed 32768 bytes of data from "/builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_signed_v2_rsa.bin". Signature sector now has 2 signature blocks. Executing /usr/bin/python3 -m espsecure sign-data --version 2 --append-signatures --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/rsa_secure_boot_signing_key3.pem --output /tmp/tmpbqvelxyi /tmp/tmpjalcidj0... espsecure v5.4.0 Signature block 0 is valid (RSA). Signature block 1 is valid (RSA). 2 valid signature block(s) already present in the signature sector. 1 signing key(s) found. Signed 32768 bytes of data from "/tmp/tmpjalcidj0". Signature sector now has 3 signature blocks. Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/rsa_secure_boot_signing_key.pem /tmp/tmpbqvelxyi... espsecure v5.4.0 Signature block 0 is valid (RSA). Signature block 0 verification successful using the supplied key (RSA). Signature block 1 is valid (RSA). Signature block 1 is not signed by the supplied key. Checking the next block... Signature block 2 is valid (RSA). Signature block 2 is not signed by the supplied key. Checking the next block... Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/rsa_secure_boot_signing_key2.pem /tmp/tmpbqvelxyi... espsecure v5.4.0 Signature block 0 is valid (RSA). Signature block 0 is not signed by the supplied key. Checking the next block... Signature block 1 is valid (RSA). Signature block 1 verification successful using the supplied key (RSA). Signature block 2 is valid (RSA). Signature block 2 is not signed by the supplied key. Checking the next block... Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/rsa_secure_boot_signing_key3.pem /tmp/tmpbqvelxyi... espsecure v5.4.0 Signature block 0 is valid (RSA). Signature block 0 is not signed by the supplied key. Checking the next block... Signature block 1 is valid (RSA). Signature block 1 is not signed by the supplied key. Checking the next block... Signature block 2 is valid (RSA). Signature block 2 verification successful using the supplied key (RSA). PASSED test/test_espsecure.py::TestSigning::test_sign_v2_append_signatures_multiple_steps[ecdsa256] Executing /usr/bin/python3 -m espsecure sign-data --version 2 --append-signatures --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa256_secure_boot_signing_key2.pem --output /tmp/tmpu4yogyqz /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_signed_v2_ecdsa256.bin... espsecure v5.4.0 Signature block 0 is valid (ECDSA). 1 valid signature block(s) already present in the signature sector. 1 signing key(s) found. Signed 32768 bytes of data from "/builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_signed_v2_ecdsa256.bin". Signature sector now has 2 signature blocks. Executing /usr/bin/python3 -m espsecure sign-data --version 2 --append-signatures --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa256_secure_boot_signing_key3.pem --output /tmp/tmpq5rnd1lj /tmp/tmpu4yogyqz... espsecure v5.4.0 Signature block 0 is valid (ECDSA). Signature block 1 is valid (ECDSA). 2 valid signature block(s) already present in the signature sector. 1 signing key(s) found. Signed 32768 bytes of data from "/tmp/tmpu4yogyqz". Signature sector now has 3 signature blocks. Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa256_secure_boot_signing_key.pem /tmp/tmpq5rnd1lj... espsecure v5.4.0 Signature block 0 is valid (ECDSA). Signature block 0 verification successful using the supplied key (ECDSA). Signature block 1 is valid (ECDSA). Signature block 1 is not signed by the supplied key. Checking the next block... Signature block 2 is valid (ECDSA). Signature block 2 is not signed by the supplied key. Checking the next block... Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa256_secure_boot_signing_key2.pem /tmp/tmpq5rnd1lj... espsecure v5.4.0 Signature block 0 is valid (ECDSA). Signature block 0 is not signed by the supplied key. Checking the next block... Signature block 1 is valid (ECDSA). Signature block 1 verification successful using the supplied key (ECDSA). Signature block 2 is valid (ECDSA). Signature block 2 is not signed by the supplied key. Checking the next block... Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa256_secure_boot_signing_key3.pem /tmp/tmpq5rnd1lj... espsecure v5.4.0 Signature block 0 is valid (ECDSA). Signature block 0 is not signed by the supplied key. Checking the next block... Signature block 1 is valid (ECDSA). Signature block 1 is not signed by the supplied key. Checking the next block... Signature block 2 is valid (ECDSA). Signature block 2 verification successful using the supplied key (ECDSA). PASSED test/test_espsecure.py::TestSigning::test_sign_v2_append_signatures_multiple_steps[ecdsa384] Executing /usr/bin/python3 -m espsecure sign-data --version 2 --append-signatures --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa384_secure_boot_signing_key2.pem --output /tmp/tmpav5g61s2 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_signed_v2_ecdsa384.bin... espsecure v5.4.0 Signature block 0 is valid (ECDSA). 1 valid signature block(s) already present in the signature sector. 1 signing key(s) found. Signed 32768 bytes of data from "/builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_signed_v2_ecdsa384.bin". Signature sector now has 2 signature blocks. Executing /usr/bin/python3 -m espsecure sign-data --version 2 --append-signatures --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa384_secure_boot_signing_key3.pem --output /tmp/tmpbyp25uz9 /tmp/tmpav5g61s2... espsecure v5.4.0 Signature block 0 is valid (ECDSA). Signature block 1 is valid (ECDSA). 2 valid signature block(s) already present in the signature sector. 1 signing key(s) found. Signed 32768 bytes of data from "/tmp/tmpav5g61s2". Signature sector now has 3 signature blocks. Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa384_secure_boot_signing_key.pem /tmp/tmpbyp25uz9... espsecure v5.4.0 Signature block 0 is valid (ECDSA). Signature block 0 verification successful using the supplied key (ECDSA). Signature block 1 is valid (ECDSA). Signature block 1 is not signed by the supplied key. Checking the next block... Signature block 2 is valid (ECDSA). Signature block 2 is not signed by the supplied key. Checking the next block... Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa384_secure_boot_signing_key2.pem /tmp/tmpbyp25uz9... espsecure v5.4.0 Signature block 0 is valid (ECDSA). Signature block 0 is not signed by the supplied key. Checking the next block... Signature block 1 is valid (ECDSA). Signature block 1 verification successful using the supplied key (ECDSA). Signature block 2 is valid (ECDSA). Signature block 2 is not signed by the supplied key. Checking the next block... Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa384_secure_boot_signing_key3.pem /tmp/tmpbyp25uz9... espsecure v5.4.0 Signature block 0 is valid (ECDSA). Signature block 0 is not signed by the supplied key. Checking the next block... Signature block 1 is valid (ECDSA). Signature block 1 is not signed by the supplied key. Checking the next block... Signature block 2 is valid (ECDSA). Signature block 2 verification successful using the supplied key (ECDSA). PASSED test/test_espsecure.py::TestSigning::test_sign_v2_with_pre_calculated_signature[rsa] Executing /usr/bin/python3 -m espsecure sign-data --version 2 --pub-key /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/rsa_secure_boot_signing_pubkey.pem --signature /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/pre_calculated_bootloader_signature_rsa.bin --output /tmp/tmpaggk8sdu /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_unsigned_v2.bin... espsecure v5.4.0 Pre-calculated signatures found... 1 signing key(s) found. Signed 32768 bytes of data from "/builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_unsigned_v2.bin". Signature sector now has 1 signature blocks. Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/rsa_secure_boot_signing_pubkey.pem /tmp/tmpaggk8sdu... espsecure v5.4.0 Signature block 0 is valid (RSA). Signature block 0 verification successful using the supplied key (RSA). Signature block 1 invalid. Skipping. Signature block 2 invalid. Skipping. PASSED test/test_espsecure.py::TestSigning::test_sign_v2_with_pre_calculated_signature[ecdsa256] Executing /usr/bin/python3 -m espsecure sign-data --version 2 --pub-key /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa256_secure_boot_signing_pubkey.pem --signature /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/pre_calculated_bootloader_signature_ecdsa256.bin --output /tmp/tmpez4pqgbf /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_unsigned_v2.bin... espsecure v5.4.0 Pre-calculated signatures found... 1 signing key(s) found. Signed 32768 bytes of data from "/builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_unsigned_v2.bin". Signature sector now has 1 signature blocks. Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa256_secure_boot_signing_pubkey.pem /tmp/tmpez4pqgbf... espsecure v5.4.0 Signature block 0 is valid (ECDSA). Signature block 0 verification successful using the supplied key (ECDSA). Signature block 1 invalid. Skipping. Signature block 2 invalid. Skipping. PASSED test/test_espsecure.py::TestSigning::test_sign_v2_with_pre_calculated_signature[ecdsa384] Executing /usr/bin/python3 -m espsecure sign-data --version 2 --pub-key /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa384_secure_boot_signing_pubkey.pem --signature /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/pre_calculated_bootloader_signature_ecdsa384.bin --output /tmp/tmphq3e0r5l /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_unsigned_v2.bin... espsecure v5.4.0 Pre-calculated signatures found... 1 signing key(s) found. Signed 32768 bytes of data from "/builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_unsigned_v2.bin". Signature sector now has 1 signature blocks. Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa384_secure_boot_signing_pubkey.pem /tmp/tmphq3e0r5l... espsecure v5.4.0 Signature block 0 is valid (ECDSA). Signature block 0 verification successful using the supplied key (ECDSA). Signature block 1 invalid. Skipping. Signature block 2 invalid. Skipping. PASSED test/test_espsecure.py::TestSigning::test_sign_v2_with_multiple_pre_calculated_signatures[rsa] Executing /usr/bin/python3 -m espsecure sign-data --version 2 --pub-key /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/rsa_secure_boot_signing_pubkey.pem --pub-key /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/rsa_secure_boot_signing_pubkey.pem --pub-key /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/rsa_secure_boot_signing_pubkey.pem --signature /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/pre_calculated_bootloader_signature_rsa.bin --signature /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/pre_calculated_bootloader_signature_rsa.bin --signature /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/pre_calculated_bootloader_signature_rsa.bin --output /tmp/tmp4xr5vhit /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_unsigned_v2.bin... espsecure v5.4.0 Pre-calculated signatures found... 3 signing key(s) found. Signed 32768 bytes of data from "/builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_unsigned_v2.bin". Signature sector now has 3 signature blocks. Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/rsa_secure_boot_signing_pubkey.pem /tmp/tmp4xr5vhit... espsecure v5.4.0 Signature block 0 is valid (RSA). Signature block 0 verification successful using the supplied key (RSA). Signature block 1 is valid (RSA). Signature block 1 verification successful using the supplied key (RSA). Signature block 2 is valid (RSA). Signature block 2 verification successful using the supplied key (RSA). PASSED test/test_espsecure.py::TestSigning::test_sign_v2_with_multiple_pre_calculated_signatures[ecdsa256] Executing /usr/bin/python3 -m espsecure sign-data --version 2 --pub-key /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa256_secure_boot_signing_pubkey.pem --pub-key /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa256_secure_boot_signing_pubkey.pem --pub-key /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa256_secure_boot_signing_pubkey.pem --signature /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/pre_calculated_bootloader_signature_ecdsa256.bin --signature /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/pre_calculated_bootloader_signature_ecdsa256.bin --signature /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/pre_calculated_bootloader_signature_ecdsa256.bin --output /tmp/tmpuywc2une /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_unsigned_v2.bin... espsecure v5.4.0 Pre-calculated signatures found... 3 signing key(s) found. Signed 32768 bytes of data from "/builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_unsigned_v2.bin". Signature sector now has 3 signature blocks. Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa256_secure_boot_signing_pubkey.pem /tmp/tmpuywc2une... espsecure v5.4.0 Signature block 0 is valid (ECDSA). Signature block 0 verification successful using the supplied key (ECDSA). Signature block 1 is valid (ECDSA). Signature block 1 verification successful using the supplied key (ECDSA). Signature block 2 is valid (ECDSA). Signature block 2 verification successful using the supplied key (ECDSA). PASSED test/test_espsecure.py::TestSigning::test_sign_v2_with_multiple_pre_calculated_signatures[ecdsa384] Executing /usr/bin/python3 -m espsecure sign-data --version 2 --pub-key /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa384_secure_boot_signing_pubkey.pem --pub-key /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa384_secure_boot_signing_pubkey.pem --pub-key /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa384_secure_boot_signing_pubkey.pem --signature /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/pre_calculated_bootloader_signature_ecdsa384.bin --signature /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/pre_calculated_bootloader_signature_ecdsa384.bin --signature /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/pre_calculated_bootloader_signature_ecdsa384.bin --output /tmp/tmpr_md0ih1 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_unsigned_v2.bin... espsecure v5.4.0 Pre-calculated signatures found... 3 signing key(s) found. Signed 32768 bytes of data from "/builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_unsigned_v2.bin". Signature sector now has 3 signature blocks. Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa384_secure_boot_signing_pubkey.pem /tmp/tmpr_md0ih1... espsecure v5.4.0 Signature block 0 is valid (ECDSA). Signature block 0 verification successful using the supplied key (ECDSA). Signature block 1 is valid (ECDSA). Signature block 1 verification successful using the supplied key (ECDSA). Signature block 2 is valid (ECDSA). Signature block 2 verification successful using the supplied key (ECDSA). PASSED test/test_espsecure.py::TestSigning::test_verify_signature_correct_key[v1_pem] Executing /usr/bin/python3 -m espsecure verify-signature --version 1 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa256_secure_boot_signing_key.pem /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_signed.bin... espsecure v5.4.0 Verifying 21696 bytes of data... Signature is valid. PASSED test/test_espsecure.py::TestSigning::test_verify_signature_correct_key[v1_raw] Executing /usr/bin/python3 -m espsecure verify-signature --version 1 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa256_secure_boot_signing_pubkey_raw.bin /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_signed.bin... espsecure v5.4.0 Verifying 21696 bytes of data... Signature is valid. PASSED test/test_espsecure.py::TestSigning::test_verify_signature_correct_key[v2_rsa] Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/rsa_secure_boot_signing_key.pem /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_signed_v2_rsa.bin... espsecure v5.4.0 Signature block 0 is valid (RSA). Signature block 0 verification successful using the supplied key (RSA). Signature block 1 invalid. Skipping. Signature block 2 invalid. Skipping. PASSED test/test_espsecure.py::TestSigning::test_verify_signature_correct_key[v2_ecdsa384] Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa384_secure_boot_signing_key.pem /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_signed_v2_ecdsa384.bin... espsecure v5.4.0 Signature block 0 is valid (ECDSA). Signature block 0 verification successful using the supplied key (ECDSA). Signature block 1 invalid. Skipping. Signature block 2 invalid. Skipping. PASSED test/test_espsecure.py::TestSigning::test_verify_signature_correct_key[v2_ecdsa256] Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa256_secure_boot_signing_key.pem /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_signed_v2_ecdsa256.bin... espsecure v5.4.0 Signature block 0 is valid (ECDSA). Signature block 0 verification successful using the supplied key (ECDSA). Signature block 1 invalid. Skipping. Signature block 2 invalid. Skipping. PASSED test/test_espsecure.py::TestSigning::test_verify_signature_wrong_key_v1 Executing /usr/bin/python3 -m espsecure verify-signature --version 1 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa256_secure_boot_signing_key2.pem /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_signed.bin... espsecure v5.4.0 Verifying 21696 bytes of data... ERROR: A fatal error occurred: Signature is not valid. PASSED test/test_espsecure.py::TestSigning::test_verify_signature_wrong_key_v2[rsa] Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/rsa_secure_boot_signing_key2.pem /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_signed_v2_rsa.bin... espsecure v5.4.0 Signature block 0 is valid (RSA). Signature block 0 is not signed by the supplied key. Checking the next block... Signature block 1 invalid. Skipping. Signature block 2 invalid. Skipping. ERROR: A fatal error occurred: Checked all blocks. Signature could not be verified with the provided key. PASSED test/test_espsecure.py::TestSigning::test_verify_signature_wrong_key_v2[ecdsa256] Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa256_secure_boot_signing_key2.pem /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_signed_v2_ecdsa256.bin... espsecure v5.4.0 Signature block 0 is valid (ECDSA). Signature block 0 is not signed by the supplied key. Checking the next block... Signature block 1 invalid. Skipping. Signature block 2 invalid. Skipping. ERROR: A fatal error occurred: Checked all blocks. Signature could not be verified with the provided key. PASSED test/test_espsecure.py::TestSigning::test_verify_signature_wrong_key_v2[ecdsa384] Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa384_secure_boot_signing_key2.pem /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_signed_v2_ecdsa384.bin... espsecure v5.4.0 Signature block 0 is valid (ECDSA). Signature block 0 is not signed by the supplied key. Checking the next block... Signature block 1 invalid. Skipping. Signature block 2 invalid. Skipping. ERROR: A fatal error occurred: Checked all blocks. Signature could not be verified with the provided key. PASSED test/test_espsecure.py::TestSigning::test_verify_signature_wrong_scheme Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa256_secure_boot_signing_key.pem /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_signed.bin... espsecure v5.4.0 ERROR: A fatal error occurred: Invalid datafile. Data size should be non-zero & a multiple of 4096. PASSED test/test_espsecure.py::TestSigning::test_verify_signature_multi_signed_wrong_key[rsa] Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/rsa_secure_boot_signing_key4.pem /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_multi_signed_v2_rsa.bin... espsecure v5.4.0 Signature block 0 is valid (RSA). Signature block 0 is not signed by the supplied key. Checking the next block... Signature block 1 is valid (RSA). Signature block 1 is not signed by the supplied key. Checking the next block... Signature block 2 is valid (RSA). Signature block 2 is not signed by the supplied key. Checking the next block... ERROR: A fatal error occurred: Checked all blocks. Signature could not be verified with the provided key. PASSED test/test_espsecure.py::TestSigning::test_verify_signature_multi_signed_wrong_key[ecdsa256] Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa256_secure_boot_signing_key4.pem /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_multi_signed_v2_ecdsa256.bin... espsecure v5.4.0 Signature block 0 is valid (ECDSA). Signature block 0 is not signed by the supplied key. Checking the next block... Signature block 1 is valid (ECDSA). Signature block 1 is not signed by the supplied key. Checking the next block... Signature block 2 is valid (ECDSA). Signature block 2 is not signed by the supplied key. Checking the next block... ERROR: A fatal error occurred: Checked all blocks. Signature could not be verified with the provided key. PASSED test/test_espsecure.py::TestSigning::test_verify_signature_multi_signed_wrong_key[ecdsa384] Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa384_secure_boot_signing_key4.pem /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_multi_signed_v2_ecdsa384.bin... espsecure v5.4.0 Signature block 0 is valid (ECDSA). Signature block 0 is not signed by the supplied key. Checking the next block... Signature block 1 is valid (ECDSA). Signature block 1 is not signed by the supplied key. Checking the next block... Signature block 2 is valid (ECDSA). Signature block 2 is not signed by the supplied key. Checking the next block... ERROR: A fatal error occurred: Checked all blocks. Signature could not be verified with the provided key. PASSED test/test_espsecure.py::TestSigning::test_verify_signature_correct_pubkey[v1] Executing /usr/bin/python3 -m espsecure verify-signature --version 1 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa256_secure_boot_signing_pubkey.pem /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_signed.bin... espsecure v5.4.0 Verifying 21696 bytes of data... Signature is valid. PASSED test/test_espsecure.py::TestSigning::test_verify_signature_correct_pubkey[v2_rsa] Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/rsa_secure_boot_signing_pubkey.pem /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_signed_v2_rsa.bin... espsecure v5.4.0 Signature block 0 is valid (RSA). Signature block 0 verification successful using the supplied key (RSA). Signature block 1 invalid. Skipping. Signature block 2 invalid. Skipping. PASSED test/test_espsecure.py::TestSigning::test_verify_signature_correct_pubkey[v2_ecdsa384] Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa384_secure_boot_signing_pubkey.pem /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_signed_v2_ecdsa384.bin... espsecure v5.4.0 Signature block 0 is valid (ECDSA). Signature block 0 verification successful using the supplied key (ECDSA). Signature block 1 invalid. Skipping. Signature block 2 invalid. Skipping. PASSED test/test_espsecure.py::TestSigning::test_verify_signature_correct_pubkey[v2_ecdsa256] Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa256_secure_boot_signing_pubkey.pem /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_signed_v2_ecdsa256.bin... espsecure v5.4.0 Signature block 0 is valid (ECDSA). Signature block 0 verification successful using the supplied key (ECDSA). Signature block 1 invalid. Skipping. Signature block 2 invalid. Skipping. PASSED test/test_espsecure.py::TestSigning::test_verify_signature_wrong_pubkey_v1 Executing /usr/bin/python3 -m espsecure verify-signature --version 1 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa256_secure_boot_signing_pubkey2.pem /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_signed.bin... espsecure v5.4.0 Verifying 21696 bytes of data... ERROR: A fatal error occurred: Signature is not valid. PASSED test/test_espsecure.py::TestSigning::test_verify_signature_wrong_pubkey_v2[rsa] Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/rsa_secure_boot_signing_pubkey2.pem /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_signed_v2_rsa.bin... espsecure v5.4.0 Signature block 0 is valid (RSA). Signature block 0 is not signed by the supplied key. Checking the next block... Signature block 1 invalid. Skipping. Signature block 2 invalid. Skipping. ERROR: A fatal error occurred: Checked all blocks. Signature could not be verified with the provided key. PASSED test/test_espsecure.py::TestSigning::test_verify_signature_wrong_pubkey_v2[ecdsa256] Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa256_secure_boot_signing_pubkey2.pem /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_signed_v2_ecdsa256.bin... espsecure v5.4.0 Signature block 0 is valid (ECDSA). Signature block 0 is not signed by the supplied key. Checking the next block... Signature block 1 invalid. Skipping. Signature block 2 invalid. Skipping. ERROR: A fatal error occurred: Checked all blocks. Signature could not be verified with the provided key. PASSED test/test_espsecure.py::TestSigning::test_verify_signature_wrong_pubkey_v2[ecdsa384] Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa384_secure_boot_signing_pubkey2.pem /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_signed_v2_ecdsa384.bin... espsecure v5.4.0 Signature block 0 is valid (ECDSA). Signature block 0 is not signed by the supplied key. Checking the next block... Signature block 1 invalid. Skipping. Signature block 2 invalid. Skipping. ERROR: A fatal error occurred: Checked all blocks. Signature could not be verified with the provided key. PASSED test/test_espsecure.py::TestSigning::test_verify_signature_multi_signed_wrong_pubkey[rsa] Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/rsa_secure_boot_signing_pubkey4.pem /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_multi_signed_v2_rsa.bin... espsecure v5.4.0 Signature block 0 is valid (RSA). Signature block 0 is not signed by the supplied key. Checking the next block... Signature block 1 is valid (RSA). Signature block 1 is not signed by the supplied key. Checking the next block... Signature block 2 is valid (RSA). Signature block 2 is not signed by the supplied key. Checking the next block... ERROR: A fatal error occurred: Checked all blocks. Signature could not be verified with the provided key. PASSED test/test_espsecure.py::TestSigning::test_verify_signature_multi_signed_wrong_pubkey[ecdsa256] Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa256_secure_boot_signing_pubkey4.pem /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_multi_signed_v2_ecdsa256.bin... espsecure v5.4.0 Signature block 0 is valid (ECDSA). Signature block 0 is not signed by the supplied key. Checking the next block... Signature block 1 is valid (ECDSA). Signature block 1 is not signed by the supplied key. Checking the next block... Signature block 2 is valid (ECDSA). Signature block 2 is not signed by the supplied key. Checking the next block... ERROR: A fatal error occurred: Checked all blocks. Signature could not be verified with the provided key. PASSED test/test_espsecure.py::TestSigning::test_verify_signature_multi_signed_wrong_pubkey[ecdsa384] Executing /usr/bin/python3 -m espsecure verify-signature --version 2 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa384_secure_boot_signing_pubkey4.pem /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_multi_signed_v2_ecdsa384.bin... espsecure v5.4.0 Signature block 0 is valid (ECDSA). Signature block 0 is not signed by the supplied key. Checking the next block... Signature block 1 is valid (ECDSA). Signature block 1 is not signed by the supplied key. Checking the next block... Signature block 2 is valid (ECDSA). Signature block 2 is not signed by the supplied key. Checking the next block... ERROR: A fatal error occurred: Checked all blocks. Signature could not be verified with the provided key. PASSED test/test_espsecure.py::TestSigning::test_extract_binary_public_key Executing /usr/bin/python3 -m espsecure extract-public-key --version 1 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa256_secure_boot_signing_key.pem /tmp/tmp42yafvyp/pubkey1.bin... espsecure v5.4.0 "/builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa256_secure_boot_signing_key.pem" public key extracted to "/tmp/tmp42yafvyp/pubkey1.bin". Executing /usr/bin/python3 -m espsecure extract-public-key --version 1 --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa256_secure_boot_signing_key2.pem /tmp/tmp42yafvyp/pubkey2.bin... espsecure v5.4.0 "/builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa256_secure_boot_signing_key2.pem" public key extracted to "/tmp/tmp42yafvyp/pubkey2.bin". Executing /usr/bin/python3 -m espsecure verify-signature --version 1 --keyfile /tmp/tmp42yafvyp/pubkey1.bin /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_signed.bin... espsecure v5.4.0 Verifying 21696 bytes of data... Signature is valid. Executing /usr/bin/python3 -m espsecure verify-signature --version 1 --keyfile /tmp/tmp42yafvyp/pubkey2.bin /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader_signed.bin... espsecure v5.4.0 Verifying 21696 bytes of data... ERROR: A fatal error occurred: Signature is not valid. PASSED test/test_espsecure.py::TestSigning::test_generate_and_extract_key_v2[rsa3072] Executing /usr/bin/python3 -m espsecure generate-signing-key --version 2 --scheme rsa3072 /tmp/tmpjbkh7n4b/key.pem... espsecure v5.4.0 RSA 3072 private key in PEM format written to "/tmp/tmpjbkh7n4b/key.pem". Executing /usr/bin/python3 -m espsecure extract-public-key --version 2 --keyfile /tmp/tmpjbkh7n4b/key.pem /tmp/tmpjbkh7n4b/pubkey.pem... espsecure v5.4.0 "/tmp/tmpjbkh7n4b/key.pem" public key extracted to "/tmp/tmpjbkh7n4b/pubkey.pem". PASSED test/test_espsecure.py::TestSigning::test_generate_and_extract_key_v2[ecdsa256] Executing /usr/bin/python3 -m espsecure generate-signing-key --version 2 --scheme ecdsa256 /tmp/tmpkxzl6gqe/key.pem... espsecure v5.4.0 ECDSA NIST256p private key in PEM format written to "/tmp/tmpkxzl6gqe/key.pem". Executing /usr/bin/python3 -m espsecure extract-public-key --version 2 --keyfile /tmp/tmpkxzl6gqe/key.pem /tmp/tmpkxzl6gqe/pubkey.pem... espsecure v5.4.0 "/tmp/tmpkxzl6gqe/key.pem" public key extracted to "/tmp/tmpkxzl6gqe/pubkey.pem". PASSED test/test_espsecure.py::TestSigning::test_generate_and_extract_key_v2[ecdsa384] Executing /usr/bin/python3 -m espsecure generate-signing-key --version 2 --scheme ecdsa384 /tmp/tmpcxu143p3/key.pem... espsecure v5.4.0 ECDSA NIST384p private key in PEM format written to "/tmp/tmpcxu143p3/key.pem". Executing /usr/bin/python3 -m espsecure extract-public-key --version 2 --keyfile /tmp/tmpcxu143p3/key.pem /tmp/tmpcxu143p3/pubkey.pem... espsecure v5.4.0 "/tmp/tmpcxu143p3/key.pem" public key extracted to "/tmp/tmpcxu143p3/pubkey.pem". PASSED test/test_espsecure.py::TestESP32FlashEncryption::test_encrypt_decrypt_bootloader Executing /usr/bin/python3 -m espsecure encrypt-flash-data --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/256bit_key.bin --output /tmp/tmppehmylkh/ciphertext.bin --address 4096 --flash-crypt-conf 15 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader.bin... espsecure v5.4.0 Using 256-bit key. Executing /usr/bin/python3 -m espsecure decrypt-flash-data --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/256bit_key.bin --output /tmp/tmppehmylkh/plaintext.bin --address 4096 --flash-crypt-conf 15 /tmp/tmppehmylkh/ciphertext.bin... espsecure v5.4.0 Using 256-bit key. PASSED test/test_espsecure.py::TestESP32FlashEncryption::test_encrypt_decrypt_app Executing /usr/bin/python3 -m espsecure encrypt-flash-data --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ef-flashencryption-key.bin --output /tmp/tmpyy74fe0h/ciphertext.bin --address 131072 --flash-crypt-conf 15 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/hello-world-signed.bin... espsecure v5.4.0 Using 256-bit key. Executing /usr/bin/python3 -m espsecure decrypt-flash-data --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ef-flashencryption-key.bin --output /tmp/tmpyy74fe0h/plaintext.bin --address 131072 --flash-crypt-conf 15 /tmp/tmpyy74fe0h/ciphertext.bin... espsecure v5.4.0 Using 256-bit key. PASSED test/test_espsecure.py::TestESP32FlashEncryption::test_encrypt_decrypt_non_default_conf Executing /usr/bin/python3 -m espsecure encrypt-flash-data --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/256bit_key.bin --output /tmp/tmpfx28h1mo/ciphertext.bin --address 4096 --flash-crypt-conf 0 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader.bin... espsecure v5.4.0 Using 256-bit key. WARNING: Setting FLASH_CRYPT_CONF to zero is not recommended. Executing /usr/bin/python3 -m espsecure decrypt-flash-data --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/256bit_key.bin --output /tmp/tmpfx28h1mo/plaintext.bin --address 4096 --flash-crypt-conf 0 /tmp/tmpfx28h1mo/ciphertext.bin... espsecure v5.4.0 Using 256-bit key. WARNING: Setting FLASH_CRYPT_CONF to zero is not recommended. Executing /usr/bin/python3 -m espsecure encrypt-flash-data --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/256bit_key.bin --output /tmp/tmp0x8opwfx/ciphertext.bin --address 4096 --flash-crypt-conf 3 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader.bin... espsecure v5.4.0 Using 256-bit key. Executing /usr/bin/python3 -m espsecure decrypt-flash-data --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/256bit_key.bin --output /tmp/tmp0x8opwfx/plaintext.bin --address 4096 --flash-crypt-conf 3 /tmp/tmp0x8opwfx/ciphertext.bin... espsecure v5.4.0 Using 256-bit key. Executing /usr/bin/python3 -m espsecure encrypt-flash-data --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/256bit_key.bin --output /tmp/tmpggn4db2l/ciphertext.bin --address 4096 --flash-crypt-conf 9 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader.bin... espsecure v5.4.0 Using 256-bit key. Executing /usr/bin/python3 -m espsecure decrypt-flash-data --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/256bit_key.bin --output /tmp/tmpggn4db2l/plaintext.bin --address 4096 --flash-crypt-conf 9 /tmp/tmpggn4db2l/ciphertext.bin... espsecure v5.4.0 Using 256-bit key. Executing /usr/bin/python3 -m espsecure encrypt-flash-data --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/256bit_key.bin --output /tmp/tmpjtvhr2zd/ciphertext.bin --address 4096 --flash-crypt-conf 12 /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader.bin... espsecure v5.4.0 Using 256-bit key. Executing /usr/bin/python3 -m espsecure decrypt-flash-data --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/256bit_key.bin --output /tmp/tmpjtvhr2zd/plaintext.bin --address 4096 --flash-crypt-conf 12 /tmp/tmpjtvhr2zd/ciphertext.bin... espsecure v5.4.0 Using 256-bit key. PASSED test/test_espsecure.py::TestAesXtsFlashEncryption::test_encrypt_decrypt_bootloader Executing /usr/bin/python3 -m espsecure encrypt-flash-data --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/256bit_key.bin --output /tmp/tmp8wgt5qll/ciphertext.bin --address 4096 --flash-crypt-conf 15 --aes-xts /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/bootloader.bin... espsecure v5.4.0 Using 256-bit key. Executing /usr/bin/python3 -m espsecure decrypt-flash-data --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/256bit_key.bin --output /tmp/tmp8wgt5qll/plaintext.bin --address 4096 --flash-crypt-conf 15 --aes-xts /tmp/tmp8wgt5qll/ciphertext.bin... espsecure v5.4.0 Using 256-bit key. PASSED test/test_espsecure.py::TestAesXtsFlashEncryption::test_encrypt_decrypt_app Executing /usr/bin/python3 -m espsecure encrypt-flash-data --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ef-flashencryption-key.bin --output /tmp/tmpuuzn30vo/ciphertext.bin --address 131072 --flash-crypt-conf 15 --aes-xts /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/hello-world-signed.bin... espsecure v5.4.0 Using 256-bit key. Executing /usr/bin/python3 -m espsecure decrypt-flash-data --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ef-flashencryption-key.bin --output /tmp/tmpuuzn30vo/plaintext.bin --address 131072 --flash-crypt-conf 15 --aes-xts /tmp/tmpuuzn30vo/ciphertext.bin... espsecure v5.4.0 Using 256-bit key. PASSED test/test_espsecure.py::TestAesXtsFlashEncryption::test_encrypt_decrypt_app_512_bit_key Executing /usr/bin/python3 -m espsecure encrypt-flash-data --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/512bit_key.bin --output /tmp/tmpm_tnz3lk/ciphertext.bin --address 65536 --flash-crypt-conf 15 --aes-xts /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/hello-world-signed.bin... espsecure v5.4.0 Using 512-bit key. Executing /usr/bin/python3 -m espsecure decrypt-flash-data --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/512bit_key.bin --output /tmp/tmpm_tnz3lk/plaintext.bin --address 65536 --flash-crypt-conf 15 --aes-xts /tmp/tmpm_tnz3lk/ciphertext.bin... espsecure v5.4.0 Using 512-bit key. PASSED test/test_espsecure.py::TestAesXtsFlashEncryption::test_padding Using 256-bit key. Using 256-bit key. Using 256-bit key. Using 256-bit key. Using 256-bit key. Using 256-bit key. Using 256-bit key. Using 256-bit key. Using 256-bit key. Using 256-bit key. Using 256-bit key. Using 256-bit key. Using 256-bit key. Using 256-bit key. Using 256-bit key. Using 256-bit key. Using 256-bit key. Using 256-bit key. Using 256-bit key. Using 256-bit key. Using 256-bit key. Using 256-bit key. Using 256-bit key. Using 256-bit key. Using 256-bit key. Using 256-bit key. Using 256-bit key. Using 256-bit key. Using 256-bit key. Using 256-bit key. Using 256-bit key. PASSED test/test_espsecure.py::TestDigest::test_digest_private_key Executing /usr/bin/python3 -m espsecure digest-private-key --keyfile /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa256_secure_boot_signing_key.pem /tmp/tmpml2jiq5b... espsecure v5.4.0 SHA-256 digest of private key "/builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/secure_images/ecdsa256_secure_boot_signing_key.pem" written to "/tmp/tmpml2jiq5b". PASSED test/test_espsecure.py::TestDigest::test_digest_private_key_with_invalid_output PASSED test/test_espsecure.py::TestSDCCertificate::test_generate_sdc_cert Executing /usr/bin/python3 -m espsecure generate-signing-key --version 2 --scheme ecdsa256 /tmp/tmp6zlgb1k1/sdc_key.pem... espsecure v5.4.0 ECDSA NIST256p private key in PEM format written to "/tmp/tmp6zlgb1k1/sdc_key.pem". Executing /usr/bin/python3 -m espsecure generate-sdc-certificate --keyfile /tmp/tmp6zlgb1k1/sdc_key.pem --output /tmp/tmp6zlgb1k1/sdc_cert.bin --mac 00:11:22:33:44:55 --enable-jtag... espsecure v5.4.0 SDC certificate generated successfully: "/tmp/tmp6zlgb1k1/sdc_cert.bin" Certificate size: 468 bytes Enabled features: JTAG PASSED test/test_espsecure.py::TestSDCCertificate::test_generate_sdc_cert_missing_args Executing /usr/bin/python3 -m espsecure generate-signing-key --version 2 --scheme ecdsa256 /tmp/tmp1se4nkut/sdc_key.pem... espsecure v5.4.0 ECDSA NIST256p private key in PEM format written to "/tmp/tmp1se4nkut/sdc_key.pem". Executing /usr/bin/python3 -m espsecure generate-sdc-certificate --keyfile /tmp/tmp1se4nkut/sdc_key.pem... espsecure v5.4.0 Usage: python -m espsecure generate-sdc-certificate [OPTIONS] Try 'python -m espsecure generate-sdc-certificate -h' for help ╭─ Error ──────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ Invalid value for --mac: --mac is required when --chip-info is not provided │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ PASSED test/test_espsecure.py::TestSDCCertificate::test_digest_sdc_public_key_from_private_key Executing /usr/bin/python3 -m espsecure generate-signing-key --version 2 --scheme ecdsa256 /tmp/tmpj2dhjb_z/sdc_key.pem... espsecure v5.4.0 ECDSA NIST256p private key in PEM format written to "/tmp/tmpj2dhjb_z/sdc_key.pem". Executing /usr/bin/python3 -m espsecure digest-sdc-public-key --keyfile /tmp/tmpj2dhjb_z/sdc_key.pem -o /tmp/tmpj2dhjb_z/sdc_pub_key_digest.bin... espsecure v5.4.0 SDC public key digest generated successfully: "/tmp/tmpj2dhjb_z/sdc_pub_key_digest.bin" Digest size: 32 bytes This digest must be burned to the device eFuse using 'espefuse burn-key SDC_KEY_DIGEST'. PASSED test/test_espsecure.py::TestSDCCertificate::test_digest_sdc_public_key_from_public_key Executing /usr/bin/python3 -m espsecure generate-signing-key --version 2 --scheme ecdsa256 /tmp/tmp5bm532nb/sdc_key.pem... espsecure v5.4.0 ECDSA NIST256p private key in PEM format written to "/tmp/tmp5bm532nb/sdc_key.pem". Executing /usr/bin/python3 -m espsecure extract-public-key --version 2 --keyfile /tmp/tmp5bm532nb/sdc_key.pem /tmp/tmp5bm532nb/sdc_pub_key.pem... espsecure v5.4.0 "/tmp/tmp5bm532nb/sdc_key.pem" public key extracted to "/tmp/tmp5bm532nb/sdc_pub_key.pem". Executing /usr/bin/python3 -m espsecure digest-sdc-public-key --pub-key /tmp/tmp5bm532nb/sdc_pub_key.pem -o /tmp/tmp5bm532nb/sdc_pub_key_digest.bin... espsecure v5.4.0 SDC public key digest generated successfully: "/tmp/tmp5bm532nb/sdc_pub_key_digest.bin" Digest size: 32 bytes This digest must be burned to the device eFuse using 'espefuse burn-key SDC_KEY_DIGEST'. PASSED test/test_espsecure.py::TestSDCCertificate::test_digest_sdc_public_key_default_output Executing /usr/bin/python3 -m espsecure generate-signing-key --version 2 --scheme ecdsa256 /tmp/tmp0z185s1a/sdc_key.pem... espsecure v5.4.0 ECDSA NIST256p private key in PEM format written to "/tmp/tmp0z185s1a/sdc_key.pem". Executing /usr/bin/python3 -m espsecure digest-sdc-public-key --keyfile /tmp/tmp0z185s1a/sdc_key.pem... espsecure v5.4.0 SDC public key digest generated successfully: "sdc_pub_key_digest.bin" Digest size: 32 bytes This digest must be burned to the device eFuse using 'espefuse burn-key SDC_KEY_DIGEST'. PASSED test/test_espsecure.py::TestSDCCertificate::test_digest_sdc_public_key_consistency Executing /usr/bin/python3 -m espsecure generate-signing-key --version 2 --scheme ecdsa256 /tmp/tmp2e0j_rld/sdc_key.pem... espsecure v5.4.0 ECDSA NIST256p private key in PEM format written to "/tmp/tmp2e0j_rld/sdc_key.pem". Executing /usr/bin/python3 -m espsecure digest-sdc-public-key --keyfile /tmp/tmp2e0j_rld/sdc_key.pem -o /tmp/tmp2e0j_rld/digest1.bin... espsecure v5.4.0 SDC public key digest generated successfully: "/tmp/tmp2e0j_rld/digest1.bin" Digest size: 32 bytes This digest must be burned to the device eFuse using 'espefuse burn-key SDC_KEY_DIGEST'. Executing /usr/bin/python3 -m espsecure digest-sdc-public-key --keyfile /tmp/tmp2e0j_rld/sdc_key.pem -o /tmp/tmp2e0j_rld/digest2.bin... espsecure v5.4.0 SDC public key digest generated successfully: "/tmp/tmp2e0j_rld/digest2.bin" Digest size: 32 bytes This digest must be burned to the device eFuse using 'espefuse burn-key SDC_KEY_DIGEST'. PASSED test/test_espsecure.py::TestSDCCertificate::test_digest_sdc_public_key_private_matches_public Executing /usr/bin/python3 -m espsecure generate-signing-key --version 2 --scheme ecdsa256 /tmp/tmp5sucbeg6/sdc_key.pem... espsecure v5.4.0 ECDSA NIST256p private key in PEM format written to "/tmp/tmp5sucbeg6/sdc_key.pem". Executing /usr/bin/python3 -m espsecure extract-public-key --version 2 --keyfile /tmp/tmp5sucbeg6/sdc_key.pem /tmp/tmp5sucbeg6/sdc_pub_key.pem... espsecure v5.4.0 "/tmp/tmp5sucbeg6/sdc_key.pem" public key extracted to "/tmp/tmp5sucbeg6/sdc_pub_key.pem". Executing /usr/bin/python3 -m espsecure digest-sdc-public-key --keyfile /tmp/tmp5sucbeg6/sdc_key.pem -o /tmp/tmp5sucbeg6/digest_priv.bin... espsecure v5.4.0 SDC public key digest generated successfully: "/tmp/tmp5sucbeg6/digest_priv.bin" Digest size: 32 bytes This digest must be burned to the device eFuse using 'espefuse burn-key SDC_KEY_DIGEST'. Executing /usr/bin/python3 -m espsecure digest-sdc-public-key --pub-key /tmp/tmp5sucbeg6/sdc_pub_key.pem -o /tmp/tmp5sucbeg6/digest_pub.bin... espsecure v5.4.0 SDC public key digest generated successfully: "/tmp/tmp5sucbeg6/digest_pub.bin" Digest size: 32 bytes This digest must be burned to the device eFuse using 'espefuse burn-key SDC_KEY_DIGEST'. PASSED test/test_espsecure.py::TestSDCCertificate::test_generate_sdc_cert_download_reuse Executing /usr/bin/python3 -m espsecure generate-signing-key --version 2 --scheme ecdsa256 /tmp/tmpysbsdjyl/sdc_key.pem... espsecure v5.4.0 ECDSA NIST256p private key in PEM format written to "/tmp/tmpysbsdjyl/sdc_key.pem". Executing /usr/bin/python3 -m espsecure generate-sdc-certificate --keyfile /tmp/tmpysbsdjyl/sdc_key.pem --output /tmp/tmpysbsdjyl/sdc_cert.bin --mac 00:11:22:33:44:55 --enable-download-reuse... espsecure v5.4.0 SDC certificate generated successfully: "/tmp/tmpysbsdjyl/sdc_cert.bin" Certificate size: 468 bytes Enabled features: Download Reuse PASSED test/test_espsecure.py::TestSDCCertificate::test_generate_sdc_cert_structure_and_crc Executing /usr/bin/python3 -m espsecure generate-signing-key --version 2 --scheme ecdsa256 /tmp/tmpetovw7x4/sdc_key.pem... espsecure v5.4.0 ECDSA NIST256p private key in PEM format written to "/tmp/tmpetovw7x4/sdc_key.pem". Executing /usr/bin/python3 -m espsecure generate-sdc-certificate --keyfile /tmp/tmpetovw7x4/sdc_key.pem --output /tmp/tmpetovw7x4/sdc_cert.bin --mac 00:11:22:33:44:55 --enable-jtag --enable-force-spi-boot... espsecure v5.4.0 SDC certificate generated successfully: "/tmp/tmpetovw7x4/sdc_cert.bin" Certificate size: 468 bytes Enabled features: JTAG, Force SPI Boot PASSED test/test_espsecure.py::TestSDCCertificate::test_generate_sdc_cert_no_flags_has_zero_usc Executing /usr/bin/python3 -m espsecure generate-signing-key --version 2 --scheme ecdsa256 /tmp/tmpryywfbkc/sdc_key.pem... espsecure v5.4.0 ECDSA NIST256p private key in PEM format written to "/tmp/tmpryywfbkc/sdc_key.pem". Executing /usr/bin/python3 -m espsecure generate-sdc-certificate --keyfile /tmp/tmpryywfbkc/sdc_key.pem --output /tmp/tmpryywfbkc/sdc_cert.bin --mac 00:11:22:33:44:55... espsecure v5.4.0 SDC certificate generated successfully: "/tmp/tmpryywfbkc/sdc_cert.bin" Certificate size: 468 bytes No additional features enabled (default security configuration) PASSED test/test_espsecure.py::TestSDCCertificate::test_generate_sdc_digest_value_is_reversed_sha256 Executing /usr/bin/python3 -m espsecure generate-signing-key --version 2 --scheme ecdsa256 /tmp/tmp5iqfucv9/sdc_key.pem... espsecure v5.4.0 ECDSA NIST256p private key in PEM format written to "/tmp/tmp5iqfucv9/sdc_key.pem". Executing /usr/bin/python3 -m espsecure digest-sdc-public-key --keyfile /tmp/tmp5iqfucv9/sdc_key.pem -o /tmp/tmp5iqfucv9/digest.bin... espsecure v5.4.0 SDC public key digest generated successfully: "/tmp/tmp5iqfucv9/digest.bin" Digest size: 32 bytes This digest must be burned to the device eFuse using 'espefuse burn-key SDC_KEY_DIGEST'. PASSED test/test_espsecure.py::TestSDCCertificate::test_generate_sdc_cert_from_chip_info_file Executing /usr/bin/python3 -m espsecure generate-signing-key --version 2 --scheme ecdsa256 /tmp/tmp67obocct/sdc_key.pem... espsecure v5.4.0 ECDSA NIST256p private key in PEM format written to "/tmp/tmp67obocct/sdc_key.pem". Executing /usr/bin/python3 -m espsecure generate-sdc-certificate --keyfile /tmp/tmp67obocct/sdc_key.pem --output /tmp/tmp67obocct/sdc_cert.bin --chip-info /tmp/tmp67obocct/chip_info.bin... espsecure v5.4.0 SDC certificate generated successfully: "/tmp/tmp67obocct/sdc_cert.bin" Certificate size: 468 bytes No additional features enabled (default security configuration) PASSED test/test_espsecure.py::TestSDCCertificate::test_generate_sdc_cert_chip_info_wrong_size Executing /usr/bin/python3 -m espsecure generate-signing-key --version 2 --scheme ecdsa256 /tmp/tmpvpc7zn37/sdc_key.pem... espsecure v5.4.0 ECDSA NIST256p private key in PEM format written to "/tmp/tmpvpc7zn37/sdc_key.pem". Executing /usr/bin/python3 -m espsecure generate-sdc-certificate --keyfile /tmp/tmpvpc7zn37/sdc_key.pem --output /tmp/tmpvpc7zn37/sdc_cert.bin --chip-info /tmp/tmpvpc7zn37/chip_info.bin... espsecure v5.4.0 ERROR: A fatal error occurred: Invalid chip_info file size: expected 64 bytes (32 bytes chip_info + 32 bytes nonce), got 63 bytes. PASSED test/test_espsecure.py::TestSDCCertificate::test_generate_sdc_cert_mac_formats[00:11:22:33:44:55] Executing /usr/bin/python3 -m espsecure generate-signing-key --version 2 --scheme ecdsa256 /tmp/tmpob_o23_y/sdc_key.pem... espsecure v5.4.0 ECDSA NIST256p private key in PEM format written to "/tmp/tmpob_o23_y/sdc_key.pem". Executing /usr/bin/python3 -m espsecure generate-sdc-certificate --keyfile /tmp/tmpob_o23_y/sdc_key.pem --output /tmp/tmpob_o23_y/sdc_cert.bin --mac 00:11:22:33:44:55... espsecure v5.4.0 SDC certificate generated successfully: "/tmp/tmpob_o23_y/sdc_cert.bin" Certificate size: 468 bytes No additional features enabled (default security configuration) PASSED test/test_espsecure.py::TestSDCCertificate::test_generate_sdc_cert_mac_formats[00-11-22-33-44-55] Executing /usr/bin/python3 -m espsecure generate-signing-key --version 2 --scheme ecdsa256 /tmp/tmpmit5b452/sdc_key.pem... espsecure v5.4.0 ECDSA NIST256p private key in PEM format written to "/tmp/tmpmit5b452/sdc_key.pem". Executing /usr/bin/python3 -m espsecure generate-sdc-certificate --keyfile /tmp/tmpmit5b452/sdc_key.pem --output /tmp/tmpmit5b452/sdc_cert.bin --mac 00-11-22-33-44-55... espsecure v5.4.0 SDC certificate generated successfully: "/tmp/tmpmit5b452/sdc_cert.bin" Certificate size: 468 bytes No additional features enabled (default security configuration) PASSED test/test_espsecure.py::TestSDCCertificate::test_generate_sdc_cert_mac_formats[001122334455] Executing /usr/bin/python3 -m espsecure generate-signing-key --version 2 --scheme ecdsa256 /tmp/tmp9325yzou/sdc_key.pem... espsecure v5.4.0 ECDSA NIST256p private key in PEM format written to "/tmp/tmp9325yzou/sdc_key.pem". Executing /usr/bin/python3 -m espsecure generate-sdc-certificate --keyfile /tmp/tmp9325yzou/sdc_key.pem --output /tmp/tmp9325yzou/sdc_cert.bin --mac 001122334455... espsecure v5.4.0 SDC certificate generated successfully: "/tmp/tmp9325yzou/sdc_cert.bin" Certificate size: 468 bytes No additional features enabled (default security configuration) PASSED test/test_espsecure.py::TestSDCCertificate::test_generate_sdc_cert_bad_mac_length Executing /usr/bin/python3 -m espsecure generate-signing-key --version 2 --scheme ecdsa256 /tmp/tmpj0ua10ur/sdc_key.pem... espsecure v5.4.0 ECDSA NIST256p private key in PEM format written to "/tmp/tmpj0ua10ur/sdc_key.pem". Executing /usr/bin/python3 -m espsecure generate-sdc-certificate --keyfile /tmp/tmpj0ua10ur/sdc_key.pem --output /tmp/tmpj0ua10ur/sdc_cert.bin --mac 00:11:22:33:44... espsecure v5.4.0 ERROR: A fatal error occurred: MAC hex string has 10 hex characters, expected 12 hex characters PASSED test/test_espsecure.py::TestSDCCertificate::test_generate_sdc_cert_session_counter_invalid[2] Executing /usr/bin/python3 -m espsecure generate-signing-key --version 2 --scheme ecdsa256 /tmp/tmpl9wlhnjs/sdc_key.pem... espsecure v5.4.0 ECDSA NIST256p private key in PEM format written to "/tmp/tmpl9wlhnjs/sdc_key.pem". Executing /usr/bin/python3 -m espsecure generate-sdc-certificate --keyfile /tmp/tmpl9wlhnjs/sdc_key.pem --output /tmp/tmpl9wlhnjs/sdc_cert.bin --mac 00:11:22:33:44:55 --sdc-session-counter 2... espsecure v5.4.0 ERROR: A fatal error occurred: Invalid SDC session counter value: expected one of 0, 1, 3, 7 (SDC_SESSION_COUNTER is a 3-bit write-only eFuse whose bits burn 0->1 monotonically, so it advances 0 -> 1 -> 3 -> 7), got 2 PASSED test/test_espsecure.py::TestSDCCertificate::test_generate_sdc_cert_session_counter_invalid[4] Executing /usr/bin/python3 -m espsecure generate-signing-key --version 2 --scheme ecdsa256 /tmp/tmpk2cqvl7y/sdc_key.pem... espsecure v5.4.0 ECDSA NIST256p private key in PEM format written to "/tmp/tmpk2cqvl7y/sdc_key.pem". Executing /usr/bin/python3 -m espsecure generate-sdc-certificate --keyfile /tmp/tmpk2cqvl7y/sdc_key.pem --output /tmp/tmpk2cqvl7y/sdc_cert.bin --mac 00:11:22:33:44:55 --sdc-session-counter 4... espsecure v5.4.0 ERROR: A fatal error occurred: Invalid SDC session counter value: expected one of 0, 1, 3, 7 (SDC_SESSION_COUNTER is a 3-bit write-only eFuse whose bits burn 0->1 monotonically, so it advances 0 -> 1 -> 3 -> 7), got 4 PASSED test/test_espsecure.py::TestSDCCertificate::test_generate_sdc_cert_session_counter_invalid[5] Executing /usr/bin/python3 -m espsecure generate-signing-key --version 2 --scheme ecdsa256 /tmp/tmpkgqmxs5x/sdc_key.pem... espsecure v5.4.0 ECDSA NIST256p private key in PEM format written to "/tmp/tmpkgqmxs5x/sdc_key.pem". Executing /usr/bin/python3 -m espsecure generate-sdc-certificate --keyfile /tmp/tmpkgqmxs5x/sdc_key.pem --output /tmp/tmpkgqmxs5x/sdc_cert.bin --mac 00:11:22:33:44:55 --sdc-session-counter 5... espsecure v5.4.0 ERROR: A fatal error occurred: Invalid SDC session counter value: expected one of 0, 1, 3, 7 (SDC_SESSION_COUNTER is a 3-bit write-only eFuse whose bits burn 0->1 monotonically, so it advances 0 -> 1 -> 3 -> 7), got 5 PASSED test/test_espsecure.py::TestSDCCertificate::test_generate_sdc_cert_session_counter_invalid[6] Executing /usr/bin/python3 -m espsecure generate-signing-key --version 2 --scheme ecdsa256 /tmp/tmp67re874f/sdc_key.pem... espsecure v5.4.0 ECDSA NIST256p private key in PEM format written to "/tmp/tmp67re874f/sdc_key.pem". Executing /usr/bin/python3 -m espsecure generate-sdc-certificate --keyfile /tmp/tmp67re874f/sdc_key.pem --output /tmp/tmp67re874f/sdc_cert.bin --mac 00:11:22:33:44:55 --sdc-session-counter 6... espsecure v5.4.0 ERROR: A fatal error occurred: Invalid SDC session counter value: expected one of 0, 1, 3, 7 (SDC_SESSION_COUNTER is a 3-bit write-only eFuse whose bits burn 0->1 monotonically, so it advances 0 -> 1 -> 3 -> 7), got 6 PASSED test/test_espsecure.py::TestSDCCertificate::test_generate_sdc_cert_session_counter_invalid[8] Executing /usr/bin/python3 -m espsecure generate-signing-key --version 2 --scheme ecdsa256 /tmp/tmpb4i0vvyp/sdc_key.pem... espsecure v5.4.0 ECDSA NIST256p private key in PEM format written to "/tmp/tmpb4i0vvyp/sdc_key.pem". Executing /usr/bin/python3 -m espsecure generate-sdc-certificate --keyfile /tmp/tmpb4i0vvyp/sdc_key.pem --output /tmp/tmpb4i0vvyp/sdc_cert.bin --mac 00:11:22:33:44:55 --sdc-session-counter 8... espsecure v5.4.0 ERROR: A fatal error occurred: Invalid SDC session counter value: expected one of 0, 1, 3, 7 (SDC_SESSION_COUNTER is a 3-bit write-only eFuse whose bits burn 0->1 monotonically, so it advances 0 -> 1 -> 3 -> 7), got 8 PASSED test/test_espsecure.py::TestSDCCertificate::test_generate_sdc_cert_session_counter_invalid[256] Executing /usr/bin/python3 -m espsecure generate-signing-key --version 2 --scheme ecdsa256 /tmp/tmp_fmgpsh1/sdc_key.pem... espsecure v5.4.0 ECDSA NIST256p private key in PEM format written to "/tmp/tmp_fmgpsh1/sdc_key.pem". Executing /usr/bin/python3 -m espsecure generate-sdc-certificate --keyfile /tmp/tmp_fmgpsh1/sdc_key.pem --output /tmp/tmp_fmgpsh1/sdc_cert.bin --mac 00:11:22:33:44:55 --sdc-session-counter 256... espsecure v5.4.0 ERROR: A fatal error occurred: Invalid SDC session counter value: expected one of 0, 1, 3, 7 (SDC_SESSION_COUNTER is a 3-bit write-only eFuse whose bits burn 0->1 monotonically, so it advances 0 -> 1 -> 3 -> 7), got 256 PASSED test/test_espsecure.py::TestSDCCertificate::test_generate_sdc_cert_session_counter_valid[0] Executing /usr/bin/python3 -m espsecure generate-signing-key --version 2 --scheme ecdsa256 /tmp/tmp8ou21xhd/sdc_key.pem... espsecure v5.4.0 ECDSA NIST256p private key in PEM format written to "/tmp/tmp8ou21xhd/sdc_key.pem". Executing /usr/bin/python3 -m espsecure generate-sdc-certificate --keyfile /tmp/tmp8ou21xhd/sdc_key.pem --output /tmp/tmp8ou21xhd/sdc_cert.bin --mac 00:11:22:33:44:55 --sdc-session-counter 0... espsecure v5.4.0 SDC certificate generated successfully: "/tmp/tmp8ou21xhd/sdc_cert.bin" Certificate size: 468 bytes No additional features enabled (default security configuration) PASSED test/test_espsecure.py::TestSDCCertificate::test_generate_sdc_cert_session_counter_valid[1] Executing /usr/bin/python3 -m espsecure generate-signing-key --version 2 --scheme ecdsa256 /tmp/tmp6dp_gdd4/sdc_key.pem... espsecure v5.4.0 ECDSA NIST256p private key in PEM format written to "/tmp/tmp6dp_gdd4/sdc_key.pem". Executing /usr/bin/python3 -m espsecure generate-sdc-certificate --keyfile /tmp/tmp6dp_gdd4/sdc_key.pem --output /tmp/tmp6dp_gdd4/sdc_cert.bin --mac 00:11:22:33:44:55 --sdc-session-counter 1... espsecure v5.4.0 SDC certificate generated successfully: "/tmp/tmp6dp_gdd4/sdc_cert.bin" Certificate size: 468 bytes No additional features enabled (default security configuration) PASSED test/test_espsecure.py::TestSDCCertificate::test_generate_sdc_cert_session_counter_valid[3] Executing /usr/bin/python3 -m espsecure generate-signing-key --version 2 --scheme ecdsa256 /tmp/tmp0vgyblce/sdc_key.pem... espsecure v5.4.0 ECDSA NIST256p private key in PEM format written to "/tmp/tmp0vgyblce/sdc_key.pem". Executing /usr/bin/python3 -m espsecure generate-sdc-certificate --keyfile /tmp/tmp0vgyblce/sdc_key.pem --output /tmp/tmp0vgyblce/sdc_cert.bin --mac 00:11:22:33:44:55 --sdc-session-counter 3... espsecure v5.4.0 SDC certificate generated successfully: "/tmp/tmp0vgyblce/sdc_cert.bin" Certificate size: 468 bytes No additional features enabled (default security configuration) PASSED test/test_espsecure.py::TestSDCCertificate::test_generate_sdc_cert_session_counter_valid[7] Executing /usr/bin/python3 -m espsecure generate-signing-key --version 2 --scheme ecdsa256 /tmp/tmpypcuzf12/sdc_key.pem... espsecure v5.4.0 ECDSA NIST256p private key in PEM format written to "/tmp/tmpypcuzf12/sdc_key.pem". Executing /usr/bin/python3 -m espsecure generate-sdc-certificate --keyfile /tmp/tmpypcuzf12/sdc_key.pem --output /tmp/tmpypcuzf12/sdc_cert.bin --mac 00:11:22:33:44:55 --sdc-session-counter 7... espsecure v5.4.0 SDC certificate generated successfully: "/tmp/tmpypcuzf12/sdc_cert.bin" Certificate size: 468 bytes No additional features enabled (default security configuration) PASSED test/test_espsecure.py::TestSDCCertificate::test_generate_sdc_cert_rejects_rsa_key Executing /usr/bin/python3 -m espsecure generate-signing-key --version 2 --scheme rsa3072 /tmp/tmpe1irllr6/rsa_key.pem... espsecure v5.4.0 RSA 3072 private key in PEM format written to "/tmp/tmpe1irllr6/rsa_key.pem". Executing /usr/bin/python3 -m espsecure generate-sdc-certificate --keyfile /tmp/tmpe1irllr6/rsa_key.pem --output /tmp/tmpe1irllr6/sdc_cert.bin --mac 00:11:22:33:44:55... espsecure v5.4.0 ERROR: A fatal error occurred: SDC certificates only support ECDSA P-256 keys, not RSA keys. PASSED test/test_espsecure.py::TestSDCCertificate::test_generate_sdc_cert_rejects_wrong_curve[ecdsa384] Executing /usr/bin/python3 -m espsecure generate-signing-key --version 2 --scheme ecdsa384 /tmp/tmpkrnjwfzs/ec_key.pem... espsecure v5.4.0 ECDSA NIST384p private key in PEM format written to "/tmp/tmpkrnjwfzs/ec_key.pem". Executing /usr/bin/python3 -m espsecure generate-sdc-certificate --keyfile /tmp/tmpkrnjwfzs/ec_key.pem --output /tmp/tmpkrnjwfzs/sdc_cert.bin --mac 00:11:22:33:44:55... espsecure v5.4.0 ERROR: A fatal error occurred: SDC certificates only support ECDSA P-256 (SECP256R1), not secp384r1 PASSED test/test_espsecure.py::TestSDCCertificate::test_generate_sdc_digest_rejects_rsa_key Executing /usr/bin/python3 -m espsecure generate-signing-key --version 2 --scheme rsa3072 /tmp/tmp925l9t3i/rsa_key.pem... espsecure v5.4.0 RSA 3072 private key in PEM format written to "/tmp/tmp925l9t3i/rsa_key.pem". Executing /usr/bin/python3 -m espsecure digest-sdc-public-key --keyfile /tmp/tmp925l9t3i/rsa_key.pem -o /tmp/tmp925l9t3i/digest.bin... espsecure v5.4.0 ERROR: A fatal error occurred: SDC certificates only support ECDSA P-256 keys, not RSA keys. PASSED test/test_espsecure.py::TestSDCCertificate::test_generate_sdc_cert_usc_json_overrides_flags Executing /usr/bin/python3 -m espsecure generate-signing-key --version 2 --scheme ecdsa256 /tmp/tmpoi3q41wx/sdc_key.pem... espsecure v5.4.0 ECDSA NIST256p private key in PEM format written to "/tmp/tmpoi3q41wx/sdc_key.pem". Executing /usr/bin/python3 -m espsecure generate-sdc-certificate --keyfile /tmp/tmpoi3q41wx/sdc_key.pem --output /tmp/tmpoi3q41wx/sdc_cert.bin --mac 00:11:22:33:44:55 --usc /tmp/tmpoi3q41wx/usc.json... espsecure v5.4.0 SDC certificate generated successfully: "/tmp/tmpoi3q41wx/sdc_cert.bin" Certificate size: 468 bytes Enabled features: JTAG, Download Reuse PASSED test/test_espsecure.py::TestSDCCertificate::test_generate_sdc_cert_usc_json_invalid Executing /usr/bin/python3 -m espsecure generate-signing-key --version 2 --scheme ecdsa256 /tmp/tmpluuomoc4/sdc_key.pem... espsecure v5.4.0 ECDSA NIST256p private key in PEM format written to "/tmp/tmpluuomoc4/sdc_key.pem". Executing /usr/bin/python3 -m espsecure generate-sdc-certificate --keyfile /tmp/tmpluuomoc4/sdc_key.pem --output /tmp/tmpluuomoc4/sdc_cert.bin --mac 00:11:22:33:44:55 --usc /tmp/tmpluuomoc4/usc.json... espsecure v5.4.0 ERROR: A fatal error occurred: Invalid JSON in USC config file: Expecting property name enclosed in double quotes: line 1 column 3 (char 2) PASSED test/test_espsecure.py::TestSDCCertificate::test_generate_sdc_cert_usc_json_bad_boolean Executing /usr/bin/python3 -m espsecure generate-signing-key --version 2 --scheme ecdsa256 /tmp/tmp0g0rf2ih/sdc_key.pem... espsecure v5.4.0 ECDSA NIST256p private key in PEM format written to "/tmp/tmp0g0rf2ih/sdc_key.pem". Executing /usr/bin/python3 -m espsecure generate-sdc-certificate --keyfile /tmp/tmp0g0rf2ih/sdc_key.pem --output /tmp/tmp0g0rf2ih/sdc_cert.bin --mac 00:11:22:33:44:55 --usc /tmp/tmp0g0rf2ih/usc.json... espsecure v5.4.0 ERROR: A fatal error occurred: Invalid value for 'enable_jtag' in USC JSON: expected boolean, got str PASSED test/test_espsecure.py::TestSDCCertificate::test_generate_sdc_cert_usc_json_wrong_version Executing /usr/bin/python3 -m espsecure generate-signing-key --version 2 --scheme ecdsa256 /tmp/tmpy6q6liql/sdc_key.pem... espsecure v5.4.0 ECDSA NIST256p private key in PEM format written to "/tmp/tmpy6q6liql/sdc_key.pem". Executing /usr/bin/python3 -m espsecure generate-sdc-certificate --keyfile /tmp/tmpy6q6liql/sdc_key.pem --output /tmp/tmpy6q6liql/sdc_cert.bin --mac 00:11:22:33:44:55 --usc /tmp/tmpy6q6liql/usc.json... espsecure v5.4.0 ERROR: A fatal error occurred: Unsupported USC JSON version: None. This espsecure supports version 1; add '"version": 1' to the configuration file. PASSED test/test_espsecure.py::TestSDCCertificate::test_generate_sdc_digest_no_input Executing /usr/bin/python3 -m espsecure digest-sdc-public-key -o /tmp/tmpwq4xplsm/digest.bin... espsecure v5.4.0 Usage: python -m espsecure digest-sdc-public-key [OPTIONS] Try 'python -m espsecure digest-sdc-public-key -h' for help ╭─ Error ──────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ Invalid value for --keyfile/--pub-key/--hsm: One of --keyfile, --pub-key, or --hsm must be provided │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ PASSED test/test_espsecure.py::TestSDCCertificate::test_generate_sdc_digest_multiple_inputs Executing /usr/bin/python3 -m espsecure generate-signing-key --version 2 --scheme ecdsa256 /tmp/tmpgtjma1rr/sdc_key.pem... espsecure v5.4.0 ECDSA NIST256p private key in PEM format written to "/tmp/tmpgtjma1rr/sdc_key.pem". Executing /usr/bin/python3 -m espsecure extract-public-key --version 2 --keyfile /tmp/tmpgtjma1rr/sdc_key.pem /tmp/tmpgtjma1rr/sdc_pub_key.pem... espsecure v5.4.0 "/tmp/tmpgtjma1rr/sdc_key.pem" public key extracted to "/tmp/tmpgtjma1rr/sdc_pub_key.pem". Executing /usr/bin/python3 -m espsecure digest-sdc-public-key --keyfile /tmp/tmpgtjma1rr/sdc_key.pem --pub-key /tmp/tmpgtjma1rr/sdc_pub_key.pem -o /tmp/tmpgtjma1rr/digest.bin... espsecure v5.4.0 Usage: python -m espsecure digest-sdc-public-key [OPTIONS] Try 'python -m espsecure digest-sdc-public-key -h' for help ╭─ Error ──────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ Invalid value for --keyfile/--pub-key/--hsm: Only one of --keyfile, --pub-key, or --hsm can be provided │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ PASSED test/test_espsecure.py::TestSDCCertificate::test_generate_sdc_cert_mac_from_bin_file Executing /usr/bin/python3 -m espsecure generate-signing-key --version 2 --scheme ecdsa256 /tmp/tmprv2r835u/sdc_key.pem... espsecure v5.4.0 ECDSA NIST256p private key in PEM format written to "/tmp/tmprv2r835u/sdc_key.pem". Executing /usr/bin/python3 -m espsecure generate-sdc-certificate --keyfile /tmp/tmprv2r835u/sdc_key.pem --output /tmp/tmprv2r835u/sdc_cert.bin --mac /tmp/tmprv2r835u/mac.bin... espsecure v5.4.0 SDC certificate generated successfully: "/tmp/tmprv2r835u/sdc_cert.bin" Certificate size: 468 bytes No additional features enabled (default security configuration) PASSED test/test_espsecure.py::TestSDCCertificate::test_generate_sdc_cert_mac_from_hex_file Executing /usr/bin/python3 -m espsecure generate-signing-key --version 2 --scheme ecdsa256 /tmp/tmpywi1y896/sdc_key.pem... espsecure v5.4.0 ECDSA NIST256p private key in PEM format written to "/tmp/tmpywi1y896/sdc_key.pem". Executing /usr/bin/python3 -m espsecure generate-sdc-certificate --keyfile /tmp/tmpywi1y896/sdc_key.pem --output /tmp/tmpywi1y896/sdc_cert.bin --mac /tmp/tmpywi1y896/mac.hex... espsecure v5.4.0 SDC certificate generated successfully: "/tmp/tmpywi1y896/sdc_cert.bin" Certificate size: 468 bytes No additional features enabled (default security configuration) PASSED test/test_espsecure.py::TestSDCCertificate::test_generate_sdc_cert_mac_bin_file_wrong_size Executing /usr/bin/python3 -m espsecure generate-signing-key --version 2 --scheme ecdsa256 /tmp/tmp9nzg97lp/sdc_key.pem... espsecure v5.4.0 ECDSA NIST256p private key in PEM format written to "/tmp/tmp9nzg97lp/sdc_key.pem". Executing /usr/bin/python3 -m espsecure generate-sdc-certificate --keyfile /tmp/tmp9nzg97lp/sdc_key.pem --output /tmp/tmp9nzg97lp/sdc_cert.bin --mac /tmp/tmp9nzg97lp/mac.bin... espsecure v5.4.0 ERROR: A fatal error occurred: Invalid MAC file size: '/tmp/tmp9nzg97lp/mac.bin' contains 5 bytes, expected 6 bytes PASSED test/test_esptool.py::TestFlashing::test_write_overlap ************************************************** Running the "write-flash 0x0 images/bootloader_esp32.bin 0x1000 images/one_kb.bin" command... Executing /usr/bin/python3 -m esptool --chip esp32 --port /dev/ttyUSB0 --baud 115200 write-flash 0x0 images/bootloader_esp32.bin 0x1000 images/one_kb.bin... esptool v5.4.0 Usage: python -m esptool write-flash [OPTIONS]
... Try 'python -m esptool write-flash -h' for help ╭─ Error ──────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ Invalid value for '
...': Detected overlap at address: 0x1000 for file: images/one_kb.bin. │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ PASSED test/test_esptool.py::TestFlashing::test_repeated_address Running the "write-flash 0x0 images/one_kb.bin 0x0 images/one_kb.bin" command... Executing /usr/bin/python3 -m esptool --chip esp32 --port /dev/ttyUSB0 --baud 115200 write-flash 0x0 images/one_kb.bin 0x0 images/one_kb.bin... esptool v5.4.0 Usage: python -m esptool write-flash [OPTIONS]
... Try 'python -m esptool write-flash -h' for help ╭─ Error ──────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ Invalid value for '
...': Detected overlap at address: 0x0 for file: images/one_kb.bin. │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ PASSED test/test_esptool.py::TestFlashing::test_write_sector_overlap Running the "write-flash 0xd00 images/one_kb.bin 0x1d00 images/one_kb.bin" command... Executing /usr/bin/python3 -m esptool --chip esp32 --port /dev/ttyUSB0 --baud 115200 write-flash 0xd00 images/one_kb.bin 0x1d00 images/one_kb.bin... esptool v5.4.0 Usage: python -m esptool write-flash [OPTIONS]
... Try 'python -m esptool write-flash -h' for help ╭─ Error ──────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ Invalid value for '
...': Detected overlap at address: 0x1d00 for file: images/one_kb.bin. │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ PASSED test/test_esptool.py::TestFlashing::test_write_flash_production_plaintext_guard Configuring flash size... WARNING: Security features enabled, so not changing any flash settings. Configuring flash size... WARNING: Security features enabled, so not changing any flash settings. Configuring flash size... WARNING: Security features enabled, so not changing any flash settings. PASSED test/test_esptool.py::TestFlashSizes::test_invalid_size_arg ************************************************** Running the "write-flash -fs 10MB 0x6000 images/one_kb.bin" command... Executing /usr/bin/python3 -m esptool --chip esp32 --port /dev/ttyUSB0 --baud 115200 write-flash -fs 10MB 0x6000 images/one_kb.bin... esptool v5.4.0 Usage: python -m esptool write-flash [OPTIONS]
... Try 'python -m esptool write-flash -h' for help ╭─ Error ──────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ Invalid value for '--flash-size' / '-fs': '10MB' is not one of 'detect', 'keep', '256KB', '512KB', '1MB', '2MB', │ │ '2MB-c1', '4MB', '4MB-c1', '8MB', '16MB', '32MB', '64MB', '128MB'. │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ PASSED test/test_esptool.py::TestVirtualPort::test_pty_port ************************************************** esptool v5.4.0 Serial port /dev/pts/0: Connecting... Failed to get VID/PID of a device on /dev/pts/0: Cannot resolve VID/PID for '/dev/pts/0': not listed by pyserial. The device may be unplugged or hidden from this process. Using standard reset sequence. Failed to get VID/PID of a device on /dev/pts/0: Cannot resolve VID/PID for '/dev/pts/0': not listed by pyserial. The device may be unplugged or hidden from this process. Using standard reset sequence. WARNING: Chip was NOT reset. Setting RTS/DTR lines is not supported for port '/dev/pts/0'. Set --before and --after arguments to 'no-reset' and switch to bootloader manually to avoid this warning. ................................... ERROR: A fatal error occurred: Failed to connect to Espressif device: No serial data received. For troubleshooting steps visit: https://docs.espressif.com/projects/esptool/en/latest/troubleshooting.html PASSED test/test_esptool.py::TestConfigFile::test_load_config_file ************************************************** Running the "version" command... Executing /usr/bin/python3 -m esptool --chip esp32 --port /dev/ttyUSB0 --baud 115200 version... esptool v5.4.0 Loaded custom configuration from /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/esptool.cfg 5.4.0 Running the "version" command... Executing /usr/bin/python3 -m esptool --chip esp32 --port /dev/ttyUSB0 --baud 115200 version... esptool v5.4.0 5.4.0 Running the "version" command... Executing /usr/bin/python3 -m esptool --chip esp32 --port /dev/ttyUSB0 --baud 115200 version... esptool v5.4.0 WARNING: Ignoring invalid config file /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/esptool.cfg: While reading from '/builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/esptool.cfg' : option 'connect_attempts' in section 'esptool' already exists 5.4.0 Running the "version" command... Executing /usr/bin/python3 -m esptool --chip esp32 --port /dev/ttyUSB0 --baud 115200 version... esptool v5.4.0 WARNING: Ignoring unknown config options: bits, timoout Loaded custom configuration from /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/esptool.cfg 5.4.0 Running the "version" command... Executing /usr/bin/python3 -m esptool --chip esp32 --port /dev/ttyUSB0 --baud 115200 version... esptool v5.4.0 Loaded custom configuration from /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/tox.ini 5.4.0 PASSED test/test_esptool.py::TestConfigFile::test_load_config_file_with_env_var Running the "version" command... Executing /usr/bin/python3 -m esptool --chip esp32 --port /dev/ttyUSB0 --baud 115200 version... esptool v5.4.0 5.4.0 Running the "version" command... Executing /usr/bin/python3 -m esptool --chip esp32 --port /dev/ttyUSB0 --baud 115200 version... esptool v5.4.0 Loaded custom configuration from /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/custom_file.ini (set with ESPTOOL_CFGFILE) 5.4.0 PASSED test/test_esptool.py::TestESPObjectOperations::test_non_esp_operations ************************************************** PASSED test/test_esptool.py::TestOldScripts::test_esptool_py PASSED test/test_esptool.py::TestOldScripts::test_espefuse_py PASSED test/test_esptool.py::TestOldScripts::test_espsecure_py PASSED test/test_esptool.py::TestOldScripts::test_esp_rfc2217_server_py PASSED test/test_esptool.py::TestDeprecatedAliases::test_connect_loop_forwards_to_connect_with_retries PASSED test/test_esptool.py::TestDeprecatedAliases::test_get_default_connected_device_forwards_to_connect_first_available PASSED test/test_esptool.py::TestPortFilter::test_port_filter_name ************************************************** Running the "--port-filter name=NonExistentChip flash-id" command... Executing /usr/bin/python3 -m esptool --chip esp32 --baud 115200 --port-filter name=NonExistentChip flash-id... esptool v5.4.0 Found 0 serial ports... ERROR: A fatal error occurred: Could not connect to an Espressif device on any of the 0 available serial ports. PASSED test/test_esptool.py::TestPortFilter::test_port_filter_invalid_key_error Running the "--port-filter invalidkey=123 flash-id" command... Executing /usr/bin/python3 -m esptool --chip esp32 --baud 115200 --port-filter invalidkey=123 flash-id... esptool v5.4.0 ERROR: A fatal error occurred: Unknown port filter key: 'invalidkey'. Valid keys: ['name', 'pid', 'serial', 'vid']. PASSED test/test_esptool.py::TestPortFilter::test_port_filter_missing_equal_sign Running the "--port-filter name123 flash-id" command... Executing /usr/bin/python3 -m esptool --chip esp32 --baud 115200 --port-filter name123 flash-id... esptool v5.4.0 ERROR: A fatal error occurred: Invalid port filter format: 'name123'. Expected key=value. PASSED test/test_esptool.py::TestSlipReaderRead::test_read_on_exhausted_slip_reader_raises_fatalerror PASSED test/test_esptool.py::TestSlipReaderRead::test_read_does_not_leak_stopiteration_through_generator PASSED test/test_esptool.py::TestSlipReaderRead::test_run_stub_failure_links_troubleshooting_guide_once Uploading stub flasher... Running stub flasher... PASSED test/test_esptool_sdc.py::TestVerifySdcCertificate::test_verify_sdc_certificate_flow Verifying SDC certificate ... SDC certificate verified successfully. PASSED test/test_esptool_sdc.py::TestVerifySdcCertificate::test_verify_sdc_certificate_rejected Verifying SDC certificate ... PASSED test/test_esptool_sdc.py::TestReadSdcChipInfo::test_read_sdc_chip_info_layout Reading SDC chip info ... Chip info is saved to /tmp/tmpof4megj4/chip_info.bin! PASSED test/test_esptool_sdc.py::TestReadSdcChipInfo::test_read_sdc_chip_info_random_nonce Reading SDC chip info ... Chip info is saved to /tmp/tmpfgpg5q21/a.bin! Reading SDC chip info ... Chip info is saved to /tmp/tmpfgpg5q21/b.bin! PASSED test/test_esptool_sdc.py::TestReadSdcChipInfo::test_read_sdc_chip_info_invalid_size[None] Reading SDC chip info ... PASSED test/test_esptool_sdc.py::TestReadSdcChipInfo::test_read_sdc_chip_info_invalid_size[too-short] Reading SDC chip info ... PASSED test/test_esptool_sdc.py::TestReadSdcChipInfo::test_read_sdc_chip_info_invalid_size[\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00] Reading SDC chip info ... PASSED test/test_esptool_sdc.py::TestReadSdcChipInfo::test_read_sdc_chip_info_invalid_size[\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00] Reading SDC chip info ... PASSED test/test_esptool_sdc.py::TestSdcLoaderFraming::test_sdc_opcodes_registered PASSED test/test_esptool_sdc.py::TestSdcLoaderFraming::test_verify_begin_packs_nonce_and_size PASSED test/test_esptool_sdc.py::TestSdcLoaderFraming::test_verify_data_packs_length_and_checksum PASSED test/test_esptool_sdc.py::TestSdcLoaderFraming::test_gen_data_packs_length_and_checksum PASSED test/test_esptool_sdc.py::TestSdcLoaderFraming::test_gen_end_returns_first_32_bytes PASSED test/test_esptool_sdc.py::TestSdcLoaderFraming::test_gen_end_handles_empty_result PASSED test/test_esptool_sdc.py::TestSdcLoaderFraming::test_gen_begin_swallows_fatalerror_in_rom PASSED test/test_esptool_sdc.py::TestSdcLoaderFraming::test_gen_data_swallows_fatalerror_in_rom PASSED test/test_esptool_sdc.py::TestUnsupportedCommandError::test_is_fatalerror_subclass PASSED test/test_esptool_sdc.py::TestUnsupportedCommandError::test_secure_download_mode_message PASSED test/test_esptool_sdc.py::TestUnsupportedCommandError::test_restricted_mode_message_points_to_sdc_on_s31 PASSED test/test_esptool_sdc.py::TestUnsupportedCommandError::test_restricted_mode_message_generic_on_other_chips PASSED test/test_image_info.py::TestImageInfo::test_esp32c3 Executing /usr/bin/python3 -m esptool --chip esp32c3 image-info /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/bootloader_esp32c3.bin esptool v5.4.0 Image size: 17744 bytes ESP32-C3 Image Header ===================== Image version: 1 Entry point: 0x403c0000 Segments: 4 Flash size: 2MB Flash freq: 40m Flash mode: DIO ESP32-C3 Extended Image Header ============================== WP pin: 0xee (disabled) Flash pins drive settings: clk_drv: 0x0, q_drv: 0x0, d_drv: 0x0, cs0_drv: 0x0, hd_drv: 0x0, wp_drv: 0x0 Chip ID: 5 (ESP32-C3) Minimal chip revision: v0.0, (legacy min_rev = 0) Maximal chip revision: v0.0 Segments Information ==================== Segment Length Load addr File offs Memory types ------- ------- ---------- ---------- ------------ 0 0x00014 0x3fcd6100 0x00000018 DRAM, BYTE_ACCESSIBLE 1 0x01864 0x3fcd6114 0x00000034 DRAM, BYTE_ACCESSIBLE 2 0x00de4 0x403c0000 0x000018a0 IRAM 3 0x01e8c 0x403c2000 0x0000268c IRAM ESP32-C3 Image Footer ===================== Checksum: 0x77 (valid) Validation hash: 4faeab1bd3fd6a7d4adfa0fd38f41bfc67a8c3c0a9d6d882b65580da2e5e6347 (valid) PASSED test/test_image_info.py::TestImageInfo::test_esp8266 Executing /usr/bin/python3 -m esptool --chip esp8266 image-info /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/not_4_byte_aligned.bin esptool v5.4.0 Image size: 53 bytes ESP8266 Image Header ==================== Image version: 1 Entry point: 0x40101844 Segments: 1 Flash size: 512KB Flash freq: 40m Flash mode: QIO Segments Information ==================== Segment Length Load addr File offs Memory types ------- ------- ---------- ---------- ------------ 0 0x00014 0x40100000 0x00000008 IRAM ESP8266 Image Footer ==================== Checksum: 0x6b (valid) PASSED test/test_image_info.py::TestImageInfo::test_image_type_detection Executing /usr/bin/python3 -m esptool --chip auto image-info /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/not_4_byte_aligned.bin esptool v5.4.0 Image size: 53 bytes Detected image type: ESP8266 ESP8266 Image Header ==================== Image version: 1 Entry point: 0x40101844 Segments: 1 Flash size: 512KB Flash freq: 40m Flash mode: QIO Segments Information ==================== Segment Length Load addr File offs Memory types ------- ------- ---------- ---------- ------------ 0 0x00014 0x40100000 0x00000008 IRAM ESP8266 Image Footer ==================== Checksum: 0x6b (valid) Executing /usr/bin/python3 -m esptool --chip auto image-info /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/esp8266_deepsleep.bin esptool v5.4.0 Image size: 297632 bytes Detected image type: ESP8266 ESP8266 Image Header ==================== Image version: 1 Entry point: 0x4010f29c Segments: 1 Flash size: 4MB Flash freq: 40m Flash mode: DIO Segments Information ==================== Segment Length Load addr File offs Memory types ------- ------- ---------- ---------- ------------ 0 0x00568 0x4010f000 0x00000008 ESP8266 Image Footer ==================== Checksum: 0x2d (valid) Executing /usr/bin/python3 -m esptool --chip auto image-info /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/bootloader_esp32.bin esptool v5.4.0 Image size: 7888 bytes Detected image type: ESP32 ESP32 Image Header ================== Image version: 1 Entry point: 0x4009816c Segments: 4 Flash size: 2MB Flash freq: 40m Flash mode: DIO ESP32 Extended Image Header =========================== WP pin: 0x0 Flash pins drive settings: clk_drv: 0x0, q_drv: 0x0, d_drv: 0x0, cs0_drv: 0x0, hd_drv: 0x0, wp_drv: 0x0 Chip ID: 0 (ESP32) Minimal chip revision: v0.0, (legacy min_rev = 0) Maximal chip revision: v0.0 Segments Information ==================== Segment Length Load addr File offs Memory types ------- ------- ---------- ---------- ------------ 0 0x00000 0x3ffc0000 0x00000018 BYTE_ACCESSIBLE, DRAM 1 0x00b3c 0x3ffc0000 0x00000020 BYTE_ACCESSIBLE, DRAM 2 0x01068 0x40078000 0x00000b64 CACHE_APP 3 0x002e4 0x40098000 0x00001bd4 IRAM ESP32 Image Footer ================== Checksum: 0x83 (valid) Executing /usr/bin/python3 -m esptool --chip auto image-info /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/ram_helloworld/helloworld-esp32_edit.bin esptool v5.4.0 Image size: 128 bytes Detected image type: ESP32 ESP32 Image Header ================== Image version: 1 Entry point: 0x4008c008 Segments: 2 Flash size: 1MB Flash freq: 40m Flash mode: QIO ESP32 Extended Image Header =========================== WP pin: 0xee (disabled) Flash pins drive settings: clk_drv: 0x0, q_drv: 0x0, d_drv: 0x0, cs0_drv: 0x0, hd_drv: 0x0, wp_drv: 0x0 Chip ID: 0 (ESP32) Minimal chip revision: v0.0, (legacy min_rev = 0) Maximal chip revision: v0.0 Segments Information ==================== Segment Length Load addr File offs Memory types ------- ------- ---------- ---------- ------------ 0 0x00010 0x3ffc0000 0x00000018 BYTE_ACCESSIBLE, DRAM 1 0x00018 0x4008c000 0x00000030 IRAM ESP32 Image Footer ================== Checksum: 0x14 (valid) Validation hash: 8ff3e6430a3ea49ec072aff7b73fe7b881ff47b8f619936385938d4bfb3a9ba9 (invalid) Executing /usr/bin/python3 -m esptool --chip esp32 image-info /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/bootloader_esp32.bin esptool v5.4.0 Image size: 7888 bytes ESP32 Image Header ================== Image version: 1 Entry point: 0x4009816c Segments: 4 Flash size: 2MB Flash freq: 40m Flash mode: DIO ESP32 Extended Image Header =========================== WP pin: 0x0 Flash pins drive settings: clk_drv: 0x0, q_drv: 0x0, d_drv: 0x0, cs0_drv: 0x0, hd_drv: 0x0, wp_drv: 0x0 Chip ID: 0 (ESP32) Minimal chip revision: v0.0, (legacy min_rev = 0) Maximal chip revision: v0.0 Segments Information ==================== Segment Length Load addr File offs Memory types ------- ------- ---------- ---------- ------------ 0 0x00000 0x3ffc0000 0x00000018 BYTE_ACCESSIBLE, DRAM 1 0x00b3c 0x3ffc0000 0x00000020 BYTE_ACCESSIBLE, DRAM 2 0x01068 0x40078000 0x00000b64 CACHE_APP 3 0x002e4 0x40098000 0x00001bd4 IRAM ESP32 Image Footer ================== Checksum: 0x83 (valid) Executing /usr/bin/python3 -m esptool --chip auto image-info /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/bootloader_esp32c3.bin esptool v5.4.0 Image size: 17744 bytes Detected image type: ESP32-C3 ESP32-C3 Image Header ===================== Image version: 1 Entry point: 0x403c0000 Segments: 4 Flash size: 2MB Flash freq: 40m Flash mode: DIO ESP32-C3 Extended Image Header ============================== WP pin: 0xee (disabled) Flash pins drive settings: clk_drv: 0x0, q_drv: 0x0, d_drv: 0x0, cs0_drv: 0x0, hd_drv: 0x0, wp_drv: 0x0 Chip ID: 5 (ESP32-C3) Minimal chip revision: v0.0, (legacy min_rev = 0) Maximal chip revision: v0.0 Segments Information ==================== Segment Length Load addr File offs Memory types ------- ------- ---------- ---------- ------------ 0 0x00014 0x3fcd6100 0x00000018 DRAM, BYTE_ACCESSIBLE 1 0x01864 0x3fcd6114 0x00000034 DRAM, BYTE_ACCESSIBLE 2 0x00de4 0x403c0000 0x000018a0 IRAM 3 0x01e8c 0x403c2000 0x0000268c IRAM ESP32-C3 Image Footer ===================== Checksum: 0x77 (valid) Validation hash: 4faeab1bd3fd6a7d4adfa0fd38f41bfc67a8c3c0a9d6d882b65580da2e5e6347 (valid) Executing /usr/bin/python3 -m esptool --chip auto image-info /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/esp32s3_header.bin esptool v5.4.0 Image size: 48 bytes Detected image type: ESP32-S3 ESP32-S3 Image Header ===================== Image version: 1 Entry point: 0xdeadbeef Segments: 1 Flash size: 2MB Flash freq: 40m Flash mode: DIO ESP32-S3 Extended Image Header ============================== WP pin: 0x0 Flash pins drive settings: clk_drv: 0x0, q_drv: 0x0, d_drv: 0x0, cs0_drv: 0x0, hd_drv: 0x0, wp_drv: 0x0 Chip ID: 9 (ESP32-S3) Minimal chip revision: v0.0, (legacy min_rev = 10) Maximal chip revision: v0.0 Segments Information ==================== Segment Length Load addr File offs Memory types ------- ------- ---------- ---------- ------------ 0 0x00000 0xdeadbeef 0x00000018 ESP32-S3 Image Footer ===================== Checksum: 0xef (valid) PASSED test/test_image_info.py::TestImageInfo::test_invalid_image_type_detection PASSED test/test_image_info.py::TestImageInfo::test_application_info Executing /usr/bin/python3 -m esptool --chip auto image-info /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/esp_idf_blink_esp32s2.bin esptool v5.4.0 Image size: 182368 bytes Detected image type: ESP32-S2 ESP32-S2 Image Header ===================== Image version: 1 Entry point: 0x40022f84 Segments: 6 Flash size: 2MB Flash freq: 80m Flash mode: DIO ESP32-S2 Extended Image Header ============================== WP pin: 0xee (disabled) Flash pins drive settings: clk_drv: 0x0, q_drv: 0x0, d_drv: 0x0, cs0_drv: 0x0, hd_drv: 0x0, wp_drv: 0x0 Chip ID: 2 (ESP32-S2) Minimal chip revision: v0.0, (legacy min_rev = 0) Maximal chip revision: v0.0 Segments Information ==================== Segment Length Load addr File offs Memory types ------- ------- ---------- ---------- ------------ 0 0x08c18 0x3f000020 0x00000018 DROM 1 0x0204c 0x3ffbde90 0x00008c38 BYTE_ACCESSIBLE, MEM_INTERNAL, DRAM 2 0x05384 0x40022000 0x0000ac8c MEM_INTERNAL, IRAM 3 0x15ce8 0x40080020 0x00010018 IROM 4 0x06b0c 0x40027384 0x00025d08 MEM_INTERNAL, IRAM 5 0x00010 0x50000000 0x0002c81c RTC_DATA ESP32-S2 Image Footer ===================== Checksum: 0x18 (valid) Validation hash: 10f48f4a71a48cc4c917d70d13bf717b1bc7f3187b3d564b00192f7e381531b7 (valid) Application Information ======================= Project name: blink App version: qa-test-v5.0-20220830-4-g4532e6 Compile time: Sep 13 2022 19:46:07 ELF file SHA256: 3059e6b55a965865febd28fa9f6028ad5cd0dab311febb0a3ea79eaa223ac2b0 ESP-IDF: v5.0-beta1-427-g4532e6e0b2-dirt Minimal eFuse block revision: 0.0 Maximal eFuse block revision: 0.0 Secure version: 0 Executing /usr/bin/python3 -m esptool --chip auto image-info /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/bootloader_esp32.bin esptool v5.4.0 Image size: 7888 bytes Detected image type: ESP32 ESP32 Image Header ================== Image version: 1 Entry point: 0x4009816c Segments: 4 Flash size: 2MB Flash freq: 40m Flash mode: DIO ESP32 Extended Image Header =========================== WP pin: 0x0 Flash pins drive settings: clk_drv: 0x0, q_drv: 0x0, d_drv: 0x0, cs0_drv: 0x0, hd_drv: 0x0, wp_drv: 0x0 Chip ID: 0 (ESP32) Minimal chip revision: v0.0, (legacy min_rev = 0) Maximal chip revision: v0.0 Segments Information ==================== Segment Length Load addr File offs Memory types ------- ------- ---------- ---------- ------------ 0 0x00000 0x3ffc0000 0x00000018 BYTE_ACCESSIBLE, DRAM 1 0x00b3c 0x3ffc0000 0x00000020 BYTE_ACCESSIBLE, DRAM 2 0x01068 0x40078000 0x00000b64 CACHE_APP 3 0x002e4 0x40098000 0x00001bd4 IRAM ESP32 Image Footer ================== Checksum: 0x83 (valid) Executing /usr/bin/python3 -m esptool --chip auto image-info /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/not_4_byte_aligned.bin esptool v5.4.0 Image size: 53 bytes Detected image type: ESP8266 ESP8266 Image Header ==================== Image version: 1 Entry point: 0x40101844 Segments: 1 Flash size: 512KB Flash freq: 40m Flash mode: QIO Segments Information ==================== Segment Length Load addr File offs Memory types ------- ------- ---------- ---------- ------------ 0 0x00014 0x40100000 0x00000008 IRAM ESP8266 Image Footer ==================== Checksum: 0x6b (valid) PASSED test/test_image_info.py::TestImageInfo::test_bootloader_info Executing /usr/bin/python3 -m esptool --chip esp32 image-info /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/images/bootloader_esp32_v5_2.bin esptool v5.4.0 Image size: 26768 bytes ESP32 Image Header ================== Image version: 1 Entry point: 0x40080650 Segments: 4 Flash size: 2MB Flash freq: 40m Flash mode: DOUT ESP32 Extended Image Header =========================== WP pin: 0xee (disabled) Flash pins drive settings: clk_drv: 0x0, q_drv: 0x0, d_drv: 0x0, cs0_drv: 0x0, hd_drv: 0x0, wp_drv: 0x0 Chip ID: 0 (ESP32) Minimal chip revision: v0.0, (legacy min_rev = 0) Maximal chip revision: v3.99 Segments Information ==================== Segment Length Load addr File offs Memory types ------- ------- ---------- ---------- ------------ 0 0x01bdc 0x3fff0030 0x00000018 BYTE_ACCESSIBLE, DRAM, DIRAM_DRAM 1 0x03d20 0x40078000 0x00001bfc CACHE_APP 2 0x00004 0x40080400 0x00005924 IRAM 3 0x00f2c 0x40080404 0x00005930 IRAM ESP32 Image Footer ================== Checksum: 0xbe (valid) Validation hash: 10cec8cf739f34fb0473993b3cb0e3bd78402d6a7cc5b1cb5e1add2b1105f8ac (valid) Bootloader Information ====================== Bootloader version: 1 ESP-IDF: v5.2-dev-254-g1950b15 Compile time: Apr 25 2023 00:13:32 PASSED test/test_image_info.py::TestImageInfo::test_intel_hex Executing /usr/bin/python3 -m esptool --chip esp32c3 image-info /tmp/tmpr5ssn283.hex esptool v5.4.0 Merged binary image detected. Processing each file individually. =================================================== Processing file 1/2, offset: 0x0, size: 17744 bytes =================================================== ESP32-C3 Image Header ===================== Image version: 1 Entry point: 0x403c0000 Segments: 4 Flash size: 2MB Flash freq: 40m Flash mode: DIO ESP32-C3 Extended Image Header ============================== WP pin: 0xee (disabled) Flash pins drive settings: clk_drv: 0x0, q_drv: 0x0, d_drv: 0x0, cs0_drv: 0x0, hd_drv: 0x0, wp_drv: 0x0 Chip ID: 5 (ESP32-C3) Minimal chip revision: v0.0, (legacy min_rev = 0) Maximal chip revision: v0.0 Segments Information ==================== Segment Length Load addr File offs Memory types ------- ------- ---------- ---------- ------------ 0 0x00014 0x3fcd6100 0x00000018 DRAM, BYTE_ACCESSIBLE 1 0x01864 0x3fcd6114 0x00000034 DRAM, BYTE_ACCESSIBLE 2 0x00de4 0x403c0000 0x000018a0 IRAM 3 0x01e8c 0x403c2000 0x0000268c IRAM ESP32-C3 Image Footer ===================== Checksum: 0x77 (valid) Validation hash: 4faeab1bd3fd6a7d4adfa0fd38f41bfc67a8c3c0a9d6d882b65580da2e5e6347 (valid) =================================================== Processing file 2/2, offset: 0x8000, size: 48 bytes =================================================== ESP32-C3 Image Header ===================== Image version: 1 Entry point: 0xdeadbeef Segments: 1 Flash size: 2MB Flash freq: 40m Flash mode: DIO ESP32-C3 Extended Image Header ============================== WP pin: 0x0 Flash pins drive settings: clk_drv: 0x0, q_drv: 0x0, d_drv: 0x0, cs0_drv: 0x0, hd_drv: 0x0, wp_drv: 0x0 Chip ID: 5 (ESP32-C3) Minimal chip revision: v2.55, (legacy min_rev = 0) Maximal chip revision: v655.35 Segments Information ==================== Segment Length Load addr File offs Memory types ------- ------- ---------- ---------- ------------ 0 0x00000 0xdeadbeef 0x00000018 ESP32-C3 Image Footer ===================== Checksum: 0xef (valid) PASSED test/test_imagegen.py::TestESP8266V1Image::test_irom_bin Executing /usr/bin/python3 -m esptool --chip esp8266 elf2image --version 1 esp8266-nonosssdk20-iotdemo.elf esptool v5.4.0 Creating ESP8266 image... Merged 1 ELF section. Successfully created ESP8266 image. PASSED test/test_imagegen.py::TestESP8266V1Image::test_loaded_sections comparing seg 0x3ffe8000 sec 0x3ffe8000 len 0xba0 comparing seg 0x40100000 sec 0x3ffe8ba0 len 0x0 comparing seg 0x3ffe8000 sec 0x40100000 len 0x758c comparing seg 0x40100000 sec 0x40100000 len 0x758c comparing seg 0x3ffe8000 sec 0x3ffe8ba0 len 0xe10 comparing seg 0x40100000 sec 0x3ffe8ba0 len 0xe10 PASSED test/test_imagegen.py::TestESP8266V12SectionHeaderNotAtEnd::test_elf_section_header_not_at_end Executing /usr/bin/python3 -m esptool --chip esp8266 elf2image esp8266-nonossdkv12-example.elf esptool v5.4.0 Creating ESP8266 image... Successfully created ESP8266 image. comparing seg 0x3ffe8000 sec 0x3ffe8000 len 0x548 comparing seg 0x3ffe8550 sec 0x3ffe8548 len 0x0 comparing seg 0x40100000 sec 0x3ffe8548 len 0x0 comparing seg 0x3ffe8000 sec 0x40100000 len 0x63f2 comparing seg 0x3ffe8550 sec 0x40100000 len 0x63f2 comparing seg 0x40100000 sec 0x40100000 len 0x63f2 comparing seg 0x3ffe8000 sec 0x3ffe8550 len 0x4fc comparing seg 0x3ffe8550 sec 0x3ffe8550 len 0x4fc comparing seg 0x40100000 sec 0x3ffe8a4c len 0x0 PASSED test/test_imagegen.py::TestESP8266V2Image::test_nonossdkimage Executing /usr/bin/python3 -m esptool --chip esp8266 elf2image --version 2 esp8266-nonossdkv20-at-v2.elf esptool v5.4.0 Creating ESP8266 image... Successfully created ESP8266 image. In test_elf2image 4 comparing seg 0x0 sec 0x3ffe8000 len 0x86c comparing seg 0x3ffe8000 sec 0x3ffe8000 len 0x86c comparing seg 0x3ffe8870 sec 0x3ffe886c len 0x0 comparing seg 0x40100000 sec 0x3ffe886c len 0x0 comparing seg 0x0 sec 0x40100000 len 0x7a57 comparing seg 0x3ffe8000 sec 0x40100000 len 0x7a57 comparing seg 0x3ffe8870 sec 0x40100000 len 0x7a57 comparing seg 0x40100000 sec 0x40100000 len 0x7a57 comparing seg 0x0 sec 0x3ffe8870 len 0x2184 comparing seg 0x3ffe8000 sec 0x3ffe8870 len 0x2184 comparing seg 0x3ffe8870 sec 0x3ffe8870 len 0x2184 comparing seg 0x40100000 sec 0x3ffea9f4 len 0x0 esptool v5.4.0 Image size: 418852 bytes ESP8266 Image Header ==================== Image version: 2 Entry point: 0x40100004 Segments: 4 Flash size: 1MB Flash freq: 40m Flash mode: QIO Segments Information ==================== Segment Length Load addr File offs Memory types ------- ------- ---------- ---------- ------------ 0 0x5bfa0 0x00000000 0x00000008 1 0x0086c 0x3ffe8000 0x0005bfb8 DRAM 2 0x02184 0x3ffe8870 0x0005c82c DRAM 3 0x07a58 0x40100000 0x0005e9b8 IRAM ESP8266 Image Footer ==================== Checksum: 0x54 (valid) PASSED test/test_imagegen.py::TestESP8266V2Image::test_espopenrtosimage Executing /usr/bin/python3 -m esptool --chip esp8266 elf2image --version 2 esp8266-openrtos-blink-v2.elf esptool v5.4.0 Creating ESP8266 image... Merged 1 ELF section. Successfully created ESP8266 image. In test_elf2image 3 comparing seg 0x0 sec 0x3ffe8000 len 0x886 comparing seg 0x3ffe8000 sec 0x3ffe8000 len 0x886 comparing seg 0x40100000 sec 0x3ffe8886 len 0x0 comparing seg 0x0 sec 0x40100000 len 0x75a5 comparing seg 0x3ffe8000 sec 0x40100000 len 0x75a5 comparing seg 0x40100000 sec 0x40100000 len 0x75a5 comparing seg 0x0 sec 0x3ffe8888 len 0x7af comparing seg 0x3ffe8000 sec 0x3ffe8888 len 0x7af comparing seg 0x40100000 sec 0x3ffe8888 len 0x7af esptool v5.4.0 Image size: 233028 bytes ESP8266 Image Header ==================== Image version: 2 Entry point: 0x40100214 Segments: 3 Flash size: 1MB Flash freq: 40m Flash mode: QIO Segments Information ==================== Segment Length Load addr File offs Memory types ------- ------- ---------- ---------- ------------ 0 0x30830 0x00000000 0x00000008 1 0x075a8 0x40100000 0x00030848 IRAM 2 0x01038 0x3ffe8000 0x00037df8 DRAM ESP8266 Image Footer ==================== Checksum: 0x01 (valid) PASSED test/test_imagegen.py::TestESP32Image::test_bootloader Executing /usr/bin/python3 -m esptool --chip esp32 elf2image esp32-bootloader.elf esptool v5.4.0 Creating ESP32 image... Successfully created ESP32 image. esptool v5.4.0 Image size: 4240 bytes ESP32 Image Header ================== Image version: 1 Entry point: 0x40098118 Segments: 3 Flash size: 1MB Flash freq: 40m Flash mode: QIO ESP32 Extended Image Header =========================== WP pin: 0xee (disabled) Flash pins drive settings: clk_drv: 0x0, q_drv: 0x0, d_drv: 0x0, cs0_drv: 0x0, hd_drv: 0x0, wp_drv: 0x0 Chip ID: 0 (ESP32) Minimal chip revision: v0.0, (legacy min_rev = 0) Maximal chip revision: v655.35 Segments Information ==================== Segment Length Load addr File offs Memory types ------- ------- ---------- ---------- ------------ 0 0x00398 0x3ffc0000 0x00000018 BYTE_ACCESSIBLE, DRAM 1 0x00aa4 0x40078000 0x000003b8 CACHE_APP 2 0x001fc 0x40098000 0x00000e64 IRAM ESP32 Image Footer ================== Checksum: 0x11 (valid) Validation hash: b60da00702c1e37aa000993c880a5e3b3e3840521e097ecfef9069fc0d39847a (valid) comparing seg 0x3ffc0000 sec 0x40098000 len 0x1fc comparing seg 0x40078000 sec 0x40098000 len 0x1fc comparing seg 0x40098000 sec 0x40098000 len 0x1fc comparing seg 0x3ffc0000 sec 0x40078000 len 0xaa1 comparing seg 0x40078000 sec 0x40078000 len 0xaa1 comparing seg 0x40098000 sec 0x40078aa1 len 0x0 comparing seg 0x3ffc0000 sec 0x3ffc0000 len 0x398 comparing seg 0x40078000 sec 0x3ffc0398 len 0x0 comparing seg 0x40098000 sec 0x3ffc0398 len 0x0 PASSED test/test_imagegen.py::TestESP32Image::test_app_template Executing /usr/bin/python3 -m esptool --chip esp32 elf2image esp32-app-template.elf esptool v5.4.0 Creating ESP32 image... Merged 1 ELF section. Successfully created ESP32 image. esptool v5.4.0 Image size: 601808 bytes ESP32 Image Header ================== Image version: 1 Entry point: 0x4008167c Segments: 5 Flash size: 1MB Flash freq: 40m Flash mode: QIO ESP32 Extended Image Header =========================== WP pin: 0xee (disabled) Flash pins drive settings: clk_drv: 0x0, q_drv: 0x0, d_drv: 0x0, cs0_drv: 0x0, hd_drv: 0x0, wp_drv: 0x0 Chip ID: 0 (ESP32) Minimal chip revision: v0.0, (legacy min_rev = 0) Maximal chip revision: v655.35 Segments Information ==================== Segment Length Load addr File offs Memory types ------- ------- ---------- ---------- ------------ 0 0x18c0c 0x3f400020 0x00000018 DROM 1 0x02d8c 0x3ffb0000 0x00018c2c BYTE_ACCESSIBLE, DRAM 2 0x04648 0x40080000 0x0001b9c0 IRAM 3 0x67a90 0x400d0018 0x00020010 IROM 4 0x0b3f0 0x40084648 0x00087aa8 IRAM ESP32 Image Footer ================== Checksum: 0x7c (valid) Validation hash: dd3f0a322c19d184aefffad7ac35610fb63753a3f9e8d4c054a53a6348edc74f (valid) Application Information ======================= Project name: app-template App version: 1cd5752 Compile time: Mar 18 2019 10:47:33 ELF file SHA256: 0000000000000000000000000000000000000000000000000000000000000000 ESP-IDF: v4.0-dev-30-g31ca6e399 Minimal eFuse block revision: 0.0 Maximal eFuse block revision: 0.0 Secure version: 0 comparing seg 0x3f400020 sec 0x40080000 len 0x400 comparing seg 0x3ffb0000 sec 0x40080000 len 0x400 comparing seg 0x40080000 sec 0x40080000 len 0x400 comparing seg 0x40084648 sec 0x40080400 len 0x0 comparing seg 0x400d0018 sec 0x40080400 len 0x0 comparing seg 0x3f400020 sec 0x3ffb0000 len 0x2d8c comparing seg 0x3ffb0000 sec 0x3ffb0000 len 0x2d8c comparing seg 0x40080000 sec 0x3ffb2d8c len 0x0 comparing seg 0x40084648 sec 0x3ffb2d8c len 0x0 comparing seg 0x400d0018 sec 0x3ffb2d8c len 0x0 comparing seg 0x3f400020 sec 0x3f400020 len 0x18c0c comparing seg 0x3ffb0000 sec 0x3f418c2c len 0x0 comparing seg 0x40080000 sec 0x3f418c2c len 0x0 comparing seg 0x40084648 sec 0x3f418c2c len 0x0 comparing seg 0x400d0018 sec 0x3f418c2c len 0x0 comparing seg 0x3f400020 sec 0x400d0018 len 0x67a8e comparing seg 0x3ffb0000 sec 0x400d0018 len 0x67a8e comparing seg 0x40080000 sec 0x400d0018 len 0x67a8e comparing seg 0x40084648 sec 0x400d0018 len 0x67a8e comparing seg 0x400d0018 sec 0x400d0018 len 0x67a8e comparing seg 0x3f400020 sec 0x40080400 len 0xf635 comparing seg 0x3ffb0000 sec 0x40080400 len 0xf635 comparing seg 0x40080000 sec 0x40080400 len 0xf635 comparing seg 0x40084648 sec 0x40080400 len 0xf635 comparing seg 0x400d0018 sec 0x40080400 len 0xf635 PASSED test/test_imagegen.py::TestESP32Image::test_too_many_sections PASSED test/test_imagegen.py::TestESP32Image::test_use_segments Executing /usr/bin/python3 -m esptool --chip esp32 elf2image esp32-zephyr.elf esptool v5.4.0 Creating ESP32 image... Merged 4 ELF sections. Successfully created ESP32 image. esptool v5.4.0 Image size: 17488 bytes ESP32 Image Header ================== Image version: 1 Entry point: 0x400807f8 Segments: 4 Flash size: 1MB Flash freq: 40m Flash mode: QIO ESP32 Extended Image Header =========================== WP pin: 0xee (disabled) Flash pins drive settings: clk_drv: 0x0, q_drv: 0x0, d_drv: 0x0, cs0_drv: 0x0, hd_drv: 0x0, wp_drv: 0x0 Chip ID: 0 (ESP32) Minimal chip revision: v0.0, (legacy min_rev = 0) Maximal chip revision: v655.35 Segments Information ==================== Segment Length Load addr File offs Memory types ------- ------- ---------- ---------- ------------ 0 0x00088 0x3ffb0000 0x00000018 BYTE_ACCESSIBLE, DRAM 1 0x0038c 0x3ffb0088 0x000000a8 BYTE_ACCESSIBLE, DRAM 2 0x00400 0x40080000 0x0000043c IRAM 3 0x03bd4 0x40080400 0x00000844 IRAM ESP32 Image Footer ================== Checksum: 0x36 (valid) Validation hash: 84478627b4fd4e89b63794a1278fbdaeec57437a644e2348530be09818e8d4a8 (valid) Executing /usr/bin/python3 -m esptool --chip esp32 elf2image esp32-zephyr.elf --use-segments esptool v5.4.0 Creating ESP32 image... Successfully created ESP32 image. esptool v5.4.0 Image size: 17472 bytes ESP32 Image Header ================== Image version: 1 Entry point: 0x400807f8 Segments: 2 Flash size: 1MB Flash freq: 40m Flash mode: QIO ESP32 Extended Image Header =========================== WP pin: 0xee (disabled) Flash pins drive settings: clk_drv: 0x0, q_drv: 0x0, d_drv: 0x0, cs0_drv: 0x0, hd_drv: 0x0, wp_drv: 0x0 Chip ID: 0 (ESP32) Minimal chip revision: v0.0, (legacy min_rev = 0) Maximal chip revision: v655.35 Segments Information ==================== Segment Length Load addr File offs Memory types ------- ------- ---------- ---------- ------------ 0 0x00414 0x3ffb0000 0x00000018 BYTE_ACCESSIBLE, DRAM 1 0x03fd4 0x40080000 0x00000434 IRAM ESP32 Image Footer ================== Checksum: 0x36 (valid) Validation hash: dd7ffae166d37c3b59b56defe2e7af93d836a0b0a467a228ac28e9cc20d2c4c6 (valid) PASSED test/test_imagegen.py::TestESP32Image::test_ram_only_header Executing /usr/bin/python3 -m esptool --chip esp32 elf2image esp32-app-template.elf --ram-only-header esptool v5.4.0 Creating ESP32 image... Image has only RAM segments visible. ROM segments are hidden and SHA256 digest is not appended. Merged 1 ELF section. Successfully created ESP32 image. esptool v5.4.0 Image size: 687148 bytes ESP32 Image Header ================== Image version: 1 Entry point: 0x4008167c Segments: 2 Flash size: 1MB Flash freq: 40m Flash mode: QIO ESP32 Extended Image Header =========================== WP pin: 0xee (disabled) Flash pins drive settings: clk_drv: 0x0, q_drv: 0x0, d_drv: 0x0, cs0_drv: 0x0, hd_drv: 0x0, wp_drv: 0x0 Chip ID: 0 (ESP32) Minimal chip revision: v0.0, (legacy min_rev = 0) Maximal chip revision: v655.35 Segments Information ==================== Segment Length Load addr File offs Memory types ------- ------- ---------- ---------- ------------ 0 0x02d8c 0x3ffb0000 0x00000018 BYTE_ACCESSIBLE, DRAM 1 0x0fa38 0x40080000 0x00002dac IRAM ESP32 Image Footer ================== Checksum: 0xf9 (valid) PASSED test/test_imagegen.py::TestESP32Image::test_pad_to_size Executing /usr/bin/python3 -m esptool --chip esp32 elf2image esp32-bootloader.elf esptool v5.4.0 Creating ESP32 image... Successfully created ESP32 image. Executing /usr/bin/python3 -m esptool --chip esp32 elf2image esp32-bootloader.elf --pad-to-size 1MB esptool v5.4.0 Creating ESP32 image... Successfully created ESP32 image. PASSED test/test_imagegen.py::TestESP32Image::test_pad_to_size_different_sizes[512KB] Executing /usr/bin/python3 -m esptool --chip esp32 elf2image esp32-bootloader.elf --pad-to-size 512KB esptool v5.4.0 Creating ESP32 image... Successfully created ESP32 image. PASSED test/test_imagegen.py::TestESP32Image::test_pad_to_size_different_sizes[2MB] Executing /usr/bin/python3 -m esptool --chip esp32 elf2image esp32-bootloader.elf --pad-to-size 2MB esptool v5.4.0 Creating ESP32 image... Successfully created ESP32 image. PASSED test/test_imagegen.py::TestESP32Image::test_pad_to_size_different_sizes[4MB] Executing /usr/bin/python3 -m esptool --chip esp32 elf2image esp32-bootloader.elf --pad-to-size 4MB esptool v5.4.0 Creating ESP32 image... Successfully created ESP32 image. PASSED test/test_imagegen.py::TestESP8266FlashHeader::test_2mb Executing /usr/bin/python3 -m esptool --chip esp8266 elf2image --version 2 esp8266-nonossdkv20-at-v2.elf --flash-size 2MB --flash-mode dio esptool v5.4.0 Creating ESP8266 image... Successfully created ESP8266 image. header b'\xea\x04\x020' PASSED test/test_imagegen.py::TestESP32FlashHeader::test_16mb Executing /usr/bin/python3 -m esptool --chip esp32 elf2image esp32-app-template.elf --flash-size 16MB --flash-mode dio --min-rev 1 esptool v5.4.0 Creating ESP32 image... Merged 1 ELF section. Successfully created ESP32 image. PASSED test/test_imagegen.py::TestELFSHA256::test_binary_patched_parameter Executing /usr/bin/python3 -m esptool --chip esp32c6 elf2image esp32c6-appdesc.elf --elf-sha256-offset 0xb0 esptool v5.4.0 Creating ESP32-C6 image... MMU page size not specified, set to 64 KB Successfully created ESP32-C6 image. PASSED test/test_imagegen.py::TestELFSHA256::test_binary_patched Executing /usr/bin/python3 -m esptool --chip esp32c6 elf2image esp32c6-appdesc.elf esptool v5.4.0 Creating ESP32-C6 image... MMU page size not specified, set to 64 KB Successfully created ESP32-C6 image. PASSED test/test_imagegen.py::TestELFSHA256::test_no_overwrite_data PASSED test/test_imagegen.py::TestHashAppend::test_hash_append Executing /usr/bin/python3 -m esptool --chip esp32 elf2image esp32-bootloader.elf -o esp32-bootloader.bin esptool v5.4.0 Creating ESP32 image... Successfully created ESP32 image. Executing /usr/bin/python3 -m esptool --chip esp32 elf2image esp32-bootloader.elf --dont-append-digest -o esp32-bootloader.bin esptool v5.4.0 Creating ESP32 image... Successfully created ESP32 image. PASSED test/test_imagegen.py::TestELFSectionHandling::test_unknown_section_type_warning Executing /usr/bin/python3 -m esptool --chip esp32c6 elf2image esp32c6-appdesc.elf esptool v5.4.0 WARNING: Unknown section type 0x99 in ELF file Creating ESP32-C6 image... Successfully created ESP32-C6 image. PASSED test/test_imagegen.py::TestMMUPageSize::test_appdesc_aligned Executing /usr/bin/python3 -m esptool --chip esp32c6 elf2image esp32c6-appdesc.elf esptool v5.4.0 Creating ESP32-C6 image... MMU page size not specified, set to 64 KB Successfully created ESP32-C6 image. PASSED test/test_imagegen.py::TestMMUPageSize::test_appdesc_not_aligned Executing /usr/bin/python3 -m esptool --chip esp32c6 elf2image esp32c6-appdesc.elf esptool v5.4.0 Creating ESP32-C6 image... WARNING: App description segment is not aligned to MMU page size, probably linker script issue or wrong MMU page size. Try to set MMU page size parameter manually. Successfully created ESP32-C6 image. PASSED test/test_imagegen.py::TestMMUPageSize::test_appdesc_data Executing /usr/bin/python3 -m esptool --chip esp32c6 elf2image esp32c6-appdesc.elf esptool v5.4.0 Creating ESP32-C6 image... Successfully created ESP32-C6 image. PASSED test/test_imagegen.py::TestRamOnlyHeader::test_layout[single_aligned-esp32] Executing /usr/bin/python3 -m esptool --chip esp32 elf2image esp32-single_aligned.elf --ram-only-header esptool v5.4.0 Creating ESP32 image... Image has only RAM segments visible. ROM segments are hidden and SHA256 digest is not appended. Successfully created ESP32 image. esptool v5.4.0 Image size: 69664 bytes ESP32 Image Header ================== Image version: 1 Entry point not set Segments: 1 Flash size: 1MB Flash freq: 40m Flash mode: QIO ESP32 Extended Image Header =========================== WP pin: 0xee (disabled) Flash pins drive settings: clk_drv: 0x0, q_drv: 0x0, d_drv: 0x0, cs0_drv: 0x0, hd_drv: 0x0, wp_drv: 0x0 Chip ID: 0 (ESP32) Minimal chip revision: v0.0, (legacy min_rev = 0) Maximal chip revision: v655.35 Segments Information ==================== Segment Length Load addr File offs Memory types ------- ------- ---------- ---------- ------------ 0 0x00100 0x3ffae000 0x00000018 BYTE_ACCESSIBLE, DRAM ESP32 Image Footer ================== Checksum: 0xef (valid) PASSED test/test_imagegen.py::TestRamOnlyHeader::test_layout[single_aligned-esp32c3] Executing /usr/bin/python3 -m esptool --chip esp32c3 elf2image esp32c3-single_aligned.elf --ram-only-header esptool v5.4.0 Creating ESP32-C3 image... Image has only RAM segments visible. ROM segments are hidden and SHA256 digest is not appended. Successfully created ESP32-C3 image. esptool v5.4.0 Image size: 73760 bytes ESP32-C3 Image Header ===================== Image version: 1 Entry point not set Segments: 1 Flash size: 1MB Flash freq: 40m Flash mode: QIO ESP32-C3 Extended Image Header ============================== WP pin: 0xee (disabled) Flash pins drive settings: clk_drv: 0x0, q_drv: 0x0, d_drv: 0x0, cs0_drv: 0x0, hd_drv: 0x0, wp_drv: 0x0 Chip ID: 5 (ESP32-C3) Minimal chip revision: v0.0, (legacy min_rev = 0) Maximal chip revision: v655.35 Segments Information ==================== Segment Length Load addr File offs Memory types ------- ------- ---------- ---------- ------------ 0 0x00100 0x3fc80000 0x00000018 DRAM ESP32-C3 Image Footer ===================== Checksum: 0xef (valid) PASSED test/test_imagegen.py::TestRamOnlyHeader::test_layout[single_aligned-esp32c5] Executing /usr/bin/python3 -m esptool --chip esp32c5 elf2image esp32c5-single_aligned.elf --ram-only-header esptool v5.4.0 Creating ESP32-C5 image... Image has only RAM segments visible. ROM segments are hidden and SHA256 digest is not appended. Successfully created ESP32-C5 image. esptool v5.4.0 Image size: 65568 bytes ESP32-C5 Image Header ===================== Image version: 1 Entry point not set Segments: 1 Flash size: 1MB Flash freq: 40m Flash mode: QIO ESP32-C5 Extended Image Header ============================== WP pin: 0xee (disabled) Flash pins drive settings: clk_drv: 0x0, q_drv: 0x0, d_drv: 0x0, cs0_drv: 0x0, hd_drv: 0x0, wp_drv: 0x0 Chip ID: 23 (ESP32-C5) Minimal chip revision: v0.0, (legacy min_rev = 0) Maximal chip revision: v655.35 Segments Information ==================== Segment Length Load addr File offs Memory types ------- ------- ---------- ---------- ------------ 0 0x00100 0x40800000 0x00000018 DRAM, BYTE_ACCESSIBLE, IRAM ESP32-C5 Image Footer ===================== Checksum: 0xef (valid) PASSED test/test_imagegen.py::TestRamOnlyHeader::test_layout[single_aligned-esp32s3] Executing /usr/bin/python3 -m esptool --chip esp32s3 elf2image esp32s3-single_aligned.elf --ram-only-header esptool v5.4.0 Creating ESP32-S3 image... Image has only RAM segments visible. ROM segments are hidden and SHA256 digest is not appended. Successfully created ESP32-S3 image. esptool v5.4.0 Image size: 73760 bytes ESP32-S3 Image Header ===================== Image version: 1 Entry point not set Segments: 1 Flash size: 1MB Flash freq: 40m Flash mode: QIO ESP32-S3 Extended Image Header ============================== WP pin: 0xee (disabled) Flash pins drive settings: clk_drv: 0x0, q_drv: 0x0, d_drv: 0x0, cs0_drv: 0x0, hd_drv: 0x0, wp_drv: 0x0 Chip ID: 9 (ESP32-S3) Minimal chip revision: v0.0, (legacy min_rev = 0) Maximal chip revision: v655.35 Segments Information ==================== Segment Length Load addr File offs Memory types ------- ------- ---------- ---------- ------------ 0 0x00100 0x3fc88000 0x00000018 BYTE_ACCESSIBLE, MEM_INTERNAL, DRAM ESP32-S3 Image Footer ===================== Checksum: 0xef (valid) PASSED test/test_imagegen.py::TestRamOnlyHeader::test_layout[single_off_by_8-esp32] Executing /usr/bin/python3 -m esptool --chip esp32 elf2image esp32-single_off_by_8.elf --ram-only-header esptool v5.4.0 Creating ESP32 image... Image has only RAM segments visible. ROM segments are hidden and SHA256 digest is not appended. Successfully created ESP32 image. esptool v5.4.0 Image size: 65572 bytes ESP32 Image Header ================== Image version: 1 Entry point not set Segments: 1 Flash size: 1MB Flash freq: 40m Flash mode: QIO ESP32 Extended Image Header =========================== WP pin: 0xee (disabled) Flash pins drive settings: clk_drv: 0x0, q_drv: 0x0, d_drv: 0x0, cs0_drv: 0x0, hd_drv: 0x0, wp_drv: 0x0 Chip ID: 0 (ESP32) Minimal chip revision: v0.0, (legacy min_rev = 0) Maximal chip revision: v655.35 Segments Information ==================== Segment Length Load addr File offs Memory types ------- ------- ---------- ---------- ------------ 0 0x00100 0x3ffae000 0x00000018 BYTE_ACCESSIBLE, DRAM ESP32 Image Footer ================== Checksum: 0xef (valid) PASSED test/test_imagegen.py::TestRamOnlyHeader::test_layout[single_off_by_8-esp32c3] Executing /usr/bin/python3 -m esptool --chip esp32c3 elf2image esp32c3-single_off_by_8.elf --ram-only-header esptool v5.4.0 Creating ESP32-C3 image... Image has only RAM segments visible. ROM segments are hidden and SHA256 digest is not appended. Successfully created ESP32-C3 image. esptool v5.4.0 Image size: 69656 bytes ESP32-C3 Image Header ===================== Image version: 1 Entry point not set Segments: 1 Flash size: 1MB Flash freq: 40m Flash mode: QIO ESP32-C3 Extended Image Header ============================== WP pin: 0xee (disabled) Flash pins drive settings: clk_drv: 0x0, q_drv: 0x0, d_drv: 0x0, cs0_drv: 0x0, hd_drv: 0x0, wp_drv: 0x0 Chip ID: 5 (ESP32-C3) Minimal chip revision: v0.0, (legacy min_rev = 0) Maximal chip revision: v655.35 Segments Information ==================== Segment Length Load addr File offs Memory types ------- ------- ---------- ---------- ------------ 0 0x00100 0x3fc80000 0x00000018 DRAM ESP32-C3 Image Footer ===================== Checksum: 0xef (valid) PASSED test/test_imagegen.py::TestRamOnlyHeader::test_layout[single_off_by_8-esp32c5] Executing /usr/bin/python3 -m esptool --chip esp32c5 elf2image esp32c5-single_off_by_8.elf --ram-only-header esptool v5.4.0 Creating ESP32-C5 image... Image has only RAM segments visible. ROM segments are hidden and SHA256 digest is not appended. Successfully created ESP32-C5 image. esptool v5.4.0 Image size: 61464 bytes ESP32-C5 Image Header ===================== Image version: 1 Entry point not set Segments: 1 Flash size: 1MB Flash freq: 40m Flash mode: QIO ESP32-C5 Extended Image Header ============================== WP pin: 0xee (disabled) Flash pins drive settings: clk_drv: 0x0, q_drv: 0x0, d_drv: 0x0, cs0_drv: 0x0, hd_drv: 0x0, wp_drv: 0x0 Chip ID: 23 (ESP32-C5) Minimal chip revision: v0.0, (legacy min_rev = 0) Maximal chip revision: v655.35 Segments Information ==================== Segment Length Load addr File offs Memory types ------- ------- ---------- ---------- ------------ 0 0x00100 0x40800000 0x00000018 DRAM, BYTE_ACCESSIBLE, IRAM ESP32-C5 Image Footer ===================== Checksum: 0xef (valid) PASSED test/test_imagegen.py::TestRamOnlyHeader::test_layout[single_off_by_8-esp32s3] Executing /usr/bin/python3 -m esptool --chip esp32s3 elf2image esp32s3-single_off_by_8.elf --ram-only-header esptool v5.4.0 Creating ESP32-S3 image... Image has only RAM segments visible. ROM segments are hidden and SHA256 digest is not appended. Successfully created ESP32-S3 image. esptool v5.4.0 Image size: 69656 bytes ESP32-S3 Image Header ===================== Image version: 1 Entry point not set Segments: 1 Flash size: 1MB Flash freq: 40m Flash mode: QIO ESP32-S3 Extended Image Header ============================== WP pin: 0xee (disabled) Flash pins drive settings: clk_drv: 0x0, q_drv: 0x0, d_drv: 0x0, cs0_drv: 0x0, hd_drv: 0x0, wp_drv: 0x0 Chip ID: 9 (ESP32-S3) Minimal chip revision: v0.0, (legacy min_rev = 0) Maximal chip revision: v655.35 Segments Information ==================== Segment Length Load addr File offs Memory types ------- ------- ---------- ---------- ------------ 0 0x00100 0x3fc88000 0x00000018 BYTE_ACCESSIBLE, MEM_INTERNAL, DRAM ESP32-S3 Image Footer ===================== Checksum: 0xef (valid) PASSED test/test_imagegen.py::TestRamOnlyHeader::test_layout[multi_off_by_8-esp32] Executing /usr/bin/python3 -m esptool --chip esp32 elf2image esp32-multi_off_by_8.elf --ram-only-header esptool v5.4.0 Creating ESP32 image... Image has only RAM segments visible. ROM segments are hidden and SHA256 digest is not appended. Successfully created ESP32 image. esptool v5.4.0 Image size: 196600 bytes ESP32 Image Header ================== Image version: 1 Entry point not set Segments: 1 Flash size: 1MB Flash freq: 40m Flash mode: QIO ESP32 Extended Image Header =========================== WP pin: 0xee (disabled) Flash pins drive settings: clk_drv: 0x0, q_drv: 0x0, d_drv: 0x0, cs0_drv: 0x0, hd_drv: 0x0, wp_drv: 0x0 Chip ID: 0 (ESP32) Minimal chip revision: v0.0, (legacy min_rev = 0) Maximal chip revision: v655.35 Segments Information ==================== Segment Length Load addr File offs Memory types ------- ------- ---------- ---------- ------------ 0 0x00040 0x3ffae000 0x00000018 BYTE_ACCESSIBLE, DRAM ESP32 Image Footer ================== Checksum: 0xef (valid) PASSED test/test_imagegen.py::TestRamOnlyHeader::test_layout[multi_off_by_8-esp32c3] Executing /usr/bin/python3 -m esptool --chip esp32c3 elf2image esp32c3-multi_off_by_8.elf --ram-only-header esptool v5.4.0 Creating ESP32-C3 image... Image has only RAM segments visible. ROM segments are hidden and SHA256 digest is not appended. Successfully created ESP32-C3 image. esptool v5.4.0 Image size: 200696 bytes ESP32-C3 Image Header ===================== Image version: 1 Entry point not set Segments: 1 Flash size: 1MB Flash freq: 40m Flash mode: QIO ESP32-C3 Extended Image Header ============================== WP pin: 0xee (disabled) Flash pins drive settings: clk_drv: 0x0, q_drv: 0x0, d_drv: 0x0, cs0_drv: 0x0, hd_drv: 0x0, wp_drv: 0x0 Chip ID: 5 (ESP32-C3) Minimal chip revision: v0.0, (legacy min_rev = 0) Maximal chip revision: v655.35 Segments Information ==================== Segment Length Load addr File offs Memory types ------- ------- ---------- ---------- ------------ 0 0x00040 0x3fc80000 0x00000018 DRAM ESP32-C3 Image Footer ===================== Checksum: 0xef (valid) PASSED test/test_imagegen.py::TestRamOnlyHeader::test_layout[multi_off_by_8-esp32c5] Executing /usr/bin/python3 -m esptool --chip esp32c5 elf2image esp32c5-multi_off_by_8.elf --ram-only-header esptool v5.4.0 Creating ESP32-C5 image... Image has only RAM segments visible. ROM segments are hidden and SHA256 digest is not appended. Successfully created ESP32-C5 image. esptool v5.4.0 Image size: 192504 bytes ESP32-C5 Image Header ===================== Image version: 1 Entry point not set Segments: 1 Flash size: 1MB Flash freq: 40m Flash mode: QIO ESP32-C5 Extended Image Header ============================== WP pin: 0xee (disabled) Flash pins drive settings: clk_drv: 0x0, q_drv: 0x0, d_drv: 0x0, cs0_drv: 0x0, hd_drv: 0x0, wp_drv: 0x0 Chip ID: 23 (ESP32-C5) Minimal chip revision: v0.0, (legacy min_rev = 0) Maximal chip revision: v655.35 Segments Information ==================== Segment Length Load addr File offs Memory types ------- ------- ---------- ---------- ------------ 0 0x00040 0x40800000 0x00000018 DRAM, BYTE_ACCESSIBLE, IRAM ESP32-C5 Image Footer ===================== Checksum: 0xef (valid) PASSED test/test_imagegen.py::TestRamOnlyHeader::test_layout[multi_off_by_8-esp32s3] Executing /usr/bin/python3 -m esptool --chip esp32s3 elf2image esp32s3-multi_off_by_8.elf --ram-only-header esptool v5.4.0 Creating ESP32-S3 image... Image has only RAM segments visible. ROM segments are hidden and SHA256 digest is not appended. Successfully created ESP32-S3 image. esptool v5.4.0 Image size: 200696 bytes ESP32-S3 Image Header ===================== Image version: 1 Entry point not set Segments: 1 Flash size: 1MB Flash freq: 40m Flash mode: QIO ESP32-S3 Extended Image Header ============================== WP pin: 0xee (disabled) Flash pins drive settings: clk_drv: 0x0, q_drv: 0x0, d_drv: 0x0, cs0_drv: 0x0, hd_drv: 0x0, wp_drv: 0x0 Chip ID: 9 (ESP32-S3) Minimal chip revision: v0.0, (legacy min_rev = 0) Maximal chip revision: v655.35 Segments Information ==================== Segment Length Load addr File offs Memory types ------- ------- ---------- ---------- ------------ 0 0x00040 0x3fc88000 0x00000018 BYTE_ACCESSIBLE, MEM_INTERNAL, DRAM ESP32-S3 Image Footer ===================== Checksum: 0xef (valid) PASSED test/test_imagegen.py::TestRamOnlyHeader::test_layout[multi_far_apart-esp32] Executing /usr/bin/python3 -m esptool --chip esp32 elf2image esp32-multi_far_apart.elf --ram-only-header esptool v5.4.0 Creating ESP32 image... Image has only RAM segments visible. ROM segments are hidden and SHA256 digest is not appended. Successfully created ESP32 image. esptool v5.4.0 Image size: 129056 bytes ESP32 Image Header ================== Image version: 1 Entry point not set Segments: 1 Flash size: 1MB Flash freq: 40m Flash mode: QIO ESP32 Extended Image Header =========================== WP pin: 0xee (disabled) Flash pins drive settings: clk_drv: 0x0, q_drv: 0x0, d_drv: 0x0, cs0_drv: 0x0, hd_drv: 0x0, wp_drv: 0x0 Chip ID: 0 (ESP32) Minimal chip revision: v0.0, (legacy min_rev = 0) Maximal chip revision: v655.35 Segments Information ==================== Segment Length Load addr File offs Memory types ------- ------- ---------- ---------- ------------ 0 0x00080 0x3ffae000 0x00000018 BYTE_ACCESSIBLE, DRAM ESP32 Image Footer ================== Checksum: 0xef (valid) PASSED test/test_imagegen.py::TestRamOnlyHeader::test_layout[multi_far_apart-esp32c3] Executing /usr/bin/python3 -m esptool --chip esp32c3 elf2image esp32c3-multi_far_apart.elf --ram-only-header esptool v5.4.0 Creating ESP32-C3 image... Image has only RAM segments visible. ROM segments are hidden and SHA256 digest is not appended. Successfully created ESP32-C3 image. esptool v5.4.0 Image size: 133152 bytes ESP32-C3 Image Header ===================== Image version: 1 Entry point not set Segments: 1 Flash size: 1MB Flash freq: 40m Flash mode: QIO ESP32-C3 Extended Image Header ============================== WP pin: 0xee (disabled) Flash pins drive settings: clk_drv: 0x0, q_drv: 0x0, d_drv: 0x0, cs0_drv: 0x0, hd_drv: 0x0, wp_drv: 0x0 Chip ID: 5 (ESP32-C3) Minimal chip revision: v0.0, (legacy min_rev = 0) Maximal chip revision: v655.35 Segments Information ==================== Segment Length Load addr File offs Memory types ------- ------- ---------- ---------- ------------ 0 0x00080 0x3fc80000 0x00000018 DRAM ESP32-C3 Image Footer ===================== Checksum: 0xef (valid) PASSED test/test_imagegen.py::TestRamOnlyHeader::test_layout[multi_far_apart-esp32c5] Executing /usr/bin/python3 -m esptool --chip esp32c5 elf2image esp32c5-multi_far_apart.elf --ram-only-header esptool v5.4.0 Creating ESP32-C5 image... Image has only RAM segments visible. ROM segments are hidden and SHA256 digest is not appended. Successfully created ESP32-C5 image. esptool v5.4.0 Image size: 124960 bytes ESP32-C5 Image Header ===================== Image version: 1 Entry point not set Segments: 1 Flash size: 1MB Flash freq: 40m Flash mode: QIO ESP32-C5 Extended Image Header ============================== WP pin: 0xee (disabled) Flash pins drive settings: clk_drv: 0x0, q_drv: 0x0, d_drv: 0x0, cs0_drv: 0x0, hd_drv: 0x0, wp_drv: 0x0 Chip ID: 23 (ESP32-C5) Minimal chip revision: v0.0, (legacy min_rev = 0) Maximal chip revision: v655.35 Segments Information ==================== Segment Length Load addr File offs Memory types ------- ------- ---------- ---------- ------------ 0 0x00080 0x40800000 0x00000018 DRAM, BYTE_ACCESSIBLE, IRAM ESP32-C5 Image Footer ===================== Checksum: 0xef (valid) PASSED test/test_imagegen.py::TestRamOnlyHeader::test_layout[multi_far_apart-esp32s3] Executing /usr/bin/python3 -m esptool --chip esp32s3 elf2image esp32s3-multi_far_apart.elf --ram-only-header esptool v5.4.0 Creating ESP32-S3 image... Image has only RAM segments visible. ROM segments are hidden and SHA256 digest is not appended. Successfully created ESP32-S3 image. esptool v5.4.0 Image size: 133152 bytes ESP32-S3 Image Header ===================== Image version: 1 Entry point not set Segments: 1 Flash size: 1MB Flash freq: 40m Flash mode: QIO ESP32-S3 Extended Image Header ============================== WP pin: 0xee (disabled) Flash pins drive settings: clk_drv: 0x0, q_drv: 0x0, d_drv: 0x0, cs0_drv: 0x0, hd_drv: 0x0, wp_drv: 0x0 Chip ID: 9 (ESP32-S3) Minimal chip revision: v0.0, (legacy min_rev = 0) Maximal chip revision: v655.35 Segments Information ==================== Segment Length Load addr File offs Memory types ------- ------- ---------- ---------- ------------ 0 0x00080 0x3fc88000 0x00000018 BYTE_ACCESSIBLE, MEM_INTERNAL, DRAM ESP32-S3 Image Footer ===================== Checksum: 0xef (valid) PASSED test/test_imagegen.py::TestRamOnlyHeader::test_layout[multi_three_segs-esp32] Executing /usr/bin/python3 -m esptool --chip esp32 elf2image esp32-multi_three_segs.elf --ram-only-header esptool v5.4.0 Creating ESP32 image... Image has only RAM segments visible. ROM segments are hidden and SHA256 digest is not appended. Successfully created ESP32 image. esptool v5.4.0 Image size: 197204 bytes ESP32 Image Header ================== Image version: 1 Entry point not set Segments: 1 Flash size: 1MB Flash freq: 40m Flash mode: QIO ESP32 Extended Image Header =========================== WP pin: 0xee (disabled) Flash pins drive settings: clk_drv: 0x0, q_drv: 0x0, d_drv: 0x0, cs0_drv: 0x0, hd_drv: 0x0, wp_drv: 0x0 Chip ID: 0 (ESP32) Minimal chip revision: v0.0, (legacy min_rev = 0) Maximal chip revision: v655.35 Segments Information ==================== Segment Length Load addr File offs Memory types ------- ------- ---------- ---------- ------------ 0 0x00100 0x3ffae000 0x00000018 BYTE_ACCESSIBLE, DRAM ESP32 Image Footer ================== Checksum: 0xef (valid) PASSED test/test_imagegen.py::TestRamOnlyHeader::test_layout[multi_three_segs-esp32c3] Executing /usr/bin/python3 -m esptool --chip esp32c3 elf2image esp32c3-multi_three_segs.elf --ram-only-header esptool v5.4.0 Creating ESP32-C3 image... Image has only RAM segments visible. ROM segments are hidden and SHA256 digest is not appended. Successfully created ESP32-C3 image. esptool v5.4.0 Image size: 201300 bytes ESP32-C3 Image Header ===================== Image version: 1 Entry point not set Segments: 1 Flash size: 1MB Flash freq: 40m Flash mode: QIO ESP32-C3 Extended Image Header ============================== WP pin: 0xee (disabled) Flash pins drive settings: clk_drv: 0x0, q_drv: 0x0, d_drv: 0x0, cs0_drv: 0x0, hd_drv: 0x0, wp_drv: 0x0 Chip ID: 5 (ESP32-C3) Minimal chip revision: v0.0, (legacy min_rev = 0) Maximal chip revision: v655.35 Segments Information ==================== Segment Length Load addr File offs Memory types ------- ------- ---------- ---------- ------------ 0 0x00100 0x3fc80000 0x00000018 DRAM ESP32-C3 Image Footer ===================== Checksum: 0xef (valid) PASSED test/test_imagegen.py::TestRamOnlyHeader::test_layout[multi_three_segs-esp32c5] Executing /usr/bin/python3 -m esptool --chip esp32c5 elf2image esp32c5-multi_three_segs.elf --ram-only-header esptool v5.4.0 Creating ESP32-C5 image... Image has only RAM segments visible. ROM segments are hidden and SHA256 digest is not appended. Successfully created ESP32-C5 image. esptool v5.4.0 Image size: 193108 bytes ESP32-C5 Image Header ===================== Image version: 1 Entry point not set Segments: 1 Flash size: 1MB Flash freq: 40m Flash mode: QIO ESP32-C5 Extended Image Header ============================== WP pin: 0xee (disabled) Flash pins drive settings: clk_drv: 0x0, q_drv: 0x0, d_drv: 0x0, cs0_drv: 0x0, hd_drv: 0x0, wp_drv: 0x0 Chip ID: 23 (ESP32-C5) Minimal chip revision: v0.0, (legacy min_rev = 0) Maximal chip revision: v655.35 Segments Information ==================== Segment Length Load addr File offs Memory types ------- ------- ---------- ---------- ------------ 0 0x00100 0x40800000 0x00000018 DRAM, BYTE_ACCESSIBLE, IRAM ESP32-C5 Image Footer ===================== Checksum: 0xef (valid) PASSED test/test_imagegen.py::TestRamOnlyHeader::test_layout[multi_three_segs-esp32s3] Executing /usr/bin/python3 -m esptool --chip esp32s3 elf2image esp32s3-multi_three_segs.elf --ram-only-header esptool v5.4.0 Creating ESP32-S3 image... Image has only RAM segments visible. ROM segments are hidden and SHA256 digest is not appended. Successfully created ESP32-S3 image. esptool v5.4.0 Image size: 201300 bytes ESP32-S3 Image Header ===================== Image version: 1 Entry point not set Segments: 1 Flash size: 1MB Flash freq: 40m Flash mode: QIO ESP32-S3 Extended Image Header ============================== WP pin: 0xee (disabled) Flash pins drive settings: clk_drv: 0x0, q_drv: 0x0, d_drv: 0x0, cs0_drv: 0x0, hd_drv: 0x0, wp_drv: 0x0 Chip ID: 9 (ESP32-S3) Minimal chip revision: v0.0, (legacy min_rev = 0) Maximal chip revision: v655.35 Segments Information ==================== Segment Length Load addr File offs Memory types ------- ------- ---------- ---------- ------------ 0 0x00100 0x3fc88000 0x00000018 BYTE_ACCESSIBLE, MEM_INTERNAL, DRAM ESP32-S3 Image Footer ===================== Checksum: 0xef (valid) PASSED test/test_imagegen.py::TestRamOnlyHeader::test_layout[large_ram_segment-esp32] Executing /usr/bin/python3 -m esptool --chip esp32 elf2image esp32-large_ram_segment.elf --ram-only-header esptool v5.4.0 Creating ESP32 image... Image has only RAM segments visible. ROM segments are hidden and SHA256 digest is not appended. Successfully created ESP32 image. esptool v5.4.0 Image size: 258072 bytes ESP32 Image Header ================== Image version: 1 Entry point not set Segments: 1 Flash size: 1MB Flash freq: 40m Flash mode: QIO ESP32 Extended Image Header =========================== WP pin: 0xee (disabled) Flash pins drive settings: clk_drv: 0x0, q_drv: 0x0, d_drv: 0x0, cs0_drv: 0x0, hd_drv: 0x0, wp_drv: 0x0 Chip ID: 0 (ESP32) Minimal chip revision: v0.0, (legacy min_rev = 0) Maximal chip revision: v655.35 Segments Information ==================== Segment Length Load addr File offs Memory types ------- ------- ---------- ---------- ------------ 0 0x04000 0x3ffae000 0x00000018 BYTE_ACCESSIBLE, DRAM ESP32 Image Footer ================== Checksum: 0xef (valid) PASSED test/test_imagegen.py::TestRamOnlyHeader::test_layout[large_ram_segment-esp32c3] Executing /usr/bin/python3 -m esptool --chip esp32c3 elf2image esp32c3-large_ram_segment.elf --ram-only-header esptool v5.4.0 Creating ESP32-C3 image... Image has only RAM segments visible. ROM segments are hidden and SHA256 digest is not appended. Successfully created ESP32-C3 image. esptool v5.4.0 Image size: 262168 bytes ESP32-C3 Image Header ===================== Image version: 1 Entry point not set Segments: 1 Flash size: 1MB Flash freq: 40m Flash mode: QIO ESP32-C3 Extended Image Header ============================== WP pin: 0xee (disabled) Flash pins drive settings: clk_drv: 0x0, q_drv: 0x0, d_drv: 0x0, cs0_drv: 0x0, hd_drv: 0x0, wp_drv: 0x0 Chip ID: 5 (ESP32-C3) Minimal chip revision: v0.0, (legacy min_rev = 0) Maximal chip revision: v655.35 Segments Information ==================== Segment Length Load addr File offs Memory types ------- ------- ---------- ---------- ------------ 0 0x04000 0x3fc80000 0x00000018 DRAM ESP32-C3 Image Footer ===================== Checksum: 0xef (valid) PASSED test/test_imagegen.py::TestRamOnlyHeader::test_layout[large_ram_segment-esp32c5] Executing /usr/bin/python3 -m esptool --chip esp32c5 elf2image esp32c5-large_ram_segment.elf --ram-only-header esptool v5.4.0 Creating ESP32-C5 image... Image has only RAM segments visible. ROM segments are hidden and SHA256 digest is not appended. Successfully created ESP32-C5 image. esptool v5.4.0 Image size: 253976 bytes ESP32-C5 Image Header ===================== Image version: 1 Entry point not set Segments: 1 Flash size: 1MB Flash freq: 40m Flash mode: QIO ESP32-C5 Extended Image Header ============================== WP pin: 0xee (disabled) Flash pins drive settings: clk_drv: 0x0, q_drv: 0x0, d_drv: 0x0, cs0_drv: 0x0, hd_drv: 0x0, wp_drv: 0x0 Chip ID: 23 (ESP32-C5) Minimal chip revision: v0.0, (legacy min_rev = 0) Maximal chip revision: v655.35 Segments Information ==================== Segment Length Load addr File offs Memory types ------- ------- ---------- ---------- ------------ 0 0x04000 0x40800000 0x00000018 DRAM, BYTE_ACCESSIBLE, IRAM ESP32-C5 Image Footer ===================== Checksum: 0xef (valid) PASSED test/test_imagegen.py::TestRamOnlyHeader::test_layout[large_ram_segment-esp32s3] Executing /usr/bin/python3 -m esptool --chip esp32s3 elf2image esp32s3-large_ram_segment.elf --ram-only-header esptool v5.4.0 Creating ESP32-S3 image... Image has only RAM segments visible. ROM segments are hidden and SHA256 digest is not appended. Successfully created ESP32-S3 image. esptool v5.4.0 Image size: 262168 bytes ESP32-S3 Image Header ===================== Image version: 1 Entry point not set Segments: 1 Flash size: 1MB Flash freq: 40m Flash mode: QIO ESP32-S3 Extended Image Header ============================== WP pin: 0xee (disabled) Flash pins drive settings: clk_drv: 0x0, q_drv: 0x0, d_drv: 0x0, cs0_drv: 0x0, hd_drv: 0x0, wp_drv: 0x0 Chip ID: 9 (ESP32-S3) Minimal chip revision: v0.0, (legacy min_rev = 0) Maximal chip revision: v655.35 Segments Information ==================== Segment Length Load addr File offs Memory types ------- ------- ---------- ---------- ------------ 0 0x04000 0x3fc88000 0x00000018 BYTE_ACCESSIBLE, MEM_INTERNAL, DRAM ESP32-S3 Image Footer ===================== Checksum: 0xef (valid) PASSED test/test_imagegen.py::TestRamOnlyHeader::test_no_sha256[esp32] Executing /usr/bin/python3 -m esptool --chip esp32 elf2image esp32-nosha.elf --ram-only-header esptool v5.4.0 Creating ESP32 image... Image has only RAM segments visible. ROM segments are hidden and SHA256 digest is not appended. Successfully created ESP32 image. PASSED test/test_imagegen.py::TestRamOnlyHeader::test_no_sha256[esp32c3] Executing /usr/bin/python3 -m esptool --chip esp32c3 elf2image esp32c3-nosha.elf --ram-only-header esptool v5.4.0 Creating ESP32-C3 image... Image has only RAM segments visible. ROM segments are hidden and SHA256 digest is not appended. Successfully created ESP32-C3 image. PASSED test/test_imagegen.py::TestRamOnlyHeader::test_no_sha256[esp32c5] Executing /usr/bin/python3 -m esptool --chip esp32c5 elf2image esp32c5-nosha.elf --ram-only-header esptool v5.4.0 Creating ESP32-C5 image... Image has only RAM segments visible. ROM segments are hidden and SHA256 digest is not appended. Successfully created ESP32-C5 image. PASSED test/test_imagegen.py::TestRamOnlyHeader::test_no_sha256[esp32s3] Executing /usr/bin/python3 -m esptool --chip esp32s3 elf2image esp32s3-nosha.elf --ram-only-header esptool v5.4.0 Creating ESP32-S3 image... Image has only RAM segments visible. ROM segments are hidden and SHA256 digest is not appended. Successfully created ESP32-S3 image. PASSED test/test_imagegen.py::TestRamOnlyHeader::test_segment_count[esp32] Executing /usr/bin/python3 -m esptool --chip esp32 elf2image esp32-segcount.elf --ram-only-header esptool v5.4.0 Creating ESP32 image... Image has only RAM segments visible. ROM segments are hidden and SHA256 digest is not appended. Successfully created ESP32 image. PASSED test/test_imagegen.py::TestRamOnlyHeader::test_segment_count[esp32c3] Executing /usr/bin/python3 -m esptool --chip esp32c3 elf2image esp32c3-segcount.elf --ram-only-header esptool v5.4.0 Creating ESP32-C3 image... Image has only RAM segments visible. ROM segments are hidden and SHA256 digest is not appended. Successfully created ESP32-C3 image. PASSED test/test_imagegen.py::TestRamOnlyHeader::test_segment_count[esp32c5] Executing /usr/bin/python3 -m esptool --chip esp32c5 elf2image esp32c5-segcount.elf --ram-only-header esptool v5.4.0 Creating ESP32-C5 image... Image has only RAM segments visible. ROM segments are hidden and SHA256 digest is not appended. Successfully created ESP32-C5 image. PASSED test/test_imagegen.py::TestRamOnlyHeader::test_segment_count[esp32s3] Executing /usr/bin/python3 -m esptool --chip esp32s3 elf2image esp32s3-segcount.elf --ram-only-header esptool v5.4.0 Creating ESP32-S3 image... Image has only RAM segments visible. ROM segments are hidden and SHA256 digest is not appended. Successfully created ESP32-S3 image. PASSED test/test_imagegen.py::TestRamOnlyHeader::test_flash_segments_present[single_off_by_8-esp32] Executing /usr/bin/python3 -m esptool --chip esp32 elf2image esp32-flashpresent-single_off_by_8.elf --ram-only-header esptool v5.4.0 Creating ESP32 image... Image has only RAM segments visible. ROM segments are hidden and SHA256 digest is not appended. Successfully created ESP32 image. PASSED test/test_imagegen.py::TestRamOnlyHeader::test_flash_segments_present[single_off_by_8-esp32c3] Executing /usr/bin/python3 -m esptool --chip esp32c3 elf2image esp32c3-flashpresent-single_off_by_8.elf --ram-only-header esptool v5.4.0 Creating ESP32-C3 image... Image has only RAM segments visible. ROM segments are hidden and SHA256 digest is not appended. Successfully created ESP32-C3 image. PASSED test/test_imagegen.py::TestRamOnlyHeader::test_flash_segments_present[single_off_by_8-esp32c5] Executing /usr/bin/python3 -m esptool --chip esp32c5 elf2image esp32c5-flashpresent-single_off_by_8.elf --ram-only-header esptool v5.4.0 Creating ESP32-C5 image... Image has only RAM segments visible. ROM segments are hidden and SHA256 digest is not appended. Successfully created ESP32-C5 image. PASSED test/test_imagegen.py::TestRamOnlyHeader::test_flash_segments_present[single_off_by_8-esp32s3] Executing /usr/bin/python3 -m esptool --chip esp32s3 elf2image esp32s3-flashpresent-single_off_by_8.elf --ram-only-header esptool v5.4.0 Creating ESP32-S3 image... Image has only RAM segments visible. ROM segments are hidden and SHA256 digest is not appended. Successfully created ESP32-S3 image. PASSED test/test_imagegen.py::TestRamOnlyHeader::test_flash_segments_present[multi_off_by_8-esp32] Executing /usr/bin/python3 -m esptool --chip esp32 elf2image esp32-flashpresent-multi_off_by_8.elf --ram-only-header esptool v5.4.0 Creating ESP32 image... Image has only RAM segments visible. ROM segments are hidden and SHA256 digest is not appended. Successfully created ESP32 image. PASSED test/test_imagegen.py::TestRamOnlyHeader::test_flash_segments_present[multi_off_by_8-esp32c3] Executing /usr/bin/python3 -m esptool --chip esp32c3 elf2image esp32c3-flashpresent-multi_off_by_8.elf --ram-only-header esptool v5.4.0 Creating ESP32-C3 image... Image has only RAM segments visible. ROM segments are hidden and SHA256 digest is not appended. Successfully created ESP32-C3 image. PASSED test/test_imagegen.py::TestRamOnlyHeader::test_flash_segments_present[multi_off_by_8-esp32c5] Executing /usr/bin/python3 -m esptool --chip esp32c5 elf2image esp32c5-flashpresent-multi_off_by_8.elf --ram-only-header esptool v5.4.0 Creating ESP32-C5 image... Image has only RAM segments visible. ROM segments are hidden and SHA256 digest is not appended. Successfully created ESP32-C5 image. PASSED test/test_imagegen.py::TestRamOnlyHeader::test_flash_segments_present[multi_off_by_8-esp32s3] Executing /usr/bin/python3 -m esptool --chip esp32s3 elf2image esp32s3-flashpresent-multi_off_by_8.elf --ram-only-header esptool v5.4.0 Creating ESP32-S3 image... Image has only RAM segments visible. ROM segments are hidden and SHA256 digest is not appended. Successfully created ESP32-S3 image. PASSED test/test_imagegen.py::TestRamOnlyHeader::test_flash_segments_present[multi_far_apart-esp32] Executing /usr/bin/python3 -m esptool --chip esp32 elf2image esp32-flashpresent-multi_far_apart.elf --ram-only-header esptool v5.4.0 Creating ESP32 image... Image has only RAM segments visible. ROM segments are hidden and SHA256 digest is not appended. Successfully created ESP32 image. PASSED test/test_imagegen.py::TestRamOnlyHeader::test_flash_segments_present[multi_far_apart-esp32c3] Executing /usr/bin/python3 -m esptool --chip esp32c3 elf2image esp32c3-flashpresent-multi_far_apart.elf --ram-only-header esptool v5.4.0 Creating ESP32-C3 image... Image has only RAM segments visible. ROM segments are hidden and SHA256 digest is not appended. Successfully created ESP32-C3 image. PASSED test/test_imagegen.py::TestRamOnlyHeader::test_flash_segments_present[multi_far_apart-esp32c5] Executing /usr/bin/python3 -m esptool --chip esp32c5 elf2image esp32c5-flashpresent-multi_far_apart.elf --ram-only-header esptool v5.4.0 Creating ESP32-C5 image... Image has only RAM segments visible. ROM segments are hidden and SHA256 digest is not appended. Successfully created ESP32-C5 image. PASSED test/test_imagegen.py::TestRamOnlyHeader::test_flash_segments_present[multi_far_apart-esp32s3] Executing /usr/bin/python3 -m esptool --chip esp32s3 elf2image esp32s3-flashpresent-multi_far_apart.elf --ram-only-header esptool v5.4.0 Creating ESP32-S3 image... Image has only RAM segments visible. ROM segments are hidden and SHA256 digest is not appended. Successfully created ESP32-S3 image. PASSED test/test_imagegen.py::TestRamOnlyHeader::test_flash_segments_present[multi_three_segs-esp32] Executing /usr/bin/python3 -m esptool --chip esp32 elf2image esp32-flashpresent-multi_three_segs.elf --ram-only-header esptool v5.4.0 Creating ESP32 image... Image has only RAM segments visible. ROM segments are hidden and SHA256 digest is not appended. Successfully created ESP32 image. PASSED test/test_imagegen.py::TestRamOnlyHeader::test_flash_segments_present[multi_three_segs-esp32c3] Executing /usr/bin/python3 -m esptool --chip esp32c3 elf2image esp32c3-flashpresent-multi_three_segs.elf --ram-only-header esptool v5.4.0 Creating ESP32-C3 image... Image has only RAM segments visible. ROM segments are hidden and SHA256 digest is not appended. Successfully created ESP32-C3 image. PASSED test/test_imagegen.py::TestRamOnlyHeader::test_flash_segments_present[multi_three_segs-esp32c5] Executing /usr/bin/python3 -m esptool --chip esp32c5 elf2image esp32c5-flashpresent-multi_three_segs.elf --ram-only-header esptool v5.4.0 Creating ESP32-C5 image... Image has only RAM segments visible. ROM segments are hidden and SHA256 digest is not appended. Successfully created ESP32-C5 image. PASSED test/test_imagegen.py::TestRamOnlyHeader::test_flash_segments_present[multi_three_segs-esp32s3] Executing /usr/bin/python3 -m esptool --chip esp32s3 elf2image esp32s3-flashpresent-multi_three_segs.elf --ram-only-header esptool v5.4.0 Creating ESP32-S3 image... Image has only RAM segments visible. ROM segments are hidden and SHA256 digest is not appended. Successfully created ESP32-S3 image. PASSED test/test_imagegen.py::TestRamOnlyHeader::test_flash_segments_present[large_ram_segment-esp32] Executing /usr/bin/python3 -m esptool --chip esp32 elf2image esp32-flashpresent-large_ram_segment.elf --ram-only-header esptool v5.4.0 Creating ESP32 image... Image has only RAM segments visible. ROM segments are hidden and SHA256 digest is not appended. Successfully created ESP32 image. PASSED test/test_imagegen.py::TestRamOnlyHeader::test_flash_segments_present[large_ram_segment-esp32c3] Executing /usr/bin/python3 -m esptool --chip esp32c3 elf2image esp32c3-flashpresent-large_ram_segment.elf --ram-only-header esptool v5.4.0 Creating ESP32-C3 image... Image has only RAM segments visible. ROM segments are hidden and SHA256 digest is not appended. Successfully created ESP32-C3 image. PASSED test/test_imagegen.py::TestRamOnlyHeader::test_flash_segments_present[large_ram_segment-esp32c5] Executing /usr/bin/python3 -m esptool --chip esp32c5 elf2image esp32c5-flashpresent-large_ram_segment.elf --ram-only-header esptool v5.4.0 Creating ESP32-C5 image... Image has only RAM segments visible. ROM segments are hidden and SHA256 digest is not appended. Successfully created ESP32-C5 image. PASSED test/test_imagegen.py::TestRamOnlyHeader::test_flash_segments_present[large_ram_segment-esp32s3] Executing /usr/bin/python3 -m esptool --chip esp32s3 elf2image esp32s3-flashpresent-large_ram_segment.elf --ram-only-header esptool v5.4.0 Creating ESP32-S3 image... Image has only RAM segments visible. ROM segments are hidden and SHA256 digest is not appended. Successfully created ESP32-S3 image. PASSED test/test_logger.py::TestLogger::test_singleton PASSED test/test_logger.py::TestLogger::test_print PASSED test/test_logger.py::TestLogger::test_print_follows_reassigned_stdout PASSED test/test_logger.py::TestLogger::test_warning_alias PASSED test/test_logger.py::TestLogger::test_error_alias PASSED test/test_logger.py::TestLogger::test_warn PASSED test/test_logger.py::TestLogger::test_err PASSED test/test_logger.py::TestLogger::test_warn_err_dispatches_to_legacy_warning PASSED test/test_logger.py::TestLogger::test_warning_alias_reaches_legacy_logger PASSED test/test_logger.py::TestLogger::test_error_alias_reaches_legacy_logger PASSED test/test_logger.py::TestLogger::test_debug_reaches_legacy_logger_with_multiple_args PASSED test/test_logger.py::TestLogger::test_legacy_template_logger_all_methods_via_log_proxy PASSED test/test_logger.py::TestLogger::test_default_esptool_logger_via_log_proxy PASSED test/test_logger.py::TestLogger::test_verbose_enables_debug PASSED test/test_logger.py::TestLogger::test_trace_disables_stage_collapsing_via_esplog_instance PASSED test/test_logger.py::TestLogger::test_stage Line1 Line2 PASSED test/test_logger.py::TestLogger::test_progress_bar_stage_bookkeeping PASSED test/test_logger.py::TestLogger::test_progress_bar PASSED test/test_logger.py::TestLogger::test_set_incomplete_logger PASSED test/test_logger.py::TestLogger::test_set_logger PASSED test/test_logger.py::TestLogger::test_template_logger_not_pylib_subclass PASSED test/test_logger.py::TestLogger::test_template_logger_still_accepted PASSED test/test_merge_bin.py::TestMergeBin::test_simple_merge Executing /usr/bin/python3 -m esptool --chip esp8266 merge-bin -o /tmp/tmpz5yq3mzs 0x0 one_kb.bin 0x1000 one_kb.bin 0x10000 one_kb.bin esptool v5.4.0 HINT: Consider using --format hex to avoid flashing unused 0xFF padding between input regions. Wrote 0x10400 bytes to file '/tmp/tmpz5yq3mzs', ready to flash to offset 0x0. PASSED test/test_merge_bin.py::TestMergeBin::test_args_out_of_order Executing /usr/bin/python3 -m esptool --chip esp8266 merge-bin -o /tmp/tmp83myoyse 0x0 one_kb.bin 0x1000 one_kb.bin 0x10000 one_kb.bin esptool v5.4.0 HINT: Consider using --format hex to avoid flashing unused 0xFF padding between input regions. Wrote 0x10400 bytes to file '/tmp/tmp83myoyse', ready to flash to offset 0x0. Executing /usr/bin/python3 -m esptool --chip esp8266 merge-bin -o /tmp/tmpxdm3felj 0x0 one_kb.bin 0x10000 one_kb.bin 0x1000 one_kb.bin esptool v5.4.0 HINT: Consider using --format hex to avoid flashing unused 0xFF padding between input regions. Wrote 0x10400 bytes to file '/tmp/tmpxdm3felj', ready to flash to offset 0x0. Executing /usr/bin/python3 -m esptool --chip esp8266 merge-bin -o /tmp/tmpegzge0dr 0x1000 one_kb.bin 0x0 one_kb.bin 0x10000 one_kb.bin esptool v5.4.0 HINT: Consider using --format hex to avoid flashing unused 0xFF padding between input regions. Wrote 0x10400 bytes to file '/tmp/tmpegzge0dr', ready to flash to offset 0x0. Executing /usr/bin/python3 -m esptool --chip esp8266 merge-bin -o /tmp/tmp4kbt0qi3 0x1000 one_kb.bin 0x10000 one_kb.bin 0x0 one_kb.bin esptool v5.4.0 HINT: Consider using --format hex to avoid flashing unused 0xFF padding between input regions. Wrote 0x10400 bytes to file '/tmp/tmp4kbt0qi3', ready to flash to offset 0x0. Executing /usr/bin/python3 -m esptool --chip esp8266 merge-bin -o /tmp/tmpg6k516eq 0x10000 one_kb.bin 0x0 one_kb.bin 0x1000 one_kb.bin esptool v5.4.0 HINT: Consider using --format hex to avoid flashing unused 0xFF padding between input regions. Wrote 0x10400 bytes to file '/tmp/tmpg6k516eq', ready to flash to offset 0x0. Executing /usr/bin/python3 -m esptool --chip esp8266 merge-bin -o /tmp/tmp_hjtamhp 0x10000 one_kb.bin 0x1000 one_kb.bin 0x0 one_kb.bin esptool v5.4.0 HINT: Consider using --format hex to avoid flashing unused 0xFF padding between input regions. Wrote 0x10400 bytes to file '/tmp/tmp_hjtamhp', ready to flash to offset 0x0. PASSED test/test_merge_bin.py::TestMergeBin::test_error_overlap PASSED test/test_merge_bin.py::TestMergeBin::test_leading_padding Executing /usr/bin/python3 -m esptool --chip esp32c3 merge-bin -o /tmp/tmpqm4u3rm_ 0x100000 one_mb.bin esptool v5.4.0 HINT: Consider using --format hex to avoid flashing unused 0xFF padding between input regions. Wrote 0x200000 bytes to file '/tmp/tmpqm4u3rm_', ready to flash to offset 0x0. PASSED test/test_merge_bin.py::TestMergeBin::test_update_bootloader_params Executing /usr/bin/python3 -m esptool --chip esp32 merge-bin -o /tmp/tmpy5ni3mnv --flash-size 2MB --flash-mode dout 0x1000 bootloader_esp32.bin 0x10000 ram_helloworld/helloworld-esp32.bin esptool v5.4.0 HINT: Consider using --format hex to avoid flashing unused 0xFF padding between input regions. Flash parameters set to 0x0310. Wrote 0x10080 bytes to file '/tmp/tmpy5ni3mnv', ready to flash to offset 0x0. PASSED test/test_merge_bin.py::TestMergeBin::test_target_offset Executing /usr/bin/python3 -m esptool --chip esp32 merge-bin -o /tmp/tmpjwjqfjy3 --target-offset 0x1000 0x1000 bootloader_esp32.bin 0x10000 ram_helloworld/helloworld-esp32.bin esptool v5.4.0 HINT: Consider using --format hex to avoid flashing unused 0xFF padding between input regions. Wrote 0xf080 bytes to file '/tmp/tmpjwjqfjy3', ready to flash to offset 0x1000. PASSED test/test_merge_bin.py::TestMergeBin::test_pad_to_size Executing /usr/bin/python3 -m esptool --chip esp32c3 merge-bin -o /tmp/tmpisy8i7hx --pad-to-size 4MB 0x0 bootloader_esp32c3.bin esptool v5.4.0 HINT: Consider using --format hex to avoid flashing unused 0xFF padding between input regions. Wrote 0x400000 bytes to file '/tmp/tmpisy8i7hx', ready to flash to offset 0x0. PASSED test/test_merge_bin.py::TestMergeBin::test_pad_to_size_w_target_offset Executing /usr/bin/python3 -m esptool --chip esp32 merge-bin -o /tmp/tmpe1dlsy_a --target-offset 0x1000 --pad-to-size 2MB 0x1000 bootloader_esp32.bin 0x10000 ram_helloworld/helloworld-esp32.bin esptool v5.4.0 HINT: Consider using --format hex to avoid flashing unused 0xFF padding between input regions. Wrote 0x1ff000 bytes to file '/tmp/tmpe1dlsy_a', ready to flash to offset 0x1000. PASSED test/test_merge_bin.py::TestMergeBin::test_merge_mixed Executing /usr/bin/python3 -m esptool --chip esp32 merge-bin -o /tmp/tmpsyk292i9 --format hex 0x1000 bootloader_esp32.bin esptool v5.4.0 WARNING: Only one input file specified, output may include additional padding if input file was previously merged. Please refer to the documentation for more information: https://docs.espressif.com/projects/esptool/en/latest/esptool/basic-commands.html#hex-output-format Wrote 0x54c8 bytes to file '/tmp/tmpsyk292i9', ready to flash to offset 0x0. Executing /usr/bin/python3 -m esptool --chip esp32 merge-bin -o /tmp/tmpuiq2_2fq --target-offset 0x1000 --pad-to-size 2MB 0x1000 /tmp/tmpedkqs5av.hex 0x10000 ram_helloworld/helloworld-esp32.bin esptool v5.4.0 HINT: Consider using --format hex to avoid flashing unused 0xFF padding between input regions. Wrote 0x1ff000 bytes to file '/tmp/tmpuiq2_2fq', ready to flash to offset 0x1000. PASSED test/test_merge_bin.py::TestMergeBin::test_merge_bin2hex Executing /usr/bin/python3 -m esptool --chip esp32 merge-bin -o /tmp/tmpesfr72pn --format hex 0x1000 bootloader_esp32.bin esptool v5.4.0 WARNING: Only one input file specified, output may include additional padding if input file was previously merged. Please refer to the documentation for more information: https://docs.espressif.com/projects/esptool/en/latest/esptool/basic-commands.html#hex-output-format Wrote 0x54c8 bytes to file '/tmp/tmpesfr72pn', ready to flash to offset 0x0. Executing /usr/bin/python3 -m esptool --chip esp32 merge-bin -o /tmp/tmp472cfh0k --format raw 0x1000 /tmp/tmpddsjmpa3.hex esptool v5.4.0 HINT: Consider using --format hex to avoid flashing unused 0xFF padding between input regions. Wrote 0x2ed0 bytes to file '/tmp/tmp472cfh0k', ready to flash to offset 0x0. PASSED test/test_merge_bin.py::TestMergeBin::test_hex_header_raw_file Executing /usr/bin/python3 -m esptool --chip esp32 merge-bin -o /tmp/tmp9vcw9vol 0x0 /tmp/tmpbfpys224 esptool v5.4.0 HINT: Consider using --format hex to avoid flashing unused 0xFF padding between input regions. Wrote 0x1 bytes to file '/tmp/tmp9vcw9vol', ready to flash to offset 0x0. PASSED test/test_merge_bin.py::TestUF2::test_simple esptool v5.4.0 Adding '/tmp/tmpko90k0m_' at 0x0... Wrote 0x200 bytes to file '/tmp/tmpxs6gt_nm', ready to be flashed with any ESP USB Bridge. PASSED test/test_merge_bin.py::TestUF2::test_more_files esptool v5.4.0 Adding '/tmp/tmpsrsiift7' at 0x100... Adding '/tmp/tmpp9pq8zfe' at 0x1000... Wrote 0x400 bytes to file '/tmp/tmpcwbw857p', ready to be flashed with any ESP USB Bridge. PASSED test/test_merge_bin.py::TestUF2::test_larger_files esptool v5.4.0 Adding '/tmp/tmpwr622p77' at 0x100... Adding '/tmp/tmpj8sbqe8n' at 0x1000... Wrote 0x400 bytes to file '/tmp/tmpx_4xguhn', ready to be flashed with any ESP USB Bridge. PASSED test/test_merge_bin.py::TestUF2::test_boundaries esptool v5.4.0 Adding '/tmp/tmpc2w7na82' at 0x100... Adding '/tmp/tmppbzo6bou' at 0x2000... Adding '/tmp/tmpqm0qxdid' at 0x3000... Wrote 0xc00 bytes to file '/tmp/tmplghcnofc', ready to be flashed with any ESP USB Bridge. PASSED test/test_merge_bin.py::TestUF2::test_files_with_more_blocks esptool v5.4.0 Adding '/tmp/tmpl5t9f394' at 0x100... Adding '/tmp/tmpmi5p0qgk' at 0x2000... Adding '/tmp/tmp9jh7x886' at 0x3000... Wrote 0x1400 bytes to file '/tmp/tmp2elxvuws', ready to be flashed with any ESP USB Bridge. PASSED test/test_merge_bin.py::TestUF2::test_very_large_files esptool v5.4.0 Adding '/tmp/tmpdkh75eam' at 0x100... Adding '/tmp/tmp_e322ncp' at 0x10000... Adding '/tmp/tmpf4bxw3p0' at 0x100000... Wrote 0x16a00 bytes to file '/tmp/tmp1ie5k9_0', ready to be flashed with any ESP USB Bridge. PASSED test/test_merge_bin.py::TestUF2::test_chunk_size esptool v5.4.0 Adding '/tmp/tmphqyugj6y' at 0x1000... Adding '/tmp/tmpsoqxgkga' at 0x2000... Adding '/tmp/tmp3zv4rr5h' at 0x3000... Wrote 0x800 bytes to file '/tmp/tmpfct7lxl4', ready to be flashed with any ESP USB Bridge. PASSED test/test_merge_bin.py::TestUF2::test_md5_disable esptool v5.4.0 Adding '/tmp/tmpdn2a667_' at 0x100... Adding '/tmp/tmp_o7rnn2_' at 0x2000... Wrote 0x400 bytes to file '/tmp/tmpholfqecl', ready to be flashed with any ESP USB Bridge. PASSED test/test_modules.py::test_reed_solomon_encoding PASSED test/test_nand_cmds.py::TestReadFlashNandWithSkip::test_linear_no_bad_blocks PASSED test/test_nand_cmds.py::TestReadFlashNandWithSkip::test_bad_block_skipped Skipping bad block at 0x00000000 during read PASSED test/test_nand_cmds.py::TestReadFlashNandWithSkip::test_end_address_exhausted_raises Skipping bad block at 0x00000000 during read Skipping bad block at 0x00020000 during read PASSED test/test_nand_cmds.py::TestReadFlashNandWithSkip::test_exact_slice_to_size PASSED test/test_nand_cmds.py::TestReadFlashNandWithSkip::test_progress_callback_invoked PASSED test/test_nand_cmds.py::TestWriteFlashNandValidation::test_unaligned_address_raises WARNING: NAND flash support is experimental and may change without notice. PASSED test/test_nand_cmds.py::TestWriteFlashNandValidation::test_overlapping_images_raises Writing at 0x00000800 1.6% 2.00kB/128.00kB [0s] Writing at 0x00001000 ╸ 3.1% 4.00kB/128.00kB [0s] Writing at 0x00001800 ━ 4.7% 6.00kB/128.00kB [0s] Writing at 0x00002000 ━╸ 6.2% 8.00kB/128.00kB [0s] Writing at 0x00002800 ━━ 7.8% 10.00kB/128.00kB [0s] Writing at 0x00003000 ━━╸ 9.4% 12.00kB/128.00kB [0s] Writing at 0x00003800 ━━━ 10.9% 14.00kB/128.00kB [0s] Writing at 0x00004000 ━━━╸ 12.5% 16.00kB/128.00kB [0s] Writing at 0x00004800 ━━━━ 14.1% 18.00kB/128.00kB [0s] Writing at 0x00005000 ━━━━╸ 15.6% 20.00kB/128.00kB [0s] Writing at 0x00005800 ━━━━━ 17.2% 22.00kB/128.00kB [0s] Writing at 0x00006000 ━━━━━╸ 18.8% 24.00kB/128.00kB [0s] Writing at 0x00006800 ━━━━━━ 20.3% 26.00kB/128.00kB [0s] Writing at 0x00007000 ━━━━━━╸ 21.9% 28.00kB/128.00kB [0s] Writing at 0x00007800 ━━━━━━━ 23.4% 30.00kB/128.00kB [0s] Writing at 0x00008000 ━━━━━━━╸ 25.0% 32.00kB/128.00kB [0s] Writing at 0x00008800 ━━━━━━━╸ 26.6% 34.00kB/128.00kB [0s] Writing at 0x00009000 ━━━━━━━━ 28.1% 36.00kB/128.00kB [0s] Writing at 0x00009800 ━━━━━━━━╸ 29.7% 38.00kB/128.00kB [0s] Writing at 0x0000a000 ━━━━━━━━━ 31.2% 40.00kB/128.00kB [0s] Writing at 0x0000a800 ━━━━━━━━━╸ 32.8% 42.00kB/128.00kB [0s] Writing at 0x0000b000 ━━━━━━━━━━ 34.4% 44.00kB/128.00kB [0s] Writing at 0x0000b800 ━━━━━━━━━━╸ 35.9% 46.00kB/128.00kB [0s] Writing at 0x0000c000 ━━━━━━━━━━━ 37.5% 48.00kB/128.00kB [0s] Writing at 0x0000c800 ━━━━━━━━━━━╸ 39.1% 50.00kB/128.00kB [0s] Writing at 0x0000d000 ━━━━━━━━━━━━ 40.6% 52.00kB/128.00kB [0s] Writing at 0x0000d800 ━━━━━━━━━━━━╸ 42.2% 54.00kB/128.00kB [0s] Writing at 0x0000e000 ━━━━━━━━━━━━━ 43.8% 56.00kB/128.00kB [0s] Writing at 0x0000e800 ━━━━━━━━━━━━━╸ 45.3% 58.00kB/128.00kB [0s] Writing at 0x0000f000 ━━━━━━━━━━━━━━ 46.9% 60.00kB/128.00kB [0s] Writing at 0x0000f800 ━━━━━━━━━━━━━━╸ 48.4% 62.00kB/128.00kB [0s] Writing at 0x00010000 ━━━━━━━━━━━━━━━ 50.0% 64.00kB/128.00kB [0s] Writing at 0x00010800 ━━━━━━━━━━━━━━━ 51.6% 66.00kB/128.00kB [0s] Writing at 0x00011000 ━━━━━━━━━━━━━━━╸ 53.1% 68.00kB/128.00kB [0s] Writing at 0x00011800 ━━━━━━━━━━━━━━━━ 54.7% 70.00kB/128.00kB [0s] Writing at 0x00012000 ━━━━━━━━━━━━━━━━╸ 56.2% 72.00kB/128.00kB [0s] Writing at 0x00012800 ━━━━━━━━━━━━━━━━━ 57.8% 74.00kB/128.00kB [0s] Writing at 0x00013000 ━━━━━━━━━━━━━━━━━╸ 59.4% 76.00kB/128.00kB [0s] Writing at 0x00013800 ━━━━━━━━━━━━━━━━━━ 60.9% 78.00kB/128.00kB [0s] Writing at 0x00014000 ━━━━━━━━━━━━━━━━━━╸ 62.5% 80.00kB/128.00kB [0s] Writing at 0x00014800 ━━━━━━━━━━━━━━━━━━━ 64.1% 82.00kB/128.00kB [0s] Writing at 0x00015000 ━━━━━━━━━━━━━━━━━━━╸ 65.6% 84.00kB/128.00kB [0s] Writing at 0x00015800 ━━━━━━━━━━━━━━━━━━━━ 67.2% 86.00kB/128.00kB [0s] Writing at 0x00016000 ━━━━━━━━━━━━━━━━━━━━╸ 68.8% 88.00kB/128.00kB [0s] Writing at 0x00016800 ━━━━━━━━━━━━━━━━━━━━━ 70.3% 90.00kB/128.00kB [0s] Writing at 0x00017000 ━━━━━━━━━━━━━━━━━━━━━╸ 71.9% 92.00kB/128.00kB [0s] Writing at 0x00017800 ━━━━━━━━━━━━━━━━━━━━━━ 73.4% 94.00kB/128.00kB [0s] Writing at 0x00018000 ━━━━━━━━━━━━━━━━━━━━━━╸ 75.0% 96.00kB/128.00kB [0s] Writing at 0x00018800 ━━━━━━━━━━━━━━━━━━━━━━╸ 76.6% 98.00kB/128.00kB [0s] Writing at 0x00019000 ━━━━━━━━━━━━━━━━━━━━━━━ 78.1% 100.00kB/128.00kB [0s] Writing at 0x00019800 ━━━━━━━━━━━━━━━━━━━━━━━╸ 79.7% 102.00kB/128.00kB [0s] Writing at 0x0001a000 ━━━━━━━━━━━━━━━━━━━━━━━━ 81.2% 104.00kB/128.00kB [0s] Writing at 0x0001a800 ━━━━━━━━━━━━━━━━━━━━━━━━╸ 82.8% 106.00kB/128.00kB [0s] Writing at 0x0001b000 ━━━━━━━━━━━━━━━━━━━━━━━━━ 84.4% 108.00kB/128.00kB [0s] Writing at 0x0001b800 ━━━━━━━━━━━━━━━━━━━━━━━━━╸ 85.9% 110.00kB/128.00kB [0s] Writing at 0x0001c000 ━━━━━━━━━━━━━━━━━━━━━━━━━━ 87.5% 112.00kB/128.00kB [0s] Writing at 0x0001c800 ━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 89.1% 114.00kB/128.00kB [0s] Writing at 0x0001d000 ━━━━━━━━━━━━━━━━━━━━━━━━━━━ 90.6% 116.00kB/128.00kB [0s] Writing at 0x0001d800 ━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 92.2% 118.00kB/128.00kB [0s] Writing at 0x0001e000 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 93.8% 120.00kB/128.00kB [0s] Writing at 0x0001e800 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 95.3% 122.00kB/128.00kB [0s] Writing at 0x0001f000 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 96.9% 124.00kB/128.00kB [0s] Writing at 0x0001f800 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 98.4% 126.00kB/128.00kB [0s] Writing at 0x00020000 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100.0% 128.00kB/128.00kB [0s] Wrote 131072 bytes at 0x00000000 in 0.0 seconds (56617.5 kbit/s). PASSED test/test_nand_cmds.py::TestWriteFlashNandValidation::test_not_enough_good_blocks_raises PASSED test/test_nand_cmds.py::TestWriteFlashNandRecovery::test_program_failed_marks_bad_retries_next_block WARNING: P_FAIL reported by NAND chip at 0x00000000, marking as bad block Writing at 0x00020800 1.6% 2.00kB/128.00kB [0s] Writing at 0x00021000 ╸ 3.1% 4.00kB/128.00kB [0s] Writing at 0x00021800 ━ 4.7% 6.00kB/128.00kB [0s] Writing at 0x00022000 ━╸ 6.2% 8.00kB/128.00kB [0s] Writing at 0x00022800 ━━ 7.8% 10.00kB/128.00kB [0s] Writing at 0x00023000 ━━╸ 9.4% 12.00kB/128.00kB [0s] Writing at 0x00023800 ━━━ 10.9% 14.00kB/128.00kB [0s] Writing at 0x00024000 ━━━╸ 12.5% 16.00kB/128.00kB [0s] Writing at 0x00024800 ━━━━ 14.1% 18.00kB/128.00kB [0s] Writing at 0x00025000 ━━━━╸ 15.6% 20.00kB/128.00kB [0s] Writing at 0x00025800 ━━━━━ 17.2% 22.00kB/128.00kB [0s] Writing at 0x00026000 ━━━━━╸ 18.8% 24.00kB/128.00kB [0s] Writing at 0x00026800 ━━━━━━ 20.3% 26.00kB/128.00kB [0s] Writing at 0x00027000 ━━━━━━╸ 21.9% 28.00kB/128.00kB [0s] Writing at 0x00027800 ━━━━━━━ 23.4% 30.00kB/128.00kB [0s] Writing at 0x00028000 ━━━━━━━╸ 25.0% 32.00kB/128.00kB [0s] Writing at 0x00028800 ━━━━━━━╸ 26.6% 34.00kB/128.00kB [0s] Writing at 0x00029000 ━━━━━━━━ 28.1% 36.00kB/128.00kB [0s] Writing at 0x00029800 ━━━━━━━━╸ 29.7% 38.00kB/128.00kB [0s] Writing at 0x0002a000 ━━━━━━━━━ 31.2% 40.00kB/128.00kB [0s] Writing at 0x0002a800 ━━━━━━━━━╸ 32.8% 42.00kB/128.00kB [0s] Writing at 0x0002b000 ━━━━━━━━━━ 34.4% 44.00kB/128.00kB [0s] Writing at 0x0002b800 ━━━━━━━━━━╸ 35.9% 46.00kB/128.00kB [0s] Writing at 0x0002c000 ━━━━━━━━━━━ 37.5% 48.00kB/128.00kB [0s] Writing at 0x0002c800 ━━━━━━━━━━━╸ 39.1% 50.00kB/128.00kB [0s] Writing at 0x0002d000 ━━━━━━━━━━━━ 40.6% 52.00kB/128.00kB [0s] Writing at 0x0002d800 ━━━━━━━━━━━━╸ 42.2% 54.00kB/128.00kB [0s] Writing at 0x0002e000 ━━━━━━━━━━━━━ 43.8% 56.00kB/128.00kB [0s] Writing at 0x0002e800 ━━━━━━━━━━━━━╸ 45.3% 58.00kB/128.00kB [0s] Writing at 0x0002f000 ━━━━━━━━━━━━━━ 46.9% 60.00kB/128.00kB [0s] Writing at 0x0002f800 ━━━━━━━━━━━━━━╸ 48.4% 62.00kB/128.00kB [0s] Writing at 0x00030000 ━━━━━━━━━━━━━━━ 50.0% 64.00kB/128.00kB [0s] Writing at 0x00030800 ━━━━━━━━━━━━━━━ 51.6% 66.00kB/128.00kB [0s] Writing at 0x00031000 ━━━━━━━━━━━━━━━╸ 53.1% 68.00kB/128.00kB [0s] Writing at 0x00031800 ━━━━━━━━━━━━━━━━ 54.7% 70.00kB/128.00kB [0s] Writing at 0x00032000 ━━━━━━━━━━━━━━━━╸ 56.2% 72.00kB/128.00kB [0s] Writing at 0x00032800 ━━━━━━━━━━━━━━━━━ 57.8% 74.00kB/128.00kB [0s] Writing at 0x00033000 ━━━━━━━━━━━━━━━━━╸ 59.4% 76.00kB/128.00kB [0s] Writing at 0x00033800 ━━━━━━━━━━━━━━━━━━ 60.9% 78.00kB/128.00kB [0s] Writing at 0x00034000 ━━━━━━━━━━━━━━━━━━╸ 62.5% 80.00kB/128.00kB [0s] Writing at 0x00034800 ━━━━━━━━━━━━━━━━━━━ 64.1% 82.00kB/128.00kB [0s] Writing at 0x00035000 ━━━━━━━━━━━━━━━━━━━╸ 65.6% 84.00kB/128.00kB [0s] Writing at 0x00035800 ━━━━━━━━━━━━━━━━━━━━ 67.2% 86.00kB/128.00kB [0s] Writing at 0x00036000 ━━━━━━━━━━━━━━━━━━━━╸ 68.8% 88.00kB/128.00kB [0s] Writing at 0x00036800 ━━━━━━━━━━━━━━━━━━━━━ 70.3% 90.00kB/128.00kB [0s] Writing at 0x00037000 ━━━━━━━━━━━━━━━━━━━━━╸ 71.9% 92.00kB/128.00kB [0s] Writing at 0x00037800 ━━━━━━━━━━━━━━━━━━━━━━ 73.4% 94.00kB/128.00kB [0s] Writing at 0x00038000 ━━━━━━━━━━━━━━━━━━━━━━╸ 75.0% 96.00kB/128.00kB [0s] Writing at 0x00038800 ━━━━━━━━━━━━━━━━━━━━━━╸ 76.6% 98.00kB/128.00kB [0s] Writing at 0x00039000 ━━━━━━━━━━━━━━━━━━━━━━━ 78.1% 100.00kB/128.00kB [0s] Writing at 0x00039800 ━━━━━━━━━━━━━━━━━━━━━━━╸ 79.7% 102.00kB/128.00kB [0s] Writing at 0x0003a000 ━━━━━━━━━━━━━━━━━━━━━━━━ 81.2% 104.00kB/128.00kB [0s] Writing at 0x0003a800 ━━━━━━━━━━━━━━━━━━━━━━━━╸ 82.8% 106.00kB/128.00kB [0s] Writing at 0x0003b000 ━━━━━━━━━━━━━━━━━━━━━━━━━ 84.4% 108.00kB/128.00kB [0s] Writing at 0x0003b800 ━━━━━━━━━━━━━━━━━━━━━━━━━╸ 85.9% 110.00kB/128.00kB [0s] Writing at 0x0003c000 ━━━━━━━━━━━━━━━━━━━━━━━━━━ 87.5% 112.00kB/128.00kB [0s] Writing at 0x0003c800 ━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 89.1% 114.00kB/128.00kB [0s] Writing at 0x0003d000 ━━━━━━━━━━━━━━━━━━━━━━━━━━━ 90.6% 116.00kB/128.00kB [0s] Writing at 0x0003d800 ━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 92.2% 118.00kB/128.00kB [0s] Writing at 0x0003e000 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 93.8% 120.00kB/128.00kB [0s] Writing at 0x0003e800 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 95.3% 122.00kB/128.00kB [0s] Writing at 0x0003f000 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 96.9% 124.00kB/128.00kB [0s] Writing at 0x0003f800 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 98.4% 126.00kB/128.00kB [0s] Writing at 0x00040000 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100.0% 128.00kB/128.00kB [0s] Wrote 131072 bytes at 0x00020000 in 0.0 seconds (58156.8 kbit/s). Leaving... PASSED test/test_nand_cmds.py::TestWriteFlashNandRecovery::test_verify_mismatch_clears_on_reread Writing at 0x00000800 1.6% 2.00kB/128.00kB [0s] Writing at 0x00001000 ╸ 3.1% 4.00kB/128.00kB [0s] Writing at 0x00001800 ━ 4.7% 6.00kB/128.00kB [0s] Writing at 0x00002000 ━╸ 6.2% 8.00kB/128.00kB [0s] Writing at 0x00002800 ━━ 7.8% 10.00kB/128.00kB [0s] Writing at 0x00003000 ━━╸ 9.4% 12.00kB/128.00kB [0s] Writing at 0x00003800 ━━━ 10.9% 14.00kB/128.00kB [0s] Writing at 0x00004000 ━━━╸ 12.5% 16.00kB/128.00kB [0s] Writing at 0x00004800 ━━━━ 14.1% 18.00kB/128.00kB [0s] Writing at 0x00005000 ━━━━╸ 15.6% 20.00kB/128.00kB [0s] Writing at 0x00005800 ━━━━━ 17.2% 22.00kB/128.00kB [0s] Writing at 0x00006000 ━━━━━╸ 18.8% 24.00kB/128.00kB [0s] Writing at 0x00006800 ━━━━━━ 20.3% 26.00kB/128.00kB [0s] Writing at 0x00007000 ━━━━━━╸ 21.9% 28.00kB/128.00kB [0s] Writing at 0x00007800 ━━━━━━━ 23.4% 30.00kB/128.00kB [0s] Writing at 0x00008000 ━━━━━━━╸ 25.0% 32.00kB/128.00kB [0s] Writing at 0x00008800 ━━━━━━━╸ 26.6% 34.00kB/128.00kB [0s] Writing at 0x00009000 ━━━━━━━━ 28.1% 36.00kB/128.00kB [0s] Writing at 0x00009800 ━━━━━━━━╸ 29.7% 38.00kB/128.00kB [0s] Writing at 0x0000a000 ━━━━━━━━━ 31.2% 40.00kB/128.00kB [0s] Writing at 0x0000a800 ━━━━━━━━━╸ 32.8% 42.00kB/128.00kB [0s] Writing at 0x0000b000 ━━━━━━━━━━ 34.4% 44.00kB/128.00kB [0s] Writing at 0x0000b800 ━━━━━━━━━━╸ 35.9% 46.00kB/128.00kB [0s] Writing at 0x0000c000 ━━━━━━━━━━━ 37.5% 48.00kB/128.00kB [0s] Writing at 0x0000c800 ━━━━━━━━━━━╸ 39.1% 50.00kB/128.00kB [0s] Writing at 0x0000d000 ━━━━━━━━━━━━ 40.6% 52.00kB/128.00kB [0s] Writing at 0x0000d800 ━━━━━━━━━━━━╸ 42.2% 54.00kB/128.00kB [0s] Writing at 0x0000e000 ━━━━━━━━━━━━━ 43.8% 56.00kB/128.00kB [0s] Writing at 0x0000e800 ━━━━━━━━━━━━━╸ 45.3% 58.00kB/128.00kB [0s] Writing at 0x0000f000 ━━━━━━━━━━━━━━ 46.9% 60.00kB/128.00kB [0s] Writing at 0x0000f800 ━━━━━━━━━━━━━━╸ 48.4% 62.00kB/128.00kB [0s] Writing at 0x00010000 ━━━━━━━━━━━━━━━ 50.0% 64.00kB/128.00kB [0s] Writing at 0x00010800 ━━━━━━━━━━━━━━━ 51.6% 66.00kB/128.00kB [0s] Writing at 0x00011000 ━━━━━━━━━━━━━━━╸ 53.1% 68.00kB/128.00kB [0s] Writing at 0x00011800 ━━━━━━━━━━━━━━━━ 54.7% 70.00kB/128.00kB [0s] Writing at 0x00012000 ━━━━━━━━━━━━━━━━╸ 56.2% 72.00kB/128.00kB [0s] Writing at 0x00012800 ━━━━━━━━━━━━━━━━━ 57.8% 74.00kB/128.00kB [0s] Writing at 0x00013000 ━━━━━━━━━━━━━━━━━╸ 59.4% 76.00kB/128.00kB [0s] Writing at 0x00013800 ━━━━━━━━━━━━━━━━━━ 60.9% 78.00kB/128.00kB [0s] Writing at 0x00014000 ━━━━━━━━━━━━━━━━━━╸ 62.5% 80.00kB/128.00kB [0s] Writing at 0x00014800 ━━━━━━━━━━━━━━━━━━━ 64.1% 82.00kB/128.00kB [0s] Writing at 0x00015000 ━━━━━━━━━━━━━━━━━━━╸ 65.6% 84.00kB/128.00kB [0s] Writing at 0x00015800 ━━━━━━━━━━━━━━━━━━━━ 67.2% 86.00kB/128.00kB [0s] Writing at 0x00016000 ━━━━━━━━━━━━━━━━━━━━╸ 68.8% 88.00kB/128.00kB [0s] Writing at 0x00016800 ━━━━━━━━━━━━━━━━━━━━━ 70.3% 90.00kB/128.00kB [0s] Writing at 0x00017000 ━━━━━━━━━━━━━━━━━━━━━╸ 71.9% 92.00kB/128.00kB [0s] Writing at 0x00017800 ━━━━━━━━━━━━━━━━━━━━━━ 73.4% 94.00kB/128.00kB [0s] Writing at 0x00018000 ━━━━━━━━━━━━━━━━━━━━━━╸ 75.0% 96.00kB/128.00kB [0s] Writing at 0x00018800 ━━━━━━━━━━━━━━━━━━━━━━╸ 76.6% 98.00kB/128.00kB [0s] Writing at 0x00019000 ━━━━━━━━━━━━━━━━━━━━━━━ 78.1% 100.00kB/128.00kB [0s] Writing at 0x00019800 ━━━━━━━━━━━━━━━━━━━━━━━╸ 79.7% 102.00kB/128.00kB [0s] Writing at 0x0001a000 ━━━━━━━━━━━━━━━━━━━━━━━━ 81.2% 104.00kB/128.00kB [0s] Writing at 0x0001a800 ━━━━━━━━━━━━━━━━━━━━━━━━╸ 82.8% 106.00kB/128.00kB [0s] Writing at 0x0001b000 ━━━━━━━━━━━━━━━━━━━━━━━━━ 84.4% 108.00kB/128.00kB [0s] Writing at 0x0001b800 ━━━━━━━━━━━━━━━━━━━━━━━━━╸ 85.9% 110.00kB/128.00kB [0s] Writing at 0x0001c000 ━━━━━━━━━━━━━━━━━━━━━━━━━━ 87.5% 112.00kB/128.00kB [0s] Writing at 0x0001c800 ━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 89.1% 114.00kB/128.00kB [0s] Writing at 0x0001d000 ━━━━━━━━━━━━━━━━━━━━━━━━━━━ 90.6% 116.00kB/128.00kB [0s] Writing at 0x0001d800 ━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 92.2% 118.00kB/128.00kB [0s] Writing at 0x0001e000 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 93.8% 120.00kB/128.00kB [0s] Writing at 0x0001e800 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 95.3% 122.00kB/128.00kB [0s] Writing at 0x0001f000 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 96.9% 124.00kB/128.00kB [0s] Writing at 0x0001f800 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 98.4% 126.00kB/128.00kB [0s] Writing at 0x00020000 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100.0% 128.00kB/128.00kB [0s] Wrote 131072 bytes at 0x00000000 in 0.0 seconds (63413.5 kbit/s). Leaving... PASSED test/test_nand_cmds.py::TestWriteFlashNandRecovery::test_verify_mismatch_persists_marks_bad Writing at 0x00000800 1.6% 2.00kB/128.00kB [0s] Writing at 0x00001000 ╸ 3.1% 4.00kB/128.00kB [0s] Writing at 0x00001800 ━ 4.7% 6.00kB/128.00kB [0s] Writing at 0x00002000 ━╸ 6.2% 8.00kB/128.00kB [0s] Writing at 0x00002800 ━━ 7.8% 10.00kB/128.00kB [0s] Writing at 0x00003000 ━━╸ 9.4% 12.00kB/128.00kB [0s] Writing at 0x00003800 ━━━ 10.9% 14.00kB/128.00kB [0s] Writing at 0x00004000 ━━━╸ 12.5% 16.00kB/128.00kB [0s] Writing at 0x00004800 ━━━━ 14.1% 18.00kB/128.00kB [0s] Writing at 0x00005000 ━━━━╸ 15.6% 20.00kB/128.00kB [0s] Writing at 0x00005800 ━━━━━ 17.2% 22.00kB/128.00kB [0s] Writing at 0x00006000 ━━━━━╸ 18.8% 24.00kB/128.00kB [0s] Writing at 0x00006800 ━━━━━━ 20.3% 26.00kB/128.00kB [0s] Writing at 0x00007000 ━━━━━━╸ 21.9% 28.00kB/128.00kB [0s] Writing at 0x00007800 ━━━━━━━ 23.4% 30.00kB/128.00kB [0s] Writing at 0x00008000 ━━━━━━━╸ 25.0% 32.00kB/128.00kB [0s] Writing at 0x00008800 ━━━━━━━╸ 26.6% 34.00kB/128.00kB [0s] Writing at 0x00009000 ━━━━━━━━ 28.1% 36.00kB/128.00kB [0s] Writing at 0x00009800 ━━━━━━━━╸ 29.7% 38.00kB/128.00kB [0s] Writing at 0x0000a000 ━━━━━━━━━ 31.2% 40.00kB/128.00kB [0s] Writing at 0x0000a800 ━━━━━━━━━╸ 32.8% 42.00kB/128.00kB [0s] Writing at 0x0000b000 ━━━━━━━━━━ 34.4% 44.00kB/128.00kB [0s] Writing at 0x0000b800 ━━━━━━━━━━╸ 35.9% 46.00kB/128.00kB [0s] Writing at 0x0000c000 ━━━━━━━━━━━ 37.5% 48.00kB/128.00kB [0s] Writing at 0x0000c800 ━━━━━━━━━━━╸ 39.1% 50.00kB/128.00kB [0s] Writing at 0x0000d000 ━━━━━━━━━━━━ 40.6% 52.00kB/128.00kB [0s] Writing at 0x0000d800 ━━━━━━━━━━━━╸ 42.2% 54.00kB/128.00kB [0s] Writing at 0x0000e000 ━━━━━━━━━━━━━ 43.8% 56.00kB/128.00kB [0s] Writing at 0x0000e800 ━━━━━━━━━━━━━╸ 45.3% 58.00kB/128.00kB [0s] Writing at 0x0000f000 ━━━━━━━━━━━━━━ 46.9% 60.00kB/128.00kB [0s] Writing at 0x0000f800 ━━━━━━━━━━━━━━╸ 48.4% 62.00kB/128.00kB [0s] Writing at 0x00010000 ━━━━━━━━━━━━━━━ 50.0% 64.00kB/128.00kB [0s] Writing at 0x00010800 ━━━━━━━━━━━━━━━ 51.6% 66.00kB/128.00kB [0s] Writing at 0x00011000 ━━━━━━━━━━━━━━━╸ 53.1% 68.00kB/128.00kB [0s] Writing at 0x00011800 ━━━━━━━━━━━━━━━━ 54.7% 70.00kB/128.00kB [0s] Writing at 0x00012000 ━━━━━━━━━━━━━━━━╸ 56.2% 72.00kB/128.00kB [0s] Writing at 0x00012800 ━━━━━━━━━━━━━━━━━ 57.8% 74.00kB/128.00kB [0s] Writing at 0x00013000 ━━━━━━━━━━━━━━━━━╸ 59.4% 76.00kB/128.00kB [0s] Writing at 0x00013800 ━━━━━━━━━━━━━━━━━━ 60.9% 78.00kB/128.00kB [0s] Writing at 0x00014000 ━━━━━━━━━━━━━━━━━━╸ 62.5% 80.00kB/128.00kB [0s] Writing at 0x00014800 ━━━━━━━━━━━━━━━━━━━ 64.1% 82.00kB/128.00kB [0s] Writing at 0x00015000 ━━━━━━━━━━━━━━━━━━━╸ 65.6% 84.00kB/128.00kB [0s] Writing at 0x00015800 ━━━━━━━━━━━━━━━━━━━━ 67.2% 86.00kB/128.00kB [0s] Writing at 0x00016000 ━━━━━━━━━━━━━━━━━━━━╸ 68.8% 88.00kB/128.00kB [0s] Writing at 0x00016800 ━━━━━━━━━━━━━━━━━━━━━ 70.3% 90.00kB/128.00kB [0s] Writing at 0x00017000 ━━━━━━━━━━━━━━━━━━━━━╸ 71.9% 92.00kB/128.00kB [0s] Writing at 0x00017800 ━━━━━━━━━━━━━━━━━━━━━━ 73.4% 94.00kB/128.00kB [0s] Writing at 0x00018000 ━━━━━━━━━━━━━━━━━━━━━━╸ 75.0% 96.00kB/128.00kB [0s] Writing at 0x00018800 ━━━━━━━━━━━━━━━━━━━━━━╸ 76.6% 98.00kB/128.00kB [0s] Writing at 0x00019000 ━━━━━━━━━━━━━━━━━━━━━━━ 78.1% 100.00kB/128.00kB [0s] Writing at 0x00019800 ━━━━━━━━━━━━━━━━━━━━━━━╸ 79.7% 102.00kB/128.00kB [0s] Writing at 0x0001a000 ━━━━━━━━━━━━━━━━━━━━━━━━ 81.2% 104.00kB/128.00kB [0s] Writing at 0x0001a800 ━━━━━━━━━━━━━━━━━━━━━━━━╸ 82.8% 106.00kB/128.00kB [0s] Writing at 0x0001b000 ━━━━━━━━━━━━━━━━━━━━━━━━━ 84.4% 108.00kB/128.00kB [0s] Writing at 0x0001b800 ━━━━━━━━━━━━━━━━━━━━━━━━━╸ 85.9% 110.00kB/128.00kB [0s] Writing at 0x0001c000 ━━━━━━━━━━━━━━━━━━━━━━━━━━ 87.5% 112.00kB/128.00kB [0s] Writing at 0x0001c800 ━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 89.1% 114.00kB/128.00kB [0s] Writing at 0x0001d000 ━━━━━━━━━━━━━━━━━━━━━━━━━━━ 90.6% 116.00kB/128.00kB [0s] Writing at 0x0001d800 ━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 92.2% 118.00kB/128.00kB [0s] Writing at 0x0001e000 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 93.8% 120.00kB/128.00kB [0s] Writing at 0x0001e800 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 95.3% 122.00kB/128.00kB [0s] Writing at 0x0001f000 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 96.9% 124.00kB/128.00kB [0s] Writing at 0x0001f800 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 98.4% 126.00kB/128.00kB [0s] Writing at 0x00020000 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100.0% 128.00kB/128.00kB [0s] Wrote 131072 bytes at 0x00000000 in 0.0 seconds (56153.4 kbit/s). WARNING: Write verify failed at 0x00000000 after re-read, marking as bad block Writing at 0x00020800 1.6% 2.00kB/128.00kB [0s] Writing at 0x00021000 ╸ 3.1% 4.00kB/128.00kB [0s] Writing at 0x00021800 ━ 4.7% 6.00kB/128.00kB [0s] Writing at 0x00022000 ━╸ 6.2% 8.00kB/128.00kB [0s] Writing at 0x00022800 ━━ 7.8% 10.00kB/128.00kB [0s] Writing at 0x00023000 ━━╸ 9.4% 12.00kB/128.00kB [0s] Writing at 0x00023800 ━━━ 10.9% 14.00kB/128.00kB [0s] Writing at 0x00024000 ━━━╸ 12.5% 16.00kB/128.00kB [0s] Writing at 0x00024800 ━━━━ 14.1% 18.00kB/128.00kB [0s] Writing at 0x00025000 ━━━━╸ 15.6% 20.00kB/128.00kB [0s] Writing at 0x00025800 ━━━━━ 17.2% 22.00kB/128.00kB [0s] Writing at 0x00026000 ━━━━━╸ 18.8% 24.00kB/128.00kB [0s] Writing at 0x00026800 ━━━━━━ 20.3% 26.00kB/128.00kB [0s] Writing at 0x00027000 ━━━━━━╸ 21.9% 28.00kB/128.00kB [0s] Writing at 0x00027800 ━━━━━━━ 23.4% 30.00kB/128.00kB [0s] Writing at 0x00028000 ━━━━━━━╸ 25.0% 32.00kB/128.00kB [0s] Writing at 0x00028800 ━━━━━━━╸ 26.6% 34.00kB/128.00kB [0s] Writing at 0x00029000 ━━━━━━━━ 28.1% 36.00kB/128.00kB [0s] Writing at 0x00029800 ━━━━━━━━╸ 29.7% 38.00kB/128.00kB [0s] Writing at 0x0002a000 ━━━━━━━━━ 31.2% 40.00kB/128.00kB [0s] Writing at 0x0002a800 ━━━━━━━━━╸ 32.8% 42.00kB/128.00kB [0s] Writing at 0x0002b000 ━━━━━━━━━━ 34.4% 44.00kB/128.00kB [0s] Writing at 0x0002b800 ━━━━━━━━━━╸ 35.9% 46.00kB/128.00kB [0s] Writing at 0x0002c000 ━━━━━━━━━━━ 37.5% 48.00kB/128.00kB [0s] Writing at 0x0002c800 ━━━━━━━━━━━╸ 39.1% 50.00kB/128.00kB [0s] Writing at 0x0002d000 ━━━━━━━━━━━━ 40.6% 52.00kB/128.00kB [0s] Writing at 0x0002d800 ━━━━━━━━━━━━╸ 42.2% 54.00kB/128.00kB [0s] Writing at 0x0002e000 ━━━━━━━━━━━━━ 43.8% 56.00kB/128.00kB [0s] Writing at 0x0002e800 ━━━━━━━━━━━━━╸ 45.3% 58.00kB/128.00kB [0s] Writing at 0x0002f000 ━━━━━━━━━━━━━━ 46.9% 60.00kB/128.00kB [0s] Writing at 0x0002f800 ━━━━━━━━━━━━━━╸ 48.4% 62.00kB/128.00kB [0s] Writing at 0x00030000 ━━━━━━━━━━━━━━━ 50.0% 64.00kB/128.00kB [0s] Writing at 0x00030800 ━━━━━━━━━━━━━━━ 51.6% 66.00kB/128.00kB [0s] Writing at 0x00031000 ━━━━━━━━━━━━━━━╸ 53.1% 68.00kB/128.00kB [0s] Writing at 0x00031800 ━━━━━━━━━━━━━━━━ 54.7% 70.00kB/128.00kB [0s] Writing at 0x00032000 ━━━━━━━━━━━━━━━━╸ 56.2% 72.00kB/128.00kB [0s] Writing at 0x00032800 ━━━━━━━━━━━━━━━━━ 57.8% 74.00kB/128.00kB [0s] Writing at 0x00033000 ━━━━━━━━━━━━━━━━━╸ 59.4% 76.00kB/128.00kB [0s] Writing at 0x00033800 ━━━━━━━━━━━━━━━━━━ 60.9% 78.00kB/128.00kB [0s] Writing at 0x00034000 ━━━━━━━━━━━━━━━━━━╸ 62.5% 80.00kB/128.00kB [0s] Writing at 0x00034800 ━━━━━━━━━━━━━━━━━━━ 64.1% 82.00kB/128.00kB [0s] Writing at 0x00035000 ━━━━━━━━━━━━━━━━━━━╸ 65.6% 84.00kB/128.00kB [0s] Writing at 0x00035800 ━━━━━━━━━━━━━━━━━━━━ 67.2% 86.00kB/128.00kB [0s] Writing at 0x00036000 ━━━━━━━━━━━━━━━━━━━━╸ 68.8% 88.00kB/128.00kB [0s] Writing at 0x00036800 ━━━━━━━━━━━━━━━━━━━━━ 70.3% 90.00kB/128.00kB [0s] Writing at 0x00037000 ━━━━━━━━━━━━━━━━━━━━━╸ 71.9% 92.00kB/128.00kB [0s] Writing at 0x00037800 ━━━━━━━━━━━━━━━━━━━━━━ 73.4% 94.00kB/128.00kB [0s] Writing at 0x00038000 ━━━━━━━━━━━━━━━━━━━━━━╸ 75.0% 96.00kB/128.00kB [0s] Writing at 0x00038800 ━━━━━━━━━━━━━━━━━━━━━━╸ 76.6% 98.00kB/128.00kB [0s] Writing at 0x00039000 ━━━━━━━━━━━━━━━━━━━━━━━ 78.1% 100.00kB/128.00kB [0s] Writing at 0x00039800 ━━━━━━━━━━━━━━━━━━━━━━━╸ 79.7% 102.00kB/128.00kB [0s] Writing at 0x0003a000 ━━━━━━━━━━━━━━━━━━━━━━━━ 81.2% 104.00kB/128.00kB [0s] Writing at 0x0003a800 ━━━━━━━━━━━━━━━━━━━━━━━━╸ 82.8% 106.00kB/128.00kB [0s] Writing at 0x0003b000 ━━━━━━━━━━━━━━━━━━━━━━━━━ 84.4% 108.00kB/128.00kB [0s] Writing at 0x0003b800 ━━━━━━━━━━━━━━━━━━━━━━━━━╸ 85.9% 110.00kB/128.00kB [0s] Writing at 0x0003c000 ━━━━━━━━━━━━━━━━━━━━━━━━━━ 87.5% 112.00kB/128.00kB [0s] Writing at 0x0003c800 ━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 89.1% 114.00kB/128.00kB [0s] Writing at 0x0003d000 ━━━━━━━━━━━━━━━━━━━━━━━━━━━ 90.6% 116.00kB/128.00kB [0s] Writing at 0x0003d800 ━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 92.2% 118.00kB/128.00kB [0s] Writing at 0x0003e000 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 93.8% 120.00kB/128.00kB [0s] Writing at 0x0003e800 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 95.3% 122.00kB/128.00kB [0s] Writing at 0x0003f000 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 96.9% 124.00kB/128.00kB [0s] Writing at 0x0003f800 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 98.4% 126.00kB/128.00kB [0s] Writing at 0x00040000 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100.0% 128.00kB/128.00kB [0s] Wrote 131072 bytes at 0x00020000 in 0.0 seconds (58900.6 kbit/s). Leaving... PASSED test/test_nand_cmds.py::TestWriteFlashNandRecovery::test_mark_bad_failure_swallowed WARNING: P_FAIL reported by NAND chip at 0x00000000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway Writing at 0x00020800 1.6% 2.00kB/128.00kB [0s] Writing at 0x00021000 ╸ 3.1% 4.00kB/128.00kB [0s] Writing at 0x00021800 ━ 4.7% 6.00kB/128.00kB [0s] Writing at 0x00022000 ━╸ 6.2% 8.00kB/128.00kB [0s] Writing at 0x00022800 ━━ 7.8% 10.00kB/128.00kB [0s] Writing at 0x00023000 ━━╸ 9.4% 12.00kB/128.00kB [0s] Writing at 0x00023800 ━━━ 10.9% 14.00kB/128.00kB [0s] Writing at 0x00024000 ━━━╸ 12.5% 16.00kB/128.00kB [0s] Writing at 0x00024800 ━━━━ 14.1% 18.00kB/128.00kB [0s] Writing at 0x00025000 ━━━━╸ 15.6% 20.00kB/128.00kB [0s] Writing at 0x00025800 ━━━━━ 17.2% 22.00kB/128.00kB [0s] Writing at 0x00026000 ━━━━━╸ 18.8% 24.00kB/128.00kB [0s] Writing at 0x00026800 ━━━━━━ 20.3% 26.00kB/128.00kB [0s] Writing at 0x00027000 ━━━━━━╸ 21.9% 28.00kB/128.00kB [0s] Writing at 0x00027800 ━━━━━━━ 23.4% 30.00kB/128.00kB [0s] Writing at 0x00028000 ━━━━━━━╸ 25.0% 32.00kB/128.00kB [0s] Writing at 0x00028800 ━━━━━━━╸ 26.6% 34.00kB/128.00kB [0s] Writing at 0x00029000 ━━━━━━━━ 28.1% 36.00kB/128.00kB [0s] Writing at 0x00029800 ━━━━━━━━╸ 29.7% 38.00kB/128.00kB [0s] Writing at 0x0002a000 ━━━━━━━━━ 31.2% 40.00kB/128.00kB [0s] Writing at 0x0002a800 ━━━━━━━━━╸ 32.8% 42.00kB/128.00kB [0s] Writing at 0x0002b000 ━━━━━━━━━━ 34.4% 44.00kB/128.00kB [0s] Writing at 0x0002b800 ━━━━━━━━━━╸ 35.9% 46.00kB/128.00kB [0s] Writing at 0x0002c000 ━━━━━━━━━━━ 37.5% 48.00kB/128.00kB [0s] Writing at 0x0002c800 ━━━━━━━━━━━╸ 39.1% 50.00kB/128.00kB [0s] Writing at 0x0002d000 ━━━━━━━━━━━━ 40.6% 52.00kB/128.00kB [0s] Writing at 0x0002d800 ━━━━━━━━━━━━╸ 42.2% 54.00kB/128.00kB [0s] Writing at 0x0002e000 ━━━━━━━━━━━━━ 43.8% 56.00kB/128.00kB [0s] Writing at 0x0002e800 ━━━━━━━━━━━━━╸ 45.3% 58.00kB/128.00kB [0s] Writing at 0x0002f000 ━━━━━━━━━━━━━━ 46.9% 60.00kB/128.00kB [0s] Writing at 0x0002f800 ━━━━━━━━━━━━━━╸ 48.4% 62.00kB/128.00kB [0s] Writing at 0x00030000 ━━━━━━━━━━━━━━━ 50.0% 64.00kB/128.00kB [0s] Writing at 0x00030800 ━━━━━━━━━━━━━━━ 51.6% 66.00kB/128.00kB [0s] Writing at 0x00031000 ━━━━━━━━━━━━━━━╸ 53.1% 68.00kB/128.00kB [0s] Writing at 0x00031800 ━━━━━━━━━━━━━━━━ 54.7% 70.00kB/128.00kB [0s] Writing at 0x00032000 ━━━━━━━━━━━━━━━━╸ 56.2% 72.00kB/128.00kB [0s] Writing at 0x00032800 ━━━━━━━━━━━━━━━━━ 57.8% 74.00kB/128.00kB [0s] Writing at 0x00033000 ━━━━━━━━━━━━━━━━━╸ 59.4% 76.00kB/128.00kB [0s] Writing at 0x00033800 ━━━━━━━━━━━━━━━━━━ 60.9% 78.00kB/128.00kB [0s] Writing at 0x00034000 ━━━━━━━━━━━━━━━━━━╸ 62.5% 80.00kB/128.00kB [0s] Writing at 0x00034800 ━━━━━━━━━━━━━━━━━━━ 64.1% 82.00kB/128.00kB [0s] Writing at 0x00035000 ━━━━━━━━━━━━━━━━━━━╸ 65.6% 84.00kB/128.00kB [0s] Writing at 0x00035800 ━━━━━━━━━━━━━━━━━━━━ 67.2% 86.00kB/128.00kB [0s] Writing at 0x00036000 ━━━━━━━━━━━━━━━━━━━━╸ 68.8% 88.00kB/128.00kB [0s] Writing at 0x00036800 ━━━━━━━━━━━━━━━━━━━━━ 70.3% 90.00kB/128.00kB [0s] Writing at 0x00037000 ━━━━━━━━━━━━━━━━━━━━━╸ 71.9% 92.00kB/128.00kB [0s] Writing at 0x00037800 ━━━━━━━━━━━━━━━━━━━━━━ 73.4% 94.00kB/128.00kB [0s] Writing at 0x00038000 ━━━━━━━━━━━━━━━━━━━━━━╸ 75.0% 96.00kB/128.00kB [0s] Writing at 0x00038800 ━━━━━━━━━━━━━━━━━━━━━━╸ 76.6% 98.00kB/128.00kB [0s] Writing at 0x00039000 ━━━━━━━━━━━━━━━━━━━━━━━ 78.1% 100.00kB/128.00kB [0s] Writing at 0x00039800 ━━━━━━━━━━━━━━━━━━━━━━━╸ 79.7% 102.00kB/128.00kB [0s] Writing at 0x0003a000 ━━━━━━━━━━━━━━━━━━━━━━━━ 81.2% 104.00kB/128.00kB [0s] Writing at 0x0003a800 ━━━━━━━━━━━━━━━━━━━━━━━━╸ 82.8% 106.00kB/128.00kB [0s] Writing at 0x0003b000 ━━━━━━━━━━━━━━━━━━━━━━━━━ 84.4% 108.00kB/128.00kB [0s] Writing at 0x0003b800 ━━━━━━━━━━━━━━━━━━━━━━━━━╸ 85.9% 110.00kB/128.00kB [0s] Writing at 0x0003c000 ━━━━━━━━━━━━━━━━━━━━━━━━━━ 87.5% 112.00kB/128.00kB [0s] Writing at 0x0003c800 ━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 89.1% 114.00kB/128.00kB [0s] Writing at 0x0003d000 ━━━━━━━━━━━━━━━━━━━━━━━━━━━ 90.6% 116.00kB/128.00kB [0s] Writing at 0x0003d800 ━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 92.2% 118.00kB/128.00kB [0s] Writing at 0x0003e000 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 93.8% 120.00kB/128.00kB [0s] Writing at 0x0003e800 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 95.3% 122.00kB/128.00kB [0s] Writing at 0x0003f000 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 96.9% 124.00kB/128.00kB [0s] Writing at 0x0003f800 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 98.4% 126.00kB/128.00kB [0s] Writing at 0x00040000 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100.0% 128.00kB/128.00kB [0s] Wrote 131072 bytes at 0x00020000 in 0.0 seconds (61470.7 kbit/s). Leaving... PASSED test/test_nand_cmds.py::TestEraseFlashNand::test_efail_marks_block_bad Erasing NAND flash (all blocks including bad-marked)... WARNING: E_FAIL reported by NAND chip at 0x00000000, marking as bad block NAND erase complete in 0.0s: 1023 blocks erased, 1 failed (marked bad). PASSED test/test_nand_cmds.py::TestEraseFlashNand::test_mark_bad_failure_swallowed Erasing NAND flash (all blocks including bad-marked)... WARNING: E_FAIL reported by NAND chip at 0x00000000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00020000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00040000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00060000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00080000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x000a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x000c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x000e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00100000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00120000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00140000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00160000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00180000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x001a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x001c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x001e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00200000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00220000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00240000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00260000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00280000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x002a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x002c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x002e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00300000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00320000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00340000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00360000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00380000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x003a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x003c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x003e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00400000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00420000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00440000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00460000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00480000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x004a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x004c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x004e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00500000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00520000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00540000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00560000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00580000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x005a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x005c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x005e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00600000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00620000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00640000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00660000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00680000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x006a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x006c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x006e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00700000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00720000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00740000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00760000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00780000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x007a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x007c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x007e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00800000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00820000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00840000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00860000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00880000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x008a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x008c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x008e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00900000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00920000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00940000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00960000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00980000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x009a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x009c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x009e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00a00000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00a20000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00a40000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00a60000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00a80000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00aa0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00ac0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00ae0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00b00000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00b20000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00b40000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00b60000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00b80000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00ba0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00bc0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00be0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00c00000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00c20000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00c40000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00c60000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00c80000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00ca0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00cc0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00ce0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00d00000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00d20000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00d40000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00d60000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00d80000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00da0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00dc0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00de0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00e00000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00e20000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00e40000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00e60000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00e80000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00ea0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00ec0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00ee0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00f00000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00f20000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00f40000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00f60000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00f80000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00fa0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00fc0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x00fe0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01000000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01020000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01040000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01060000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01080000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x010a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x010c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x010e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01100000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01120000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01140000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01160000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01180000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x011a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x011c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x011e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01200000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01220000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01240000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01260000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01280000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x012a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x012c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x012e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01300000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01320000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01340000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01360000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01380000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x013a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x013c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x013e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01400000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01420000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01440000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01460000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01480000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x014a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x014c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x014e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01500000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01520000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01540000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01560000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01580000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x015a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x015c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x015e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01600000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01620000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01640000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01660000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01680000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x016a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x016c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x016e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01700000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01720000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01740000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01760000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01780000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x017a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x017c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x017e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01800000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01820000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01840000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01860000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01880000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x018a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x018c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x018e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01900000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01920000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01940000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01960000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01980000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x019a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x019c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x019e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01a00000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01a20000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01a40000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01a60000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01a80000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01aa0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01ac0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01ae0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01b00000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01b20000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01b40000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01b60000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01b80000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01ba0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01bc0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01be0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01c00000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01c20000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01c40000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01c60000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01c80000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01ca0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01cc0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01ce0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01d00000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01d20000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01d40000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01d60000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01d80000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01da0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01dc0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01de0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01e00000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01e20000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01e40000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01e60000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01e80000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01ea0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01ec0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01ee0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01f00000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01f20000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01f40000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01f60000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01f80000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01fa0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01fc0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x01fe0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02000000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02020000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02040000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02060000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02080000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x020a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x020c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x020e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02100000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02120000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02140000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02160000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02180000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x021a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x021c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x021e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02200000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02220000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02240000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02260000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02280000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x022a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x022c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x022e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02300000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02320000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02340000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02360000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02380000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x023a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x023c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x023e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02400000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02420000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02440000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02460000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02480000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x024a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x024c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x024e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02500000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02520000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02540000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02560000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02580000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x025a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x025c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x025e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02600000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02620000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02640000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02660000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02680000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x026a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x026c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x026e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02700000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02720000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02740000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02760000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02780000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x027a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x027c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x027e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02800000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02820000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02840000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02860000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02880000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x028a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x028c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x028e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02900000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02920000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02940000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02960000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02980000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x029a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x029c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x029e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02a00000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02a20000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02a40000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02a60000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02a80000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02aa0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02ac0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02ae0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02b00000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02b20000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02b40000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02b60000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02b80000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02ba0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02bc0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02be0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02c00000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02c20000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02c40000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02c60000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02c80000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02ca0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02cc0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02ce0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02d00000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02d20000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02d40000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02d60000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02d80000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02da0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02dc0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02de0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02e00000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02e20000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02e40000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02e60000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02e80000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02ea0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02ec0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02ee0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02f00000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02f20000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02f40000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02f60000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02f80000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02fa0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02fc0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x02fe0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03000000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03020000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03040000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03060000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03080000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x030a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x030c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x030e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03100000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03120000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03140000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03160000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03180000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x031a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x031c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x031e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03200000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03220000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03240000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03260000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03280000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x032a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x032c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x032e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03300000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03320000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03340000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03360000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03380000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x033a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x033c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x033e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03400000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03420000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03440000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03460000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03480000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x034a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x034c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x034e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03500000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03520000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03540000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03560000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03580000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x035a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x035c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x035e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03600000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03620000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03640000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03660000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03680000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x036a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x036c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x036e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03700000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03720000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03740000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03760000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03780000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x037a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x037c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x037e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03800000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03820000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03840000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03860000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03880000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x038a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x038c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x038e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03900000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03920000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03940000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03960000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03980000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x039a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x039c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x039e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03a00000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03a20000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03a40000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03a60000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03a80000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03aa0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03ac0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03ae0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03b00000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03b20000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03b40000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03b60000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03b80000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03ba0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03bc0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03be0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03c00000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03c20000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03c40000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03c60000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03c80000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03ca0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03cc0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03ce0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03d00000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03d20000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03d40000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03d60000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03d80000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03da0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03dc0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03de0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03e00000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03e20000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03e40000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03e60000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03e80000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03ea0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03ec0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03ee0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03f00000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03f20000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03f40000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03f60000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03f80000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03fa0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03fc0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x03fe0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04000000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04020000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04040000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04060000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04080000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x040a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x040c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x040e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04100000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04120000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04140000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04160000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04180000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x041a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x041c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x041e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04200000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04220000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04240000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04260000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04280000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x042a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x042c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x042e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04300000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04320000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04340000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04360000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04380000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x043a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x043c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x043e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04400000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04420000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04440000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04460000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04480000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x044a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x044c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x044e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04500000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04520000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04540000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04560000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04580000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x045a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x045c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x045e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04600000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04620000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04640000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04660000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04680000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x046a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x046c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x046e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04700000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04720000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04740000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04760000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04780000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x047a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x047c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x047e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04800000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04820000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04840000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04860000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04880000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x048a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x048c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x048e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04900000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04920000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04940000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04960000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04980000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x049a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x049c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x049e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04a00000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04a20000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04a40000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04a60000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04a80000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04aa0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04ac0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04ae0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04b00000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04b20000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04b40000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04b60000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04b80000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04ba0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04bc0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04be0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04c00000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04c20000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04c40000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04c60000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04c80000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04ca0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04cc0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04ce0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04d00000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04d20000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04d40000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04d60000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04d80000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04da0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04dc0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04de0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04e00000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04e20000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04e40000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04e60000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04e80000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04ea0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04ec0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04ee0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04f00000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04f20000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04f40000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04f60000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04f80000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04fa0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04fc0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x04fe0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05000000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05020000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05040000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05060000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05080000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x050a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x050c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x050e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05100000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05120000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05140000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05160000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05180000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x051a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x051c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x051e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05200000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05220000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05240000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05260000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05280000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x052a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x052c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x052e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05300000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05320000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05340000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05360000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05380000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x053a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x053c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x053e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05400000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05420000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05440000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05460000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05480000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x054a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x054c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x054e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05500000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05520000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05540000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05560000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05580000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x055a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x055c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x055e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05600000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05620000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05640000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05660000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05680000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x056a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x056c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x056e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05700000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05720000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05740000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05760000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05780000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x057a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x057c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x057e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05800000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05820000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05840000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05860000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05880000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x058a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x058c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x058e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05900000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05920000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05940000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05960000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05980000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x059a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x059c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x059e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05a00000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05a20000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05a40000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05a60000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05a80000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05aa0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05ac0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05ae0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05b00000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05b20000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05b40000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05b60000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05b80000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05ba0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05bc0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05be0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05c00000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05c20000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05c40000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05c60000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05c80000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05ca0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05cc0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05ce0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05d00000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05d20000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05d40000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05d60000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05d80000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05da0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05dc0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05de0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05e00000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05e20000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05e40000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05e60000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05e80000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05ea0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05ec0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05ee0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05f00000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05f20000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05f40000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05f60000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05f80000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05fa0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05fc0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x05fe0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06000000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06020000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06040000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06060000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06080000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x060a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x060c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x060e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06100000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06120000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06140000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06160000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06180000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x061a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x061c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x061e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06200000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06220000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06240000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06260000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06280000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x062a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x062c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x062e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06300000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06320000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06340000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06360000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06380000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x063a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x063c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x063e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06400000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06420000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06440000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06460000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06480000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x064a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x064c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x064e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06500000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06520000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06540000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06560000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06580000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x065a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x065c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x065e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06600000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06620000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06640000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06660000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06680000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x066a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x066c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x066e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06700000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06720000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06740000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06760000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06780000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x067a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x067c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x067e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06800000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06820000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06840000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06860000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06880000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x068a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x068c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x068e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06900000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06920000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06940000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06960000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06980000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x069a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x069c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x069e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06a00000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06a20000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06a40000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06a60000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06a80000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06aa0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06ac0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06ae0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06b00000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06b20000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06b40000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06b60000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06b80000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06ba0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06bc0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06be0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06c00000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06c20000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06c40000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06c60000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06c80000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06ca0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06cc0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06ce0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06d00000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06d20000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06d40000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06d60000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06d80000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06da0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06dc0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06de0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06e00000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06e20000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06e40000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06e60000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06e80000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06ea0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06ec0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06ee0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06f00000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06f20000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06f40000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06f60000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06f80000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06fa0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06fc0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x06fe0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07000000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07020000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07040000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07060000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07080000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x070a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x070c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x070e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07100000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07120000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07140000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07160000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07180000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x071a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x071c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x071e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07200000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07220000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07240000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07260000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07280000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x072a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x072c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x072e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07300000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07320000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07340000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07360000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07380000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x073a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x073c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x073e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07400000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07420000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07440000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07460000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07480000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x074a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x074c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x074e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07500000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07520000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07540000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07560000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07580000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x075a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x075c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x075e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07600000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07620000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07640000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07660000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07680000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x076a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x076c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x076e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07700000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07720000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07740000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07760000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07780000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x077a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x077c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x077e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07800000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07820000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07840000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07860000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07880000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x078a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x078c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x078e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07900000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07920000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07940000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07960000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07980000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x079a0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x079c0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x079e0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07a00000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07a20000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07a40000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07a60000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07a80000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07aa0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07ac0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07ae0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07b00000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07b20000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07b40000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07b60000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07b80000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07ba0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07bc0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07be0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07c00000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07c20000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07c40000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07c60000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07c80000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07ca0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07cc0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07ce0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07d00000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07d20000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07d40000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07d60000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07d80000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07da0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07dc0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07de0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07e00000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07e20000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07e40000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07e60000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07e80000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07ea0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07ec0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07ee0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07f00000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07f20000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07f40000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07f60000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07f80000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07fa0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07fc0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway WARNING: E_FAIL reported by NAND chip at 0x07fe0000, marking as bad block WARNING: Failed to mark block as bad, continuing anyway NAND erase complete in 0.3s: 0 blocks erased, 1024 failed (marked bad). PASSED test/test_nand_cmds.py::TestEraseFlashNand::test_all_blocks_iterated Erasing NAND flash (all blocks including bad-marked)... NAND erase complete in 0.0s: 1024 blocks erased, 0 failed (marked bad). PASSED test/test_nand_cmds.py::TestEraseRegionNand::test_unaligned_address_raises PASSED test/test_nand_cmds.py::TestEraseRegionNand::test_unaligned_size_raises PASSED test/test_nand_cmds.py::TestEraseRegionNand::test_aligned_range_erases_correct_block_count Erasing NAND flash region... NAND region erase complete in 0.0s: 3 blocks erased, 0 failed (marked bad). PASSED test/test_nand_cmds.py::TestVerifyFlashNand::test_unaligned_address_raises PASSED test/test_nand_cmds.py::TestVerifyFlashNand::test_good_data_no_mismatch Verifying 0x20000 (131072) bytes at 0x00000000 against input bytes... Verification successful. PASSED test/test_nand_cmds.py::TestVerifyFlashNand::test_bad_block_skipped_during_verify Verifying 0x20000 (131072) bytes at 0x00000000 against input bytes... Skipping bad block at 0x00000000 during verify Verification successful. PASSED test/test_nand_cmds.py::TestVerifyFlashNand::test_mismatch_raises_fatalerror Verifying 0x20000 (131072) bytes at 0x00000000 against input bytes... Block at 0x00000000: MISMATCH Verification failed. PASSED test/test_nand_cmds.py::TestVerifyFlashNand::test_mismatch_with_diff_logs_differences Verifying 0x20000 (131072) bytes at 0x00000000 against input bytes... Block at 0x00000000: 131072 byte differences, first at offset 0 Verification failed. PASSED test/test_nand_cmds.py::TestFlashSpiNandAttach::test_known_winbond_w25n01gv Detected NAND chip: Winbond W25N01GV (1Gbit) PASSED test/test_nand_cmds.py::TestFlashSpiNandAttach::test_unknown_jedec_raises PASSED test/test_nand_cmds.py::TestFlashSpiNandAttach::test_short_response_raises PASSED test/test_nand_cmds.py::TestFlashSpiNandAttach::test_nonzero_status_byte_raises PASSED test/test_nand_cmds.py::TestFlashSpiNandAttach::test_nonzero_prot_reg_warns PASSED test/test_nand_cmds.py::TestDumpBbm::test_file_length_equals_block_count BBM dump: 16 blocks scanned, 0 bad. Written to '/tmp/pytest-of-mockbuild/pytest-0/test_file_length_equals_block_0/bbm.bin' (16 bytes, 0x00=good 0x01=bad). PASSED test/test_nand_cmds.py::TestDumpBbm::test_good_block_encodes_as_zero BBM dump: 4 blocks scanned, 0 bad. Written to '/tmp/pytest-of-mockbuild/pytest-0/test_good_block_encodes_as_zer0/bbm.bin' (4 bytes, 0x00=good 0x01=bad). PASSED test/test_nand_cmds.py::TestDumpBbm::test_bad_block_encodes_as_one BBM dump: 4 blocks scanned, 4 bad. Bad block indices: [0, 1, 2, 3] Written to '/tmp/pytest-of-mockbuild/pytest-0/test_bad_block_encodes_as_one0/bbm.bin' (4 bytes, 0x00=good 0x01=bad). PASSED test/test_nand_cmds.py::TestDumpBbm::test_page_numbers_are_block_times_pages_per_block BBM dump: 8 blocks scanned, 0 bad. Written to '/tmp/pytest-of-mockbuild/pytest-0/test_page_numbers_are_block_ti0/bbm.bin' (8 bytes, 0x00=good 0x01=bad). PASSED test/test_nand_cmds.py::TestReadFlashNandLoader::test_not_stub_raises PASSED test/test_nand_cmds.py::TestReadFlashNandLoader::test_md5_mismatch_raises PASSED test/test_nand_cmds.py::TestReadFlashNandLoader::test_short_digest_frame_raises PASSED test/test_nand_cmds.py::TestNandSpareLoader::test_read_nand_spare_correct_opcode_and_pack PASSED test/test_nand_cmds.py::TestNandSpareLoader::test_write_nand_spare_correct_opcode_and_pack PASSED test/test_nand_cmds.py::TestCliValidation::test_read_flash_nand_missing_spi_connection PASSED test/test_nand_cmds.py::TestCliValidation::test_write_flash_nand_missing_spi_connection PASSED test/test_nand_cmds.py::TestCliValidation::test_erase_flash_nand_missing_spi_connection PASSED test/test_nand_cmds.py::TestCliValidation::test_erase_region_nand_missing_spi_connection PASSED test/test_nand_cmds.py::TestCliValidation::test_verify_flash_nand_missing_spi_connection PASSED test/test_nand_cmds.py::TestCliValidation::test_read_nand_spare_missing_spi_connection PASSED test/test_stub_plugin.py::TestStubFlasherWithoutPlugin::test_v2_json_exists PASSED test/test_stub_plugin.py::TestStubFlasherWithoutPlugin::test_no_plugin_segments PASSED test/test_stub_plugin.py::TestStubFlasherWithoutPlugin::test_text_and_data_decoded PASSED test/test_stub_plugin.py::TestStubFlasherWithoutPlugin::test_data_size_unchanged_without_plugin PASSED test/test_stub_plugin.py::TestStubFlasherWithNandPlugin::test_plugin_segment_added Stub: 7.6 KB (base) + 3.8 KB (nand) PASSED test/test_stub_plugin.py::TestStubFlasherWithNandPlugin::test_plugin_segment_address Stub: 7.6 KB (base) + 3.8 KB (nand) PASSED test/test_stub_plugin.py::TestStubFlasherWithNandPlugin::test_plugin_text_4byte_aligned Stub: 7.6 KB (base) + 3.8 KB (nand) PASSED test/test_stub_plugin.py::TestStubFlasherWithNandPlugin::test_data_extended_by_bss_size Stub: 7.6 KB (base) + 3.8 KB (nand) PASSED test/test_stub_plugin.py::TestStubFlasherWithNandPlugin::test_plugin_bss_zeros Stub: 7.6 KB (base) + 3.8 KB (nand) PASSED test/test_stub_plugin.py::TestStubFlasherWithNandPlugin::test_fpt_entries_patched Stub: 7.6 KB (base) + 3.8 KB (nand) PASSED test/test_stub_plugin.py::TestStubFlasherWithNandPlugin::test_unpatched_fpt_slots_unchanged Stub: 7.6 KB (base) + 3.8 KB (nand) PASSED test/test_stub_plugin.py::TestStubFlasherWithNandPlugin::test_unknown_plugin_raises PASSED test/test_stub_plugin.py::TestStubFlasherWithNandPlugin::test_v1_stub_with_plugin_raises NOTE: Using the deprecated legacy stub flasher. Support for this stub will be removed in a future release. PASSED test/test_stub_plugin.py::TestPluginChipSupport::test_non_esp32s3_with_nand_raises[esp32.json-ESP32] PASSED test/test_stub_plugin.py::TestPluginChipSupport::test_non_esp32s3_with_nand_raises[esp32s2.json-ESP32-S2] PASSED test/test_stub_plugin.py::TestPluginChipSupport::test_non_esp32s3_with_nand_raises[esp32c3.json-ESP32-C3] PASSED test/test_stub_plugin.py::TestPluginChipSupport::test_non_esp32s3_with_nand_raises[esp32c6.json-ESP32-C6] PASSED test/test_stub_plugin.py::TestPluginChipSupport::test_non_esp32s3_with_nand_raises[esp32h2.json-ESP32-H2] PASSED test/test_stub_plugin.py::TestPluginChipSupport::test_esp32s3_nand_succeeds Stub: 7.6 KB (base) + 3.8 KB (nand) PASSED test/test_stub_plugin.py::TestPluginChipSupport::test_no_plugins_loads_fine_on_any_chip PASSED test/test_stub_plugin.py::TestCustomStubCompatibility::test_custom_stub_no_plugin_segments Uploading stub flasher... Running stub flasher... Stub flasher running. PASSED test/test_stub_plugin.py::TestNANDFailureCodeDecoding::test_program_failed_decodes_to_subclass PASSED test/test_stub_plugin.py::TestNANDFailureCodeDecoding::test_erase_failed_decodes_to_subclass PASSED test/test_stub_plugin.py::TestNANDFailureCodeDecoding::test_transport_error_stays_plain_fatalerror PASSED test/test_stub_plugin.py::TestNANDBadBlockPolicy::test_transport_error_does_not_mark_bad Erasing NAND flash region... PASSED test/test_stub_plugin.py::TestNANDBadBlockPolicy::test_chip_erase_failed_marks_bad Erasing NAND flash region... WARNING: E_FAIL reported by NAND chip at 0x00000000, marking as bad block NAND region erase complete in 0.0s: 0 blocks erased, 1 failed (marked bad). PASSED test/test_stub_plugin.py::TestNANDBadBlockPolicy::test_chip_pfail_bypasses_loader_retry PASSED test/test_stub_plugin.py::TestNANDBadBlockPolicy::test_chip_efail_bypasses_loader_retry PASSED =================================================== warnings summary =================================================== ../BUILDROOT/usr/lib/python3.15/site-packages/espefuse/cli_util.py:8 /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/lib/python3.15/site-packages/espefuse/cli_util.py:8: DeprecationWarning: 'parser.OptionParser' is deprecated and will be removed in Click 9.0. The old parser is available in 'optparse'. from click.parser import OptionParser, _unpack_args test/test_imagegen.py::TestESP32Image::test_pad_to_size /usr/lib/python3.15/site-packages/_pytest/fixtures.py:1313: PytestRemovedIn10Warning: Class-scoped fixture defined as instance method is deprecated. Instance attributes set in this fixture will NOT be visible to test methods, as each test gets a new instance while the fixture runs only once per class. Use @classmethod decorator and set attributes on cls instead. See https://docs.pytest.org/en/stable/deprecations.html#class-scoped-fixture-as-instance-method fixturefunc = resolve_fixture_function(fixturedef, request) -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html ------------- generated xml file: /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/test/report.xml -------------- ======================= 418 passed, 47 skipped, 174 deselected, 2 warnings in 334.95s (0:05:34) ======================== + RPM_EC=0 ++ jobs -p + exit 0 Processing files: esptool-5.4.0-1.fc46.noarch Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.uyJLlD + umask 022 + cd /builddir/build/BUILD/esptool-5.4.0-build + cd esptool-5.4.0 + DOCDIR=/builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/share/doc/esptool + export LC_ALL=C.UTF-8 + LC_ALL=C.UTF-8 + export DOCDIR + /usr/bin/mkdir -p /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/share/doc/esptool + cp -pr /builddir/build/BUILD/esptool-5.4.0-build/esptool-5.4.0/README.md /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT/usr/share/doc/esptool + RPM_EC=0 ++ jobs -p + exit 0 Provides: esptool = 5.4.0-1.fc46 esptool.py = 5.4.0-1.fc46 python3.15dist(esptool) = 5.4 python3dist(esptool) = 5.4 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PartialHardlinkSets) <= 4.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires: ((python3.15dist(bitstring) < 4.2 or python3.15dist(bitstring) > 4.2) with python3.15dist(bitstring) >= 3.1.6) (python3.15dist(reedsolo) < 1.8~~ with python3.15dist(reedsolo) >= 1.5.3) /usr/bin/python3 python(abi) = 3.15 python3.15dist(click) < 9~~ python3.15dist(cryptography) >= 43 python3.15dist(esp-pylib) >= 1 python3.15dist(esp-pylib[cli]) >= 1 python3.15dist(esp-pylib[ide]) >= 1 python3.15dist(esp-pylib[serial]) >= 1 python3.15dist(intelhex) python3.15dist(pyserial) >= 3.3 python3.15dist(pyyaml) >= 5.1 python3.15dist(rich-click) < 2~~ Checking for unpackaged file(s): /usr/lib/rpm/check-files /builddir/build/BUILD/esptool-5.4.0-build/BUILDROOT Wrote: /builddir/build/SRPMS/esptool-5.4.0-1.fc46.src.rpm Wrote: /builddir/build/RPMS/esptool-5.4.0-1.fc46.noarch.rpm Finish: rpmbuild esptool-5.4.0-1.fc46.src.rpm Finish: build phase for esptool-5.4.0-1.fc46.src.rpm INFO: chroot_scan: 1 files copied to /var/lib/copr-rpmbuild/results/chroot_scan INFO: /var/lib/mock/fedora-rawhide-x86_64-1790591952.012801/root/var/log/dnf5.log INFO: chroot_scan: creating tarball /var/lib/copr-rpmbuild/results/chroot_scan.tar.gz /bin/tar: Removing leading `/' from member names INFO: Done(/var/lib/copr-rpmbuild/results/esptool-5.4.0-1.fc46.src.rpm) Config(child) 5 minutes 56 seconds INFO: Results and/or logs in: /var/lib/copr-rpmbuild/results INFO: Cleaning up build root ('cleanup_on_success=True') Start: clean chroot INFO: unmounting tmpfs. Finish: clean chroot Finish: run Running RPMResults tool Package info: { "packages": [ { "name": "esptool", "epoch": null, "version": "5.4.0", "release": "1.fc46", "arch": "src" }, { "name": "esptool", "epoch": null, "version": "5.4.0", "release": "1.fc46", "arch": "noarch" } ] } RPMResults finished