Hi Ramakrishna,
is this a production system you have to recover now, or can you reflash externally if something goes wrong?
On 17.06.2010 16:26, Ramakrishna.Koduri@emerson.com wrote:
I have tried upgrading BIOS image using flashrom v0.9.2-r1001. Surprisingly it failed in this attempt.
I did many times upgrade of BIOS using flashrom utility of above said version. Earlier it was done by internal programmer with erase function-2.
[root@localhost images]# flashrom -V -w atca-7360-cpu-v1.1.1.rom flashrom v0.9.2-r1001 on Linux 2.6.18-194.el5xen (x86_64), built with libpci 2.2.3, GCC 4.1.2 20080704 (Red Hat 4.1.2-48) Initializing internal programmer No coreboot table found. DMI string system-manufacturer: "Emerson" DMI string system-product-name: "PCA,ATCA-7360/R1.0/6E " DMI string system-version: "R1.0 " DMI string baseboard-manufacturer: "Emerson" DMI string baseboard-product-name: "ATCA-7360/7365" DMI string baseboard-version: "0106865F01A " DMI string chassis-type: "" Found chipset "Intel ICH10R", enabling flash write... Maximum FWH chip size: 0x380000 bytes BIOS Lock Enable: disabled, BIOS Write Enable: enabled, BIOS_CNTL is 0x9
Root Complex Register Block address = 0xfed1c000 GCS = 0x460: BIOS Interface Lock-Down: disabled, BOOT BIOS Straps: 0x1 (SPI) Top Swap : not enabled SPIBAR = 0xfed1c000 + 0x3800 0x04: 0x6008 (HSFS) FLOCKDN 0, FDV 1, FDOPSS 1, SCIP 0, BERASE 1, AEL 0, FCERR 0, FDONE 0 0x50: 0x00001b1b (FRAP) BMWAG 0, BMRAG 0, BRWA 27, BRRA 27 0x54: 0x00010000 (FREG0) 0x58: 0x03ff0080 (FREG1) 0x5C: 0x00001fff (FREG2) 0x60: 0x00030002 (FREG3) 0x64: 0x007f0004 (FREG4) 0x74: 0x00000000 (PR0) 0x78: 0x00000000 (PR1) 0x7C: 0x00000000 (PR2) 0x80: 0x00000000 (PR3) 0x84: 0x00000000 (PR4) 0x90: 0x007f100c (SSFS, SSFC) 0x94: 0x0006 (PREOP) 0x96: 0x463b (OPTYPE) 0x98: 0x05d80302 (OPMENU) 0x9C: 0xc79f0190 (OPMENU+4) 0xA0: 0x00000000 (BBAR) 0xB0: 0x00004000 (FDOC) Programming OPCODES... program_opcodes: preop=5006 optype=463b opmenu=05d80302c79f0190 done SPI Read Configuration: prefetching enabled, caching enabled, OK. This chipset supports the following protocols: FWH,SPI. Calibrating delay loop... 1062M loops per second, 10 myus = 12 us, 100 myus = 101 us, 1000 myus = 999 us, 10000 myus = 10005 us, OK. Probing for Atmel AT25DF321, 4096 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Chip status register is 10 Found chip "Atmel AT25DF321" (4096 KB, SPI) at physical address 0xffc00000. Flash image seems to be a legacy BIOS. Disabling checks. Writing flash chip... Some block protection in effect, disabling Erasing flash before programming... Erasing flash chip... Looking at blockwise erase function 0... trying... 0x000000-0x000fff, ich_spi_send_multicommand: FIXME: Add on-the-fly reprogramming of the chipset opcode list. Invalid OPCODE 0x20 spi_block_erase_20 failed during command execution at address 0x0
Looking at blockwise erase function 1... trying... 0x000000-0x007fff, ich_spi_send_multicommand: FIXME: Add on-the-fly reprogramming of the chipset opcode list. Invalid OPCODE 0x52 spi_block_erase_52 failed during command execution at address 0x0
Looking at blockwise erase function 2... trying... 0x000000-0x00ffff, 0x010000-0x01ffff, 0x020000-0x02ffff, 0x030000-0x03ffff, 0x040000-0x04ffff, 0x050000-0x05ffff, 0x060000-0x06ffff, 0x070000-0x07ffff, 0x080000-0x08ffff, 0x090000-0x09ffff, 0x0a0000-0x0affff, ERASE FAILED at 0x000a0800! Expected=0xff, Read=0x1f,Transaction error! run OPCODE 0x03 failed Transaction error! [...] run OPCODE 0x03 failed Transaction error!
Ah yes. This means your current BIOS version somehow blocks reading of some regions. You could try flashrom r1016 or later which has improved region protection handling.
failed byte count from 0x000a0000-0x000affff: 0x1a ERASE FAILED!
Looking at blockwise erase function 3... trying... 0x000000-0x3fffff, Some block protection in effect, disabling ich_spi_send_multicommand: FIXME: Add on-the-fly reprogramming of the chipset opcode list. Invalid OPCODE 0x60 spi_chip_erase_60 failed during command execution
Looking at blockwise erase function 4... trying... 0x000000-0x3fffff, Some block protection in effect, disabling
It would be interesting to check if reading the complete chip works. I think it probably won't work. Please report back with the verbose results of a pure read test.
Regards, Carl-Daniel
Hi Carl-Daniel, Thanks a lot for the response.
Please see my response inline.
With thanks & regards, Ramakrishna Kvv Embedded Computing
Emerson Network Power T +9140 66747045 M + 919246659136 ramakrishna.koduri@emerson.com
www.emersonnetworkpower.com/embeddedcomputing
-----Original Message----- From: Carl-Daniel Hailfinger [mailto:c-d.hailfinger.devel.2006@gmx.net] Sent: Friday, June 18, 2010 5:27 AM To: Ramakrishna, Koduri [NETPWR/HYDE] Cc: flashrom@flashrom.org Subject: Re: [flashrom] Flash erasing failed mid way on Atmel AT25DF321 flash chip
Hi Ramakrishna,
is this a production system you have to recover now, or can you reflash externally if something goes wrong? --> Yes. It is the production that I need to recover. This failure wiped out the existing BIOS on the flash. I am exploring to see any other option other than JTAG interface for bringing back.
Flashrom worked many times for this. I don't know somehow this got failed in this attempt.
On 17.06.2010 16:26, Ramakrishna.Koduri@emerson.com wrote:
I have tried upgrading BIOS image using flashrom v0.9.2-r1001. Surprisingly it failed in this attempt.
I did many times upgrade of BIOS using flashrom utility of above said version. Earlier it was done by internal programmer with erase function-2.
[root@localhost images]# flashrom -V -w atca-7360-cpu-v1.1.1.rom flashrom v0.9.2-r1001 on Linux 2.6.18-194.el5xen (x86_64), built with libpci 2.2.3, GCC 4.1.2 20080704 (Red Hat 4.1.2-48) Initializing internal programmer No coreboot table found. DMI string system-manufacturer: "Emerson" DMI string system-product-name: "PCA,ATCA-7360/R1.0/6E " DMI string system-version: "R1.0 " DMI string baseboard-manufacturer: "Emerson" DMI string baseboard-product-name: "ATCA-7360/7365" DMI string baseboard-version: "0106865F01A " DMI string chassis-type: "" Found chipset "Intel ICH10R", enabling flash write... Maximum FWH chip size: 0x380000 bytes BIOS Lock Enable: disabled, BIOS Write Enable: enabled, BIOS_CNTL is 0x9
Root Complex Register Block address = 0xfed1c000 GCS = 0x460: BIOS Interface Lock-Down: disabled, BOOT BIOS Straps: 0x1 (SPI) Top Swap : not enabled SPIBAR = 0xfed1c000 + 0x3800 0x04: 0x6008 (HSFS) FLOCKDN 0, FDV 1, FDOPSS 1, SCIP 0, BERASE 1, AEL 0, FCERR 0, FDONE 0 0x50: 0x00001b1b (FRAP) BMWAG 0, BMRAG 0, BRWA 27, BRRA 27 0x54: 0x00010000 (FREG0) 0x58: 0x03ff0080 (FREG1) 0x5C: 0x00001fff (FREG2) 0x60: 0x00030002 (FREG3) 0x64: 0x007f0004 (FREG4) 0x74: 0x00000000 (PR0) 0x78: 0x00000000 (PR1) 0x7C: 0x00000000 (PR2) 0x80: 0x00000000 (PR3) 0x84: 0x00000000 (PR4) 0x90: 0x007f100c (SSFS, SSFC) 0x94: 0x0006 (PREOP) 0x96: 0x463b (OPTYPE) 0x98: 0x05d80302 (OPMENU) 0x9C: 0xc79f0190 (OPMENU+4) 0xA0: 0x00000000 (BBAR) 0xB0: 0x00004000 (FDOC) Programming OPCODES... program_opcodes: preop=5006 optype=463b opmenu=05d80302c79f0190 done SPI Read Configuration: prefetching enabled, caching enabled, OK. This chipset supports the following protocols: FWH,SPI. Calibrating delay loop... 1062M loops per second, 10 myus = 12 us, 100
myus = 101 us, 1000 myus = 999 us, 10000 myus = 10005 us, OK. Probing for Atmel AT25DF321, 4096 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Chip status register is 10 Found chip "Atmel AT25DF321" (4096 KB, SPI) at physical address 0xffc00000. Flash image seems to be a legacy BIOS. Disabling checks. Writing flash chip... Some block protection in effect, disabling Erasing flash before programming... Erasing flash chip... Looking at blockwise erase function 0... trying... 0x000000-0x000fff, ich_spi_send_multicommand: FIXME: Add on-the-fly reprogramming of the chipset opcode list. Invalid OPCODE 0x20 spi_block_erase_20 failed during command execution at address 0x0
Looking at blockwise erase function 1... trying... 0x000000-0x007fff, ich_spi_send_multicommand: FIXME: Add on-the-fly reprogramming of the chipset opcode list. Invalid OPCODE 0x52 spi_block_erase_52 failed during command execution at address 0x0
Looking at blockwise erase function 2... trying... 0x000000-0x00ffff, 0x010000-0x01ffff, 0x020000-0x02ffff, 0x030000-0x03ffff, 0x040000-0x04ffff, 0x050000-0x05ffff, 0x060000-0x06ffff, 0x070000-0x07ffff, 0x080000-0x08ffff, 0x090000-0x09ffff, 0x0a0000-0x0affff, ERASE FAILED at 0x000a0800! Expected=0xff, Read=0x1f,Transaction error! run OPCODE 0x03 failed Transaction error! [...] run OPCODE 0x03 failed Transaction error!
Ah yes. This means your current BIOS version somehow blocks reading of some regions. You could try flashrom r1016 or later which has improved region protection handling. --> I am surprised to see why it should block some regions. May be once the board is UP, I shall give a try using flashrom r1016 version.
failed byte count from 0x000a0000-0x000affff: 0x1a ERASE FAILED!
Looking at blockwise erase function 3... trying... 0x000000-0x3fffff, Some block protection in effect, disabling ich_spi_send_multicommand: FIXME: Add on-the-fly reprogramming of the chipset opcode list. Invalid OPCODE 0x60 spi_chip_erase_60 failed during command execution
Looking at blockwise erase function 4... trying... 0x000000-0x3fffff, Some block protection in effect, disabling
It would be interesting to check if reading the complete chip works. I think it probably won't work. Please report back with the verbose results of a pure read test. --> The current state of the system is not usable any more due to boardreset immediately after the flashrom failed. It didn't give me any chance to repair system back.
I have the traces of previously successful write operation. Please find the same here.
======================================================================== =================================== [root@localhost flashrom-0.9.2]# ./flashrom -V -l layout -w atca7360-bios.img -i part_2000_4000.log flashrom v0.9.2-r1001 on Linux 2.6.18-194.el5PAE (i686), built with libpci 2.2.3, GCC 4.1.2 20080704 (Red Hat 4.1.2-48) flashrom is free software, get the source code at http://www.flashrom.org
romlayout 00002000 - 00003fff named /mnt/root/ramki/flashrom-0.9.2/part_2000_4000.log Looking for "part_2000_4000.log"... not found. Initializing internal programmer No coreboot table found. DMI string system-manufacturer: "Emerson" DMI string system-product-name: "PCA,ATCA-7360/R1.0/6E " DMI string system-version: "R1.0 " DMI string baseboard-manufacturer: "Emerson" DMI string baseboard-product-name: "ATCA-7360/7365" DMI string baseboard-version: "0106865F01A " DMI string chassis-type: "" Found chipset "Intel ICH10R", enabling flash write... 0x7fffffff/0x7fffffff FWH IDSEL: 0x0 0x7fffffff/0x7fffffff FWH IDSEL: 0x0 0x7fffffff/0x7fffffff FWH IDSEL: 0x0 0x7fffffff/0x7fffffff FWH IDSEL: 0x0 0x7fffffff/0x7fffffff FWH IDSEL: 0x0 0x7fffffff/0x7fffffff FWH IDSEL: 0x0 0x7fffffff/0x7fffffff FWH IDSEL: 0x0 0x7fffffff/0x7fffffff FWH IDSEL: 0x0 0x7fffffff/0x7fffffff FWH IDSEL: 0x4 0x7fffffff/0x7fffffff FWH IDSEL: 0x5 0x7fffffff/0x7fffffff FWH IDSEL: 0x6 0x7fffffff/0x7fffffff FWH IDSEL: 0x7 0x7fffffff/0x7fffffff FWH decode enabled 0x7fffffff/0x7fffffff FWH decode enabled 0x7fffffff/0x7fffffff FWH decode enabled 0x7fffffff/0x7fffffff FWH decode enabled 0x7fffffff/0x7fffffff FWH decode enabled 0x7fffffff/0x7fffffff FWH decode enabled 0x7fffffff/0x7fffffff FWH decode enabled 0x7fffffff/0x7fffffff FWH decode disabled 0x7fffffff/0x7fffffff FWH decode disabled 0x7fffffff/0x7fffffff FWH decode disabled 0x7fffffff/0x7fffffff FWH decode disabled 0x7fffffff/0x7fffffff FWH decode disabled Maximum FWH chip size: 0x380000 bytes BIOS Lock Enable: disabled, BIOS Write Enable: enabled, BIOS_CNTL is 0x9
Root Complex Register Block address = 0xfed1c000 GCS = 0x460: BIOS Interface Lock-Down: disabled, BOOT BIOS Straps: 0x1 (SPI) Top Swap : not enabled SPIBAR = 0xfed1c000 + 0x3800 0x04: 0x6008 (HSFS) FLOCKDN 0, FDV 1, FDOPSS 1, SCIP 0, BERASE 1, AEL 0, FCERR 0, FDONE 0 0x50: 0x00001b1b (FRAP) BMWAG 0, BMRAG 0, BRWA 27, BRRA 27 0x54: 0x00010000 (FREG0) 0x58: 0x03ff0080 (FREG1) 0x5C: 0x00001fff (FREG2) 0x60: 0x00030002 (FREG3) 0x64: 0x007f0004 (FREG4) 0x74: 0x00000000 (PR0) 0x78: 0x00000000 (PR1) 0x7C: 0x00000000 (PR2) 0x80: 0x00000000 (PR3) 0x84: 0x00000000 (PR4) 0x90: 0x007f100c (SSFS, SSFC) 0x94: 0x0006 (PREOP) 0x96: 0x463b (OPTYPE) 0x98: 0x05d80302 (OPMENU) 0x9C: 0xc79f0190 (OPMENU+4) 0xA0: 0x00000000 (BBAR) 0xB0: 0x00004000 (FDOC) Programming OPCODES... program_opcodes: preop=5006 optype=463b opmenu=05d80302c79f0190 done SPI Read Configuration: prefetching enabled, caching enabled, OK. This chipset supports the following protocols: FWH,SPI. Calibrating delay loop... 1091M loops per second, 10 myus = 10 us, 100 myus = 103 us, 1000 myus = 1029 us, 10000 myus = 10073 us, OK. Probing for AMD Am29F010A/B, 128 KB: skipped. Probing for AMD Am29F002(N)BB, 256 KB: skipped. Probing for AMD Am29F002(N)BT, 256 KB: skipped. Probing for AMD Am29F016D, 2048 KB: skipped. Probing for AMD Am29F040B, 512 KB: skipped. Probing for AMD Am29F080B, 1024 KB: skipped. Probing for AMD Am29LV040B, 512 KB: skipped. Probing for AMD Am29LV081B, 1024 KB: skipped. Probing for ASD AE49F2008, 256 KB: skipped. Probing for Atmel AT25DF021, 256 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Atmel AT25DF041A, 512 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Atmel AT25DF081, 1024 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Atmel AT25DF161, 2048 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Atmel AT25DF321, 4096 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Chip status register is 10 Found chip "Atmel AT25DF321" (4096 KB, SPI) at physical address 0xffc00000. Probing for Atmel AT25DF321A, 4096 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Atmel AT25DF641, 8192 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Atmel AT25F512B, 64 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Atmel AT25FS010, 128 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Atmel AT25FS040, 512 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Atmel AT26DF041, 512 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Atmel AT26DF081A, 1024 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Atmel AT26DF161, 2048 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Atmel AT26DF161A, 2048 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Atmel AT26F004, 512 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Atmel AT29C512, 64 KB: skipped. Probing for Atmel AT29C010A, 128 KB: skipped. Probing for Atmel AT29C020, 256 KB: skipped. Probing for Atmel AT29C040A, 512 KB: skipped. Probing for Atmel AT45CS1282, 16896 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Atmel AT45DB011D, 128 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Atmel AT45DB021D, 256 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Atmel AT45DB041D, 512 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Atmel AT45DB081D, 1024 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Atmel AT45DB161D, 2048 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Atmel AT45DB321C, 4224 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Atmel AT45DB321D, 4096 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Atmel AT45DB642D, 8192 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Atmel AT49BV512, 64 KB: skipped. Probing for Atmel AT49F002(N), 256 KB: skipped. Probing for Atmel AT49F002(N)T, 256 KB: skipped. Probing for AMIC A25L40PT, 512 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for AMIC A25L40PU, 512 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for AMIC A29002B, 256 KB: skipped. Probing for AMIC A29002T, 256 KB: skipped. Probing for AMIC A29040B, 512 KB: skipped. Probing for AMIC A49LF040A, 512 KB: skipped. Probing for EMST F49B002UA, 256 KB: skipped. Probing for Eon EN25B05, 64 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Eon EN25B05T, 64 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Eon EN25B10, 128 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Eon EN25B10T, 128 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Eon EN25B20, 256 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Eon EN25B20T, 256 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Eon EN25B40, 512 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Eon EN25B40T, 512 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Eon EN25B80, 1024 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Eon EN25B80T, 1024 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Eon EN25B16, 2048 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Eon EN25B16T, 2048 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Eon EN25B32, 4096 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Eon EN25B32T, 4096 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Eon EN25B64, 8192 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Eon EN25B64T, 8192 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Eon EN25D16, 2048 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Eon EN25F05, 64 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Eon EN25F10, 128 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Eon EN25F20, 256 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Eon EN25F40, 512 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Eon EN25F80, 1024 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Eon EN25F16, 2048 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Eon EN25F32, 4096 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Eon EN29F010, 128 KB: skipped. Probing for EON EN29F002(A)(N)B, 256 KB: skipped. Probing for EON EN29F002(A)(N)T, 256 KB: skipped. Probing for Fujitsu MBM29F004BC, 512 KB: skipped. Probing for Fujitsu MBM29F004TC, 512 KB: skipped. Probing for Fujitsu MBM29F400BC, 512 KB: skipped. Probing for Fujitsu MBM29F400TC, 512 KB: skipped. Probing for Intel 28F001BX-B, 128 KB: skipped. Probing for Intel 28F001BX-T, 128 KB: skipped. Probing for Intel 28F004S5, 512 KB: skipped. Probing for Intel 28F004BV/BE-B, 512 KB: skipped. Probing for Intel 28F004BV/BE-T, 512 KB: skipped. Probing for Intel 28F400BV/CV/CE-B, 512 KB: skipped. Probing for Intel 28F400BV/CV/CE-T, 512 KB: skipped. Probing for Intel 82802AB, 512 KB: probe_82802ab: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content Probing for Intel 82802AC, 1024 KB: probe_82802ab: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Macronix MX25L512, 64 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Macronix MX25L1005, 128 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Macronix MX25L2005, 256 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Macronix MX25L4005, 512 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Macronix MX25L8005, 1024 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Macronix MX25L1605, 2048 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Macronix MX25L1635D, 2048 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Macronix MX25L3205, 4096 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Macronix MX25L3235D, 4096 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Macronix MX25L6405, 8192 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Macronix MX25L12805, 16384 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Macronix MX29F001B, 128 KB: skipped. Probing for Macronix MX29F001T, 128 KB: skipped. Probing for Macronix MX29F002B, 256 KB: skipped. Probing for Macronix MX29F002T, 256 KB: skipped. Probing for Macronix MX29LV040, 512 KB: skipped. Probing for Numonyx M25PE10, 128 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Numonyx M25PE20, 256 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Numonyx M25PE40, 512 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Numonyx M25PE80, 1024 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Numonyx M25PE16, 2048 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for PMC Pm25LV010, 128 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for PMC Pm25LV016B, 2048 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for PMC Pm25LV020, 256 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for PMC Pm25LV040, 512 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for PMC Pm25LV080B, 1024 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for PMC Pm25LV512, 64 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for PMC Pm29F002T, 256 KB: skipped. Probing for PMC Pm29F002B, 256 KB: skipped. Probing for PMC Pm39LV010, 128 KB: skipped. Probing for PMC Pm39LV020, 256 KB: skipped. Probing for PMC Pm39LV040, 512 KB: skipped. Probing for PMC Pm49FL002, 256 KB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for PMC Pm49FL004, 512 KB: probe_jedec_common: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content Probing for Sanyo LF25FW203A, 2048 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Sharp LHF00L04, 1024 KB: probe_82802ab: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Spansion S25FL008A, 1024 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Spansion S25FL016A, 2048 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for SST SST25VF016B, 2048 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for SST SST25VF032B, 4096 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for SST SST25VF040.REMS, 512 KB: probe_spi_rems: id1 0x0, id2 0x0 Probing for SST SST25VF040B, 512 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for SST SST25VF040B.REMS, 512 KB: probe_spi_rems: id1 0x0, id2 0x0 Probing for SST SST25VF080B, 1024 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for SST SST28SF040A, 512 KB: skipped. Probing for SST SST29EE010, 128 KB: skipped. Probing for SST SST29LE010, 128 KB: skipped. Probing for SST SST29EE020A, 256 KB: skipped. Probing for SST SST29LE020, 256 KB: skipped. Probing for SST SST39SF512, 64 KB: skipped. Probing for SST SST39SF010A, 128 KB: skipped. Probing for SST SST39SF020A, 256 KB: skipped. Probing for SST SST39SF040, 512 KB: skipped. Probing for SST SST39VF512, 64 KB: skipped. Probing for SST SST39VF010, 128 KB: skipped. Probing for SST SST39VF020, 256 KB: skipped. Probing for SST SST39VF040, 512 KB: skipped. Probing for SST SST39VF080, 1024 KB: skipped. Probing for SST SST49LF002A/B, 256 KB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for SST SST49LF003A/B, 384 KB: probe_jedec_common: id1 0x40, id2 0x11, id1 is normal flash content, id2 is normal flash content Probing for SST SST49LF004A/B, 512 KB: probe_jedec_common: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content Probing for SST SST49LF004C, 512 KB: probe_82802ab: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content Probing for SST SST49LF008A, 1024 KB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for SST SST49LF008C, 1024 KB: probe_82802ab: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for SST SST49LF016C, 2048 KB: probe_82802ab: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for SST SST49LF020, 256 KB: skipped. Probing for SST SST49LF020A, 256 KB: skipped. Probing for SST SST49LF040, 512 KB: skipped. Probing for SST SST49LF040B, 512 KB: skipped. Probing for SST SST49LF080A, 1024 KB: skipped. Probing for SST SST49LF160C, 2048 KB: skipped. Probing for ST M25P05-A, 64 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for ST M25P05.RES, 64 KB: Ignoring RES in favour of RDID. Probing for ST M25P10-A, 128 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for ST M25P10.RES, 128 KB: Ignoring RES in favour of RDID. Probing for ST M25P20, 256 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for ST M25P40, 512 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for ST M25P40-old, 512 KB: Ignoring RES in favour of RDID. Probing for ST M25P80, 1024 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for ST M25P16, 2048 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for ST M25P32, 4096 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for ST M25P64, 8192 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for ST M25P128, 16384 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for ST M29F002B, 256 KB: skipped. Probing for ST M29F002T/NT, 256 KB: skipped. Probing for ST M29F040B, 512 KB: skipped. Probing for ST M29F400BT, 512 KB: skipped. Probing for ST M29W010B, 128 KB: skipped. Probing for ST M29W040B, 512 KB: skipped. Probing for ST M29W512B, 64 KB: skipped. Probing for ST M50FLW040A, 512 KB: probe_82802ab: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content Probing for ST M50FLW040B, 512 KB: probe_82802ab: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content Probing for ST M50FLW080A, 1024 KB: probe_82802ab: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for ST M50FLW080B, 1024 KB: probe_82802ab: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for ST M50FW002, 256 KB: probe_82802ab: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for ST M50FW016, 2048 KB: probe_82802ab: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for ST M50FW040, 512 KB: probe_82802ab: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content Probing for ST M50FW080, 1024 KB: probe_82802ab: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for ST M50LPW116, 2048 KB: skipped. Probing for SyncMOS S29C31004T, 512 KB: skipped. Probing for SyncMOS S29C51001T, 128 KB: skipped. Probing for SyncMOS S29C51002T, 256 KB: skipped. Probing for SyncMOS S29C51004T, 512 KB: skipped. Probing for TI TMS29F002RB, 256 KB: skipped. Probing for TI TMS29F002RT, 256 KB: skipped. Probing for Winbond W25Q80, 1024 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Winbond W25Q16, 2048 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Winbond W25Q32, 4096 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Winbond W25x10, 128 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Winbond W25x20, 256 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Winbond W25x40, 512 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Winbond W25x80, 1024 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Winbond W25x16, 2048 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Winbond W25x32, 4096 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Winbond W25x64, 8192 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Winbond W29C011, 128 KB: skipped. Probing for Winbond W29C020C, 256 KB: skipped. Probing for Winbond W29C040P, 512 KB: skipped. Probing for Winbond W29EE011, 128 KB: skipped. Probing for Winbond W39V040A, 512 KB: skipped. Probing for Winbond W39V040B, 512 KB: skipped. Probing for Winbond W39V040C, 512 KB: skipped. Probing for Winbond W39V040FA, 512 KB: probe_jedec_common: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content Probing for Winbond W39V080A, 1024 KB: skipped. Probing for Winbond W49F002U, 256 KB: skipped. Probing for Winbond W49V002A, 256 KB: skipped. Probing for Winbond W49V002FA, 256 KB: probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Winbond W39V080FA, 1024 KB: Chip lacks correct probe timing information, using default 10mS/40uS. probe_jedec_common: id1 0xff, id2 0xff, id1 parity violation, id1 is normal flash content, id2 is normal flash content Probing for Winbond W39V080FA (dual mode), 512 KB: Chip lacks correct probe timing information, using default 10mS/40uS. probe_jedec_common: id1 0xea, id2 0xd0, id1 is normal flash content, id2 is normal flash content Probing for Atmel unknown Atmel SPI chip, 0 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for EON unknown EON SPI chip, 0 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Macronix unknown Macronix SPI chip, 0 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for PMC unknown PMC SPI chip, 0 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for SST unknown SST SPI chip, 0 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for ST unknown ST SPI chip, 0 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Sanyo unknown Sanyo SPI chip, 0 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Generic unknown SPI chip (RDID), 0 KB: probe_spi_rdid_generic: id1 0x1f, id2 0x4700 Probing for Generic unknown SPI chip (REMS), 0 KB: probe_spi_rems: id1 0x0, id2 0x0 === This flash part has status UNTESTED for operations: ERASE The test status of this chip may have been updated in the latest development version of flashrom. If you are running the latest development version, please email a report to flashrom@flashrom.org if any of the above operations work correctly for you with this flash part. Please include the flashrom output with the additional -V option for all operations you tested (-V, -Vr, -Vw, -VE), and mention which mainboard or programmer you tested. Thanks for your help! === Flash image seems to be a legacy BIOS. Disabling checks. Writing flash chip... Some block protection in effect, disabling Erasing flash before programming... Erasing flash chip... Looking at blockwise erase function 0... trying... 0x000000-0x000fff, ich_spi_send_multicommand: FIXME: Add on-the-fly reprogramming of the chipset opcode list. Invalid OPCODE 0x20 spi_block_erase_20 failed during command execution at address 0x0
Looking at blockwise erase function 1... trying... 0x000000-0x007fff, ich_spi_send_multicommand: FIXME: Add on-the-fly reprogramming of the chipset opcode list. Invalid OPCODE 0x52 spi_block_erase_52 failed during command execution at address 0x0
Looking at blockwise erase function 2... trying... 0x000000-0x00ffff, 0x010000-0x01ffff, 0x020000-0x02ffff, 0x030000-0x03ffff, 0x040000-0x04ffff, 0x050000-0x05ffff, 0x060000-0x06ffff, 0x070000-0x07ffff, 0x080000-0x08ffff, 0x090000-0x09ffff, 0x0a0000-0x0affff, 0x0b0000-0x0bffff, 0x0c0000-0x0cffff, 0x0d0000-0x0dffff, 0x0e0000-0x0effff, 0x0f0000-0x0fffff, 0x100000-0x10ffff, 0x110000-0x11ffff, 0x120000-0x12ffff, 0x130000-0x13ffff, 0x140000-0x14ffff, 0x150000-0x15ffff, 0x160000-0x16ffff, 0x170000-0x17ffff, 0x180000-0x18ffff, 0x190000-0x19ffff, 0x1a0000-0x1affff, 0x1b0000-0x1bffff, 0x1c0000-0x1cffff, 0x1d0000-0x1dffff, 0x1e0000-0x1effff, 0x1f0000-0x1fffff, 0x200000-0x20ffff, 0x210000-0x21ffff, 0x220000-0x22ffff, 0x230000-0x23ffff, 0x240000-0x24ffff, 0x250000-0x25ffff, 0x260000-0x26ffff, 0x270000-0x27ffff, 0x280000-0x28ffff, 0x290000-0x29ffff, 0x2a0000-0x2affff, 0x2b0000-0x2bffff, 0x2c0000-0x2cffff, 0x2d0000-0x2dffff, 0x2e0000-0x2effff, 0x2f0000-0x2fffff, 0x300000-0x30ffff, 0x310000-0x31ffff, 0x320000-0x32ffff, 0x330000-0x33ffff, 0x340000-0x34ffff, 0x350000-0x35ffff, 0x360000-0x36ffff, 0x370000-0x37ffff, 0x380000-0x38ffff, 0x390000-0x39ffff, 0x3a0000-0x3affff, 0x3b0000-0x3bffff, 0x3c0000-0x3cffff, 0x3d0000-0x3dffff, 0x3e0000-0x3effff, 0x3f0000-0x3fffff, SUCCESS. done. Programming page:
COMPLETE. Verifying flash... VERIFIED.
======================================================================== ===================================