Patchwork FAILED: ASUS P5P800

login
register
about
Submitter Idwer Vollering
Date 2011-01-14 00:08:00
Message ID <AANLkTinpQ5-jUxD3xnJkUPLHJN0hf4uTK6TCBHywoiuU@mail.gmail.com>
Download mbox | patch
Permalink /patch/2516/
State Bitrotted
Headers show

Comments

Idwer Vollering - 2011-01-14 00:08:00
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 <vidwer@gmail.com>

---

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
>

Patch

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 */