Hi Stefan,
I think I have verified that there is no issue with flashrom 0.9.3 and the PMC Pm49FL004 chip.
I had received some Pm49FL004 chips from a vendor with a WinMate I330 BIOS load (an I330 message was being displayed briefly on BIOS POST). Am I correct in assuming that some portion of the BIOS (e.g.,boot block) cannot be updated with flashrom? I never saw a checksum error after rebooting my motherboard and I know that my BIOS defaults had been updated from the factory defaults.
I have since received some more Pm49FL004 chips from the same vendor with a WinMate I370 BIOS load and flashing these chips with a different I370 image works with flashrom-0.9.3 without any issues.
I apologize for troubling you. Thanks for your help!
Shane
From: Stefan Tauner stefan.tauner@student.tuwien.ac.at To: sdbarnes@rockwellcollins.com Cc: flashrom@flashrom.org Date: 12/10/2012 11:33 AM Subject: Re: [flashrom] Erase Fails on Winmate I370 Motherboard with PMC Pm49FL004 Flash Chip
On Mon, 10 Dec 2012 10:44:01 -0500 sdbarnes@rockwellcollins.com wrote:
Despite the verification failure, the motherboard appears to function properly with the new flash image that is written. Below is the flashrom
verbose output:
flashrom v0.9.3-r1250 on Linux 2.6.32.59 (i686), built with libpci
3.1.7,
? Found chip "PMC Pm49FL004" (512 KB, LPC,FWH) at physical address 0xfff80000. ? Erasing and writing flash chip... Looking at blockwise erase function
0...
trying... 0x000000-0x000fff:S, 0x001000-0x001fff:S, 0x002000-0x002fff:S,
0x003000-0x003fff:S, 0x004000-0x004fff:S, 0x005000-0x005fff:S, 0x006000-0x006fff:S, 0x007000-0x007fff:S, 0x008000-0x008fff:S, 0x009000-0x009fff:S, 0x00a000-0x00afff:S, 0x00b000-0x00bfff:S, 0x00c000-0x00cfff:S, 0x00d000-0x00dfff:S, 0x00e000-0x00efff:S, 0x00f000-0x00ffff:S, 0x010000-0x010fff:S, 0x011000-0x011fff:S, 0x012000-0x012fff:S, 0x013000-0x013fff:S, 0x014000-0x014fff:S, 0x015000-0x015fff:S, 0x016000-0x016fff:S, 0x017000-0x017fff:S, 0x018000-0x018fff:S, 0x019000-0x019fff:S, 0x01a000-0x01afff:S, 0x01b000-0x01bfff:S, 0x01c000-0x01cfff:S, 0x01d000-0x01dfff:S, 0x01e000-0x01efff:S, 0x01f000-0x01ffff:S, 0x020000-0x020fff:S, 0x021000-0x021fff:S, 0x022000-0x022fff:S, 0x023000-0x023fff:S, 0x024000-0x024fff:S, 0x025000-0x025fff:S, 0x026000-0x026fff:S, 0x027000-0x027fff:S, 0x028000-0x028fff:S, 0x029000-0x029fff:S, 0x02a000-0x02afff:S, 0x02b000-0x02bfff:S, 0x02c000-0x02cfff:S, 0x02d000-0x02dfff:S, 0x02e000-0x02efff:S, 0x02f000-0x02ffff:S, 0x030000-0x030fff:S, 0x031000-0x031fff:S, 0x032000-0x032fff:S, 0x033000-0x033fff:S, 0x034000-0x034fff:S, 0x035000-0x035fff:S, 0x036000-0x036fff:S, 0x037000-0x037fff:S, 0x038000-0x038fff:S, 0x039000-0x039fff:S, 0x03a000-0x03afff:S, 0x03b000-0x03bfff:S, 0x03c000-0x03cfff:S, 0x03d000-0x03dfff:S, 0x03e000-0x03efff:S, 0x03f000-0x03ffff:S, 0x040000-0x040fff:S, 0x041000-0x041fff:S, 0x042000-0x042fff:S, 0x043000-0x043fff:S, 0x044000-0x044fff:S, 0x045000-0x045fff:S, 0x046000-0x046fff:S, 0x047000-0x047fff:S, 0x048000-0x048fff:S, 0x049000-0x049fff:S, 0x04a000-0x04afff:S, 0x04b000-0x04bfff:S, 0x04c000-0x04cfff:S, 0x04d000-0x04dfff:S, 0x04e000-0x04efff:S, 0x04f000-0x04ffff:S, 0x050000-0x050fff:S, 0x051000-0x051fff:S, 0x052000-0x052fff:S, 0x053000-0x053fff:S, 0x054000-0x054fff:S, 0x055000-0x055fff:S, 0x056000-0x056fff:S, 0x057000-0x057fff:S, 0x058000-0x058fff:S, 0x059000-0x059fff:S, 0x05a000-0x05afff:S, 0x05b000-0x05bfff:S, 0x05c000-0x05cfff:S, 0x05d000-0x05dfff:S, 0x05e000-0x05efff:S, 0x05f000-0x05ffff:S, 0x060000-0x060fff:S, 0x061000-0x061fff:S, 0x062000-0x062fff:S, 0x063000-0x063fff:S, 0x064000-0x064fff:S, 0x065000-0x065fff:S, 0x066000-0x066fff:S, 0x067000-0x067fff:S, 0x068000-0x068fff:S, 0x069000-0x069fff:S, 0x06a000-0x06afff:S, 0x06b000-0x06bfff:S, 0x06c000-0x06cfff:S, 0x06d000-0x06dfff:S, 0x06e000-0x06efff:S, 0x06f000-0x06ffff:S, 0x070000-0x070fff:EERASE FAILED at 0x00070002! Expected=0xff, Read=0x00, failed byte count from 0x00070000-0x00070fff: 0xf70 ERASE FAILED!
Looking at blockwise erase function 1... trying... 0x000000-0x00ffff:S, 0x010000-0x01ffff:S, 0x020000-0x02ffff:S, 0x030000-0x03ffff:S, 0x040000-0x04ffff:S, 0x050000-0x05ffff:S, 0x060000-0x06ffff:S, 0x070000-0x07ffff:EERASE FAILED at 0x00070002! Expected=0xff, Read=0x00,
failed byte count from 0x00070000-0x0007ffff: 0xfd35 ERASE FAILED!
Looking at blockwise erase function 2... trying... 0x000000-0x07ffff:EERASE FAILED at 0x00000000! Expected=0xff, Read=0x49,
failed byte count from 0x00000000-0x0007ffff: 0x53f0b ERASE FAILED!
Looking at blockwise erase function 3... not defined. trying...
Done. Verifying flash... VERIFY FAILED at 0x0007010b! Expected=0x7c,
Read=0x70,
failed byte count from 0x00000000-0x0007ffff: 0x9f2 Your flash chip is in an unknown state. Get help on IRC at irc.freenode.net (channel #flashrom) or mail flashrom@flashrom.org with FAILED: your board name in the subject line!
-------------------------------------------------------------------------------
DO NOT REBOOT OR POWEROFF! Restoring PCI config space for 00:1f:0 reg 0xdc
i am not entirely sure, but i think 0.9.3 can not distinguish between an unknown state and the old, safe state the flash was before flashrom tried to erase. in your case it would be possible then that the whole flash chip is write protected and nothing changed/was deleted at all, which would explain the bootable condition of the system (i.e. you were lucky). if that is true we will need to add a small routine that disables the write protection on that mainboard (if there is no jumper oder bios option to do so). please send us the output of 'lspci -nn', 'lspci -nnvvvxxx', 'superiotool -deV' (run all commands as root), thanks. if not too much of a hassle you should also upgrade flashrom before further attempts.
JFYI: your first message was stuck in the moderation queue because it was sent before you subscribed.