$ sudo ./flashrom -VVV -p internal --ifd -i bios -r bios.bin flashrom v1.2-729-g7228ce0 on Linux 5.4.0-100-generic (x86_64) flashrom is free software, get the source code at https://flashrom.org Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns). flashrom was built with GCC 9.4.0, little endian Command line (8 args): ./flashrom -VVV -p internal --ifd -i bios -r bios.bin Initializing internal programmer /sys/class/mtd/mtd0 does not exist No coreboot table found. Using Internal DMI decoder. page_size=1000 pre-rounding: start=0x00000000000f0000, len=0x10000, end=0x0000000000100000 post-rounding: start=0x00000000000f0000, len=0x10000, end=0x0000000000100000 No DMI table found. page_size=1000 pre-rounding: start=0x00007fb0efa00000, len=0x10000, end=0x00007fb0efa10000 post-rounding: start=0x00007fb0efa00000, len=0x10000, end=0x00007fb0efa10000 Found chipset "Intel Emmitsburg Chipset SKU" with PCI ID 8086:1bca. This chipset is marked as untested. If you are using an up-to-date version of flashrom *and* were (not) able to successfully update your firmware with it, then please email a report to flashrom@flashrom.org including a verbose (-V) log. Thank you! Enabling flash write... BIOS_SPI_BC = 0x100008aa: BIOS Interface Lock-Down: enabled, Boot BIOS Straps: 0x0 (SPI) Top Swap: not enabled SPI Read Configuration: prefetching enabled, caching enabled, BIOS_CNTL = 0xab: BIOS Lock Enable: enabled, BIOS Write Enable: enabled Warning: BIOS region SMM protection is enabled! Warning: Setting BIOS Control at 0xdc from 0xaa to 0x89 failed. New value is 0xab. page_size=1000 pre-rounding: start=0x00000000fe010000, len=0x1000, end=0x00000000fe011000 post-rounding: start=0x00000000fe010000, len=0x1000, end=0x00000000fe011000 SPIBAR = 0x00007fb0efdf2000 (phys = 0xfe010000) 0x04: 0xe800 (HSFS) HSFS: FDONE=0, FCERR=0, AEL=0, SCIP=0, PRR34_LOCKDN=0, WRSDIS=1, FDOPSS=1, FDV=1, FLOCKDN=1 SPI Configuration is locked down. Reading OPCODES... done OP Type Pre-OP op[0]: 0x00, read w/o addr, none op[1]: 0x00, read w/o addr, none op[2]: 0x00, read w/o addr, none op[3]: 0x00, read w/o addr, none op[4]: 0x00, read w/o addr, none op[5]: 0x00, read w/o addr, none op[6]: 0x00, read w/o addr, none op[7]: 0x00, read w/o addr, none Pre-OP 0: 0x00, Pre-OP 1: 0x00 0x06: 0x3f00 (HSFC) HSFC: FGO=0, FCYCLE=0, WET=0, FDBC=63, SME=0 0x08: 0x03ffffc0 (FADDR) 0x0c: 0x00000300 (DLOCK) DLOCK: BMWAG_LOCKDN=0, BMRAG_LOCKDN=0, SBMWAG_LOCKDN=0, SBMRAG_LOCKDN=0, PR0_LOCKDN=1, PR1_LOCKDN=1, PR2_LOCKDN=0, PR3_LOCKDN=0, PR4_LOCKDN=0, SSEQ_LOCKDN=0 0x50: 0x00005afb (FRAP) BMWAG 0x00, BMRAG 0x00, BRWA 0x5a, BRRA 0xfb 0x54: 0x00000000 FREG0: Flash Descriptor region (0x00000000-0x00000fff) is read-only. 0x58: 0x3fff3000 FREG1: BIOS region (0x03000000-0x03ffffff) is read-write. 0x5C: 0x2fef0003 FREG2: Management Engine region (0x00003000-0x02feffff) is locked. 0x60: 0x00020001 FREG3: Gigabit Ethernet region (0x00001000-0x00002fff) is read-write. 0x64: 0x2fff2ff0 FREG4: Platform Data region (0x02ff0000-0x02ffffff) is read-write. 0x68: 0x00007fff FREG5: Device Expansion region is unused. 0x6C: 0x00007fff FREG6: BIOS2 region is unused. 0x70: 0x00007fff FREG7: unknown region is unused. 0x74: 0x00007fff FREG8: EC/BMC region is unused. 0x78: 0x00007fff FREG9: unknown region is unused. 0x7C: 0x00007fff FREG10: unknown region is unused. 0x80: 0x00007fff FREG11: unknown region is unused. Not all flash regions are freely accessible by flashrom. This is most likely due to an active ME. Please see https://flashrom.org/ME for details. 0x84: 0xb5ef3000 PR0: Warning: 0x03000000-0x035effff is read-only. 0x88: 0xbfff3700 PR1: Warning: 0x03700000-0x03ffffff is read-only. 0x8C: 0x00000000 (PR2 is unused) 0x90: 0x00000000 (PR3 is unused) 0x94: 0x00000000 (PR4 is unused) 0x98: 0x00000000 (GPR0 is unused) At least some flash regions are read protected. You have to use a flash layout and include only accessible regions. For write operations, you'll additionally need the --noverify-all switch. See manpage for more details. 0xa0: 0x80 (SSFS) SSFS: SCIP=0, FDONE=0, FCERR=0, AEL=0 0xa1: 0xfe0000 (SSFC) SSFC: SCGO=0, ACS=0, SPOP=0, COP=0, DBC=0, SME=0, SCF=6 0xa4: 0x0000 (PREOP) 0xa6: 0x0000 (OPTYPE) 0xa8: 0x00000000 (OPMENU) 0xac: 0x00000000 (OPMENU+4) 0xc4: 0xf3d82004 (LVSCC) LVSCC: BES=0x0, WG=1, WSR=0, WEWS=0, EO=0x20, VCL=1 0xc8: 0x00002000 (UVSCC) UVSCC: BES=0x0, WG=0, WSR=0, WEWS=0, EO=0x20 Reading flash descriptors mapped by the chipset via FDOC/FDOD... done. === Content Section === FLVALSIG 0x0ff0a55a FLMAP0 0x00040003 FLMAP1 0x50100608 FLMAP2 0x00000230 --- Details --- NR (Number of Regions): 16 FRBA (Flash Region Base Address): 0x040 NC (Number of Components): 1 FCBA (Flash Component Base Address): 0x030 ISL (ICH/PCH/SoC Strap Length): 80 FISBA/FPSBA (Flash ICH/PCH/SoC Strap Base Addr): 0x100 NM (Number of Masters): 6 FMBA (Flash Master Base Address): 0x080 MSL/PSL (MCH/PROC Strap Length): 2 FMSBA (Flash MCH/PROC Strap Base Address): 0x300 === Component Section === FLCOMP 0x249c30f7 FLILL 0x00000000 FLILL1 0x00000000 --- Details --- Component 1 density: 64 MB Component 2 is not used. Read Clock Frequency: 17 MHz Read ID and Status Clock Freq.: 30 MHz Write and Erase Clock Freq.: 30 MHz Fast Read is supported. Fast Read Clock Frequency: 30 MHz Dual Output Fast Read Support: disabled No forbidden opcodes. === Region Section === FLREG0 0x00000000 FLREG1 0x3fff3000 FLREG2 0x2fef0003 FLREG3 0x00020001 FLREG4 0x2fff2ff0 FLREG5 0x00007fff FLREG6 0x00007fff FLREG7 0x00007fff FLREG8 0x00007fff FLREG9 0x00007fff FLREG10 0x00007fff FLREG11 0x00007fff FLREG12 0x00007fff FLREG13 0x00007fff FLREG14 0x00007fff FLREG15 0x00007fff --- Details --- Region 0 (Descr. ) 0x00000000 - 0x00000fff Region 1 (BIOS ) 0x03000000 - 0x03ffffff Region 2 (ME ) 0x00003000 - 0x02feffff Region 3 (GbE ) 0x00001000 - 0x00002fff Region 4 (Platf. ) 0x02ff0000 - 0x02ffffff Region 5 (DevExp ) is unused. Region 6 (BIOS2 ) is unused. Region 7 (unknown) is unused. Region 8 (EC/BMC ) is unused. Region 9 (unknown) is unused. Region 10 (IE ) is unused. Region 11 (10GbE ) is unused. Region 12 (unknown) is unused. Region 13 (unknown) is unused. Region 14 (unknown) is unused. Region 15 (unknown) is unused. === Master Section === FLMSTR1 0x05a0fb00 FLMSTR2 0x00c02d88 FLMSTR3 0x00800800 FLMSTR4 0xa20a2000 FLMSTR5 0x10010000 FLMSTR6 0x00000000 --- Details --- FD BIOS ME GbE Pltf DE BIOS2 Reg7 BMC DE2 IE 10GbE OpROM Reg13 Reg14 Reg15 BIOS r rw rw rw r rw r ME r rw rw r GbE rw DE rw rw rw BMC rw IE checking for opcode 0x03 Enabling hardware sequencing because some important opcode is locked. OK. The following protocols are supported: Programmer-specific. Probing for Programmer Opaque flash chip, 0 kB: Hardware sequencing reports 1 attached SPI flash chip with a density of 65536 kB. There is only one partition containing the whole address space (0x000000 - 0x3ffffff). There are 16384 erase blocks with 4096 B each. Added layout entry 00000000 - 03ffffff named complete flash Found Programmer flash chip "Opaque flash chip" (65536 kB, Programmer-specific) mapped at physical address 0x0000000000000000. Found Programmer flash chip "Opaque flash chip" (65536 kB, Programmer-specific). page_size=1000 pre-rounding: start=0x00000000fc000000, len=0x4000000, end=0x0000000100000000 post-rounding: start=0x00000000fc000000, len=0x4000000, end=0x0000000100000000 programmer_map_flash_region: mapping Opaque flash chip from 0x00000000fc000000 to 0x00007fb0eba10000 Reading ich descriptor... Reading 4096 bytes starting at 0x000000. done. Assuming chipset 'C620 series Lewisburg'. Added layout entry 00000000 - 00000fff named fd Added layout entry 03000000 - 03ffffff named bios Added layout entry 00003000 - 02feffff named me Added layout entry 00001000 - 00002fff named gbe Added layout entry 02ff0000 - 02ffffff named pd page_size=1000 pre-rounding: start=0x00007fb0eba10000, len=0x4000000, end=0x00007fb0efa10000 post-rounding: start=0x00007fb0eba10000, len=0x4000000, end=0x00007fb0efa10000 programmer_unmap_flash_region: unmapped 0x00007fb0eba10000 Looking for region "bios"... found. Using region: "bios". page_size=1000 pre-rounding: start=0x00000000fc000000, len=0x4000000, end=0x0000000100000000 post-rounding: start=0x00000000fc000000, len=0x4000000, end=0x0000000100000000 programmer_map_flash_region: mapping Opaque flash chip from 0x00000000fc000000 to 0x00007fb0e7a0f000 Reading flash... Reading 16777216 bytes starting at 0x3000000. done. page_size=1000 pre-rounding: start=0x00007fb0e7a0f000, len=0x4000000, end=0x00007fb0eba0f000 post-rounding: start=0x00007fb0e7a0f000, len=0x4000000, end=0x00007fb0eba0f000 programmer_unmap_flash_region: unmapped 0x00007fb0e7a0f000 Restoring PCI config space for 00:1f:5 reg 0xdc