Hello everybody!
I've been unsuccessful in updating by BIOS on my ASUS A8N-SLI Deluxe motherboard using flashrom. To my novice eyes it looks like the first 768kB has been erased and the rest left as is....
I'll put some information below....
http://paste.debian.net/50883/plain/50883 ===================================================
$ sudo flashrom -w 1805.BIN flashrom v0.9.1-r736 No coreboot table found. Found chipset "NVIDIA CK804", enabling flash write... OK. This chipset supports the following protocols: Non-SPI. Calibrating delay loop... OK. Found chip "SST SST49LF004A/B" (512 KB, FWH) at physical address 0xfff80000. Flash image seems to be a legacy BIOS. Disabling checks. Writing flash chip... ERASE FAILED at 0x00060000! Expected=0xff, Read=0xd4, failed byte count from 0x00060000-0x0006ffff: 0xacde ERASE FAILED! ERASE FAILED! ERASE 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 ------------------------------------------------------------ DO NOT REBOOT OR POWEROFF!
http://paste.debian.net/50884/plain/50884 ===================================================
$ sudo flashrom -w backup-bios-1002.bin flashrom v0.9.1-r736 No coreboot table found. Found chipset "NVIDIA CK804", enabling flash write... OK. This chipset supports the following protocols: Non-SPI. Calibrating delay loop... OK. Found chip "SST SST49LF004A/B" (512 KB, FWH) at physical address 0xfff80000. Flash image seems to be a legacy BIOS. Disabling checks. Writing flash chip... ERASE FAILED at 0x00060000! Expected=0xff, Read=0xd4, fail ed byte count from 0x00060000-0x0006ffff: 0xacde ERASE FAILED! ERASE FAILED! ERASE 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 ------------------------------------------------------------ DO NOT REBOOT OR POWEROFF!
http://paste.debian.net/50885/plain/50885 ===================================================
$ sudo flashrom -v backup-bios-1002.bin flashrom v0.9.1-r736 No coreboot table found. Found chipset "NVIDIA CK804", enabling flash write... OK. This chipset supports the following protocols: Non-SPI. Calibrating delay loop... OK. Found chip "SST SST49LF004A/B" (512 KB, FWH) at physical address 0xfff80000. Flash image seems to be a legacy BIOS. Disabling checks. Verifying flash... VERIFY FAILED at 0x00000000! Expected=0x21, Read=0xff, failed byte count from 0x00000000-0x0007ffff: 0x3fac2
Quotes from IRC: ===================================================
14:42 < carldani> fatal^: AFAICS erase was partially successful. 14:47 < carldani> fatal^: the first 384k are erased. 14:48 < carldani> fatal^: ok, there are two things we can do. 14:49 < carldani> 1. we unlock the test of the chip and then rewrite in full 14:50 < carldani> 2. We only rewrite the erased part. 14:51 < carldani> fatal^: I'll tell you what we need to fix this. 14:53 < carldani> fatal^: Please send a mail with the exact board name (and board version, if your board exists in multiple versions), output of "lspci -nnvvvxxx" (as root), output of "flashrom -V" (as root), output of "superiotool -dV" (as root), and the output of "flashrom -EV" (as root) to flashrom@flashrom.org 14:54 < carldani> if you subscribe to that list before posting, your mail will be passed through immediately (otherwise it ends up in the moderator queue) 14:55 < carldani> and mention in the mail that erase partially fails.
Requested information: ===================================================
Exact board name: ASUS A8N-SLI Deluxe Versions: "Deluxe" is the "full" version, there are budget versions called "Premium" and maybe even more low-budget versions... lspci -nnvvvxxx: attached as "lspci-nnvvvxxx.txt" flashrom -V: attached as "flashrom-V.txt" superiotool -dV: attached as "superiotool-dV.txt" flashrom -EV: attached as "flashrom-EV.txt"
Other files: ====================================================
Maybe to large to attach, so as long as I don't reboot you should be able to reach my computer at: http://fatal.se/tmp/bios/
"backup-bios-1002.bin" is what I got from "flashrom -r backup-bios-1002.bin" before I did anything else.
"fucked-bios.bin" is what I currently get if I do "flashrom -r fucked-bios.bin"
"1805.BIN" is the new bios I tried to update to.
Thanks for your interest reading this far! :)
On 06.11.2009 15:40, Andreas Henriksson wrote:
Hello everybody!
I've been unsuccessful in updating by BIOS on my ASUS A8N-SLI Deluxe motherboard using flashrom. To my novice eyes it looks like the first 768kB has been erased and the rest left as is....
The first 384k were erased, but yes, you're suffering from partial erase.
Try this patch. It will work exactly once, and only for restoring (writing) the backed up BIOS. Any other operation will corrupt your flash chip even more. Do NOT use the patched flashrom for anything else. If we later ask you to perform some tests, make sure this patch has been undone.
Signed-off-by: Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net
Index: flashrom-fatal/sst_fwhub.c =================================================================== --- flashrom-fatal/sst_fwhub.c (Revision 756) +++ flashrom-fatal/sst_fwhub.c (Arbeitskopie) @@ -131,13 +131,13 @@ int write_sst_fwhub(struct flashchip *flash, uint8_t *buf) { int i; - int total_size = flash->total_size * 1024; + int total_size = flash->total_size * 1024 / 2; int page_size = flash->page_size; chipaddr bios = flash->virtual_memory; uint8_t blockstatus;
// FIXME: We want block wide erase instead of ironing the whole chip - if (erase_sst_fwhub(flash)) { + if (0 && erase_sst_fwhub(flash)) { fprintf(stderr, "ERASE FAILED!\n"); return -1; }
On Fri, Nov 06, 2009 at 03:40:20PM +0100, Andreas Henriksson wrote:
Hello everybody!
I've been unsuccessful in updating by BIOS on my ASUS A8N-SLI Deluxe motherboard using flashrom. To my novice eyes it looks like the first 768kB has been erased and the rest left as is....
I'll put some information below....
Although i think that this will be more a flashchip issue than anything else, please give this patch a whirl.
Luc Verhaegen.