From patchwork Fri Jan 14 00:08:00 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: FAILED: ASUS P5P800 Date: Fri, 14 Jan 2011 00:08:00 -0000 From: Idwer Vollering X-Patchwork-Id: 2516 Message-Id: To: Illarion Borisochkin <958@mail.ru> Cc: flashrom@flashrom.org 2011/1/13 Illarion Borisochkin <958@mail.ru> > Hello! Need Help! > Hi, do not despair. > > BIOS: ftp://ftp.asus.com.tw/pub/ASUS/mb/socket775/P5P800/P5P80014.zip > > flashrom -w P5P80014.ROM > flashrom v0.9.3-r1205 on FreeBSD 7.4-PRERELEASE (i386), built with libpci > 3.1.7, GCC 4.2.1 20070719 [FreeBSD], little endian > flashrom is free software, get the source code at http://www.flashrom.org > If I still had a 7.4 machine I would compile a patched binary for you, unfortunately I don't -- 8.1 only). > Calibrating delay loop... OK. > No coreboot table found. > Found chipset "Intel ICH5/ICH5R", enabling flash write... OK. > This chipset supports the following protocols: FWH. > Found chip "Winbond W39V040FA" (512 KB, FWH) at physical address > 0xfff80000. > Can you checkout current development code, apply and try the applied patch ? It should enable erasing/writing your chip, Winbond W39V040FA. The source code can be found here: http://www.flashrom.org/Downloads#Installation_from_source You can skip the installation part. Just run flashrom, as root, from its build directory: "./flashrom" Commit message: Add erasing/writing functionality to Winbond W39V040FA and Winbond W39V040FC, rename unlock_w39v040fb() to unlock_w39v040fa_fb_fc(). Marked the W39V040FA as untested: TEST_OK_PR Not yet tested (on hardware) for the W39V040FA, untested for the W39V040FC. Signed-off-by: Idwer Vollering --- When this patch is tested, the erase/write status for the W39V040FA requires updating. > Flash image seems to be a legacy BIOS. Disabling checks. > Writing flash chip... Erasing flash chip... ERASE FAILED at 0x00004560! > Expected=0xff, Read=0x4c, failed byte count from 0x00004000-0x00004fff: > 0xa7f > ERASE FAILED! > ERASE FAILED at 0x00004560! Expected=0xff, Read=0x4c, failed byte count > from 0x00000000-0x0000ffff: 0xb9df > ERASE FAILED! > ERASE FAILED at 0x00004560! Expected=0xff, Read=0x4c, failed byte count > from 0x00000000-0x0007ffff: 0x78040 > ERASE FAILED! > FAILED! > ERASE FAILED! > FAILED! > 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! > > > > > _______________________________________________ > flashrom mailing list > flashrom@flashrom.org > http://www.flashrom.org/mailman/listinfo/flashrom > Index: w39.c =================================================================== --- w39.c (revision 1250) +++ w39.c (working copy) @@ -244,7 +244,7 @@ return -1; } -int unlock_w39v040fb(struct flashchip *flash) +int unlock_w39v040fa_fb_fc(struct flashchip *flash) { if (unlock_w39_fwh(flash)) return -1; Index: flashchips.c =================================================================== --- flashchips.c (revision 1250) +++ flashchips.c (working copy) @@ -7678,7 +7678,7 @@ } }, .printlock = printlock_w39v040fa, - .unlock = unlock_sst_fwhub, + .unlock = unlock_w39v040fa_fb_fc, .write = write_jedec_1, .read = read_memmapped, }, @@ -7706,7 +7706,7 @@ } }, .printlock = printlock_w39v040fb, - .unlock = unlock_w39v040fb, + .unlock = unlock_w39v040fa_fb_fc, .write = write_jedec_1, .read = read_memmapped, }, @@ -7734,6 +7734,7 @@ } }, .printlock = printlock_w39v040fc, + .unlock = unlock_w39v040fa_fb_fc, .write = write_jedec_1, .read = read_memmapped, }, Index: chipdrivers.h =================================================================== --- chipdrivers.h (revision 1250) +++ chipdrivers.h (working copy) @@ -119,7 +119,7 @@ int printlock_w39v080a(struct flashchip *flash); int printlock_w39v080fa(struct flashchip *flash); int printlock_w39v080fa_dual(struct flashchip *flash); -int unlock_w39v040fb(struct flashchip *flash); +int unlock_w39v040fa_fb_fc(struct flashchip *flash); int unlock_w39v080fa(struct flashchip *flash); /* w29ee011.c */