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?
ifying flash... VERIFY FAILED at 0x00005002! Expected=0x7f, Read=0x3f, failed byte count from 0x00000000-0x0007ffff: 0x4fa18 Your flash chip is in an unknown state. Get help on IRC at irc.freenode.net channel #flashrom or mail flashrom@flashrom.org
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@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");
On 03.04.2010 02:46, Carl-Daniel Hailfinger wrote:
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?
New patch, should fix at least some of the flash contents. Instructions will be in a followup mail.
Signed-off-by: Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net
Index: flashrom-nburke77/jedec.c =================================================================== --- flashrom-nburke77/jedec.c (Revision 991) +++ 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, 128 * 1024, 320 * 1024)) { + msg_cerr("Range 0x20000-0x6ffff 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 128k, ending at 448k: "); + for (i = 128; 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");
On 03.04.2010 22:42, Carl-Daniel Hailfinger wrote:
On 03.04.2010 02:46, Carl-Daniel Hailfinger wrote:
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?
New patch, should fix at least some of the flash contents. Instructions will be in a followup mail.
Signed-off-by: Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net
Here are the instructions on how to apply/use it:
cd flashrom svn revert -R . curl -s http://patchwork.coreboot.org/patch/1197/raw/ | patch -p1 curl -s http://patchwork.coreboot.org/patch/1191/raw/ | patch -p0 curl -s http://patchwork.coreboot.org/patch/1171/raw/ | patch -p1 make distclean make ./flashrom -V -c SST39VF040 -w /path/to/your/480401.bin
I expect this to spit out an error during verify, but the number of failed bytes should be rather low.
Regards, Carl-Daniel