[flashrom] SST49LF080A - ERASE FAILED at 0x000a3d28!

Carl-Daniel Hailfinger c-d.hailfinger.devel.2006 at gmx.net
Thu Nov 3 23:22:02 CET 2011

Hi Rudolf,

Am 30.10.2011 23:36 schrieb Rudolf Marek:
> It worked with this chip some time ago (a year). Erasing with -E also
> fails but the next one will succeed. If I write back content again and
> do it all again I can reproduce this. It seems like a timing issue.
> Log attached.
> Changing probe_timing to 10000 is not helping. Tried with latest
> flashrom, older ended with SIGSEGV.

I expect flashrom from one year ago to show similar issues (but the
error checking was worse back then, so it might not show up in all cases).

> Any clue?

Yes, crappy flash chip. I'll explain below the log.

> Thanks
> Rudolf
> flashrom v0.9.4-r1457 on Linux 3.0.3 (x86_64), built with libpci 3.1.7, GCC 4.4.5 20100728 (prerelease), little endian
> flashrom is free software, get the source code at http://www.flashrom.org
> Calibrating delay loop... OS timer resolution is 1 usecs, 899M loops per second, 10 myus = 10 us, 100 myus = 100 us, 1000 myus = 1001 us, 10000 myus = 10004 us, 4 myus = 4 us, OK.
> Initializing internal programmer
> Found candidate at: 00000500-00000510
> Found coreboot table at 0x00000500.
> Found candidate at: 00000000-00000228
> Found coreboot table at 0x00000000.
> coreboot table found at 0x1fffd000.
> coreboot header(24) checksum: aa66 table(552) checksum: c1b5 entries: 14
> Vendor ID: ASUS, part ID: A8V-E SE
> DMI string system-manufacturer: "ASUS"
> DMI string system-product-name: "A8V-E SE"
> DMI string system-version: "Not Specified"
> DMI string baseboard-manufacturer: ""
> DMI string baseboard-product-name: ""
> DMI string baseboard-version: ""
> DMI string chassis-type: "Desktop"
> Found chipset "VIA VT8237" with PCI ID 1106:3227. Enabling flash write... OK.
> This chipset supports the following protocols: Non-SPI.
> [...]
> Found SST flash chip "SST49LF080A" (1024 kB, LPC).
> coreboot last image size (not ROM size) is 524288 bytes.
> Manufacturer: ASUS
> Mainboard ID: A8V-E SE
> This firmware image matches this mainboard.
> Reading old flash chip contents... done.
> Erasing and writing flash chip... Trying erase function 0... 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:E, 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:E, 0x06c000-0x06cfff:S, 0x06d000-0x06dfff:S, 0x06e000-0x06efff:S, 0x06f000-0x06ffff:S, 0x070000-0x070fff:E, 0x071000-0x071fff:E, 0x072000-0x072fff:E, 0x073000-0x073fff:E, 0x074000-0x074fff:E, 0x075000-0x075fff:E, 0x076000-0x076fff:E, 0x077000-0x077fff:EERASE FAILED at 0x00077612! Expected=0xff, Read=0xdf, failed byte count from 0x00077000-0x00077fff: 0x1
> Reading current flash chip contents... done. Looking for another erase function.
> Trying erase function 1... 0x000000-0x00ffff:S, 0x010000-0x01ffff:EW, 0x020000-0x02ffff:EW, 0x030000-0x03ffff:S, 0x040000-0x04ffff:S, 0x050000-0x05ffff:E, 0x060000-0x06ffff:S, 0x070000-0x07ffff:EW, 0x080000-0x08ffff:EW, 0x090000-0x09ffff:EW, 0x0a0000-0x0affff:EW, 0x0b0000-0x0bffff:EERASE FAILED at 0x000b2f2c! Expected=0xff, Read=0x7f, failed byte count from 0x000b0000-0x000bffff: 0x1
> Looking for another erase function.
> No usable erase functions left.
> Uh oh. Erase/write failed. Checking if anything changed.
> Your flash chip is in an unknown state.

You have two defective locations according to this log:
0x77612 and 0xb2f2c. This is a one-bit error in both cases, and
automatically rerunning erase would fix it. We'd have to detect that one
stuck bit in an erase operation is not a complete failure which forces
the use of the next erase function, but rather something which can be
fixed by rerunning the same erase command.

This is fixable, but it's a bit lower on my priority list and won't
happen before hwseq is merged.



More information about the flashrom mailing list