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