[flashrom] Gateway m275 recovery

Carl-Daniel Hailfinger c-d.hailfinger.devel.2006 at gmx.net
Sat Apr 3 02:46:15 CEST 2010


On 02.04.2010 18:38, admin1 wrote:
> I just flashed my Gateway m275 Tablet running ubuntu 9.10 with the
> 480401.bin bios from gateway and I have now been directed to e-mail you
> the failure report. Can you pleas help me?
>   

OK, here is a patch which should be used with latest flashrom to flash
the new BIOS image. This patch will shou up at
http://patchwork.coreboot.org/ in the next few seconds.
On top of it, you need to apply
http://patchwork.coreboot.org/patch/1171/raw/ as well.

Please apply the patches, recompile, then run
./flashrom -V -c SST39VF040 -w 480401.bin

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006 at gmx.net>

Index: flashrom-nburke77/jedec.c
===================================================================
--- flashrom-nburke77/jedec.c	(Revision 990)
+++ flashrom-nburke77/jedec.c	(Arbeitskopie)
@@ -308,6 +308,7 @@
 	toggle_ready_jedec(bios);
 
 	if (chip_readb(dst) != *src && tried++ < MAX_REFLASH_TRIES) {
+		msg_cerr("Retrying the write at 0x%lx\n", dst);
 		goto retry;
 	}
 
@@ -364,7 +365,7 @@
 	failed = verify_range(flash, src, start, page_size, NULL);
 
 	if (failed && tried++ < MAX_REFLASH_TRIES) {
-		msg_cerr("retrying.\n");
+		msg_cerr("Retrying the write at 0x%lx\n", dst);
 		goto retry;
 	}
 	if (failed) {
@@ -430,20 +431,31 @@
 	mask = getaddrmask(flash);
 
 	programmer_delay(10);
+#if 0
 	if (erase_flash(flash)) {
 		msg_cerr("ERASE FAILED!\n");
 		return -1;
 	}
+#else
+	msg_cinfo("Not erasing!\n");
+#endif
+	msg_cinfo("Checking if the to-be-written range is already erased\n");
+	if (check_erased_range(flash, 64 * 1024, 384 * 1024)) {
+		msg_cerr("Range is not in erased state!\n");
+		return -1;
+	}
 
-	msg_cinfo("Programming page: ");
-	for (i = 0; i < flash->total_size; i++) {
+	msg_cinfo("Programming 1k sized pages, starting at 64k, ending at 448k: ");
+	for (i = 64; i < flash->total_size - 64; i++) {
 		if ((i & 0x3) == 0)
-			msg_cinfo("address: 0x%08lx", (unsigned long)i * 1024);
+			msg_cinfo("address: 0x%08lx,", (unsigned long)i * 1024);
 
                 write_sector_jedec_common(flash, buf + i * 1024, dst + i * 1024, 1024, mask);
 
+#if 0
 		if ((i & 0x3) == 0)
 			msg_cinfo("\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b");
+#endif
 	}
 
 	msg_cinfo("DONE!\n");


-- 
http://www.hailfinger.org/





More information about the flashrom mailing list