#1: flashRom doesn't work on MotherBoard with ICH9 + MP2532
--------------------------------------------------+-------------------------
Reporter: annyvonne.le_coq@… | Owner: hailfinger
Type: defect | Status: new
Priority: major | Milestone: flashrom 0.9.1
Component: flashrom | Version:
Keywords: | Dependencies:
Patchstatus: there is no patch |
--------------------------------------------------+-------------------------
Hi all,
I have a mother board equipped with ICH9 chipset and M25P32 flash device.
I can't use flashrom to re-program my BIOS.
1) The ICH9 is not recognized. So, I add its device ID (2910) in
chipset_enable.c file.
2) Then, M25P32 flash device is recognized, but OPCODE 06 is not in the
list OPCODESS OS_ST_M25P.
ich_spi_command try to find the command 06 in the list, The list contains
only following values: 2, 3, 216, 5, 171, 1, 159, 199.
The M25P32 has been tested with flashrom. So, I imagine that the problem
is due to the caller.
Have you got an idea about this issue.
Thanks
Anne
--
Ticket URL: <http://www.flashrom.org/trac/flashrom/ticket/1>
flashrom <http://www.flashrom.org/>
Hi,
I separated the direct io access code from the flashrom changes, to make
this code easily available for the other coreboot utilities, too.
The remaining windows patch is rather small.
I'll clean up the directio code some more and make a release asap.
Best regards,
Stefan
--
coresystems GmbH • Brahmsstr. 16 • D-79104 Freiburg i. Br.
Tel.: +49 761 7668825 • Fax: +49 761 7664613
Email: info(a)coresystems.de • http://www.coresystems.de/
Registergericht: Amtsgericht Freiburg • HRB 7656
Geschäftsführer: Stefan Reinauer • Ust-IdNr.: DE245674866
This is code from a an old board enable that i sent in 3 weeks ago. This
board enable was not necessary (as flashing worked just fine without it
too). But this function was also used to clean up the board enable for
the epox ep bx3.
I have tracked down the person for whom i wrote this board enable 2
years ago: irc user nyu, aka Robert Millan.
Robert, can you verify that this code is not a regression for you?
Uwe, in the original mail thread
(http://www.coreboot.org/pipermail/coreboot/2009-June/049789.html) you
had several suggestions. I have taken over unsigned int and the
bitshift, but i do mot like to put "PIIX4{,E,M}" everywhere.
"PIIX4{,E,M}" all over clutters up the place, and i fear that printing
this to the user will generate more confusion than it will ever remove.
Instead i have adjusted the initial function comment to mention this so
that developers can rest assured in future that this will also be valid
for their future board enables.
Luc Verhaegen.
Resending this patch to the newly formed flashrom ml. Ron already
kindly acked this patch.
Mateusz, the owner of this board gave me a brief comment on irc stating
that it didn't work. Which is also the last i heard from him.
Mateusz, get back to us and get us at least the flashrom output.
Luc Verhaegen.
If a chip is not on the RDID generic vendor list nor on the REMS
specific ID list, flashrom will claim that no chip is there. Handle
these cases gracefully. flashrom will ignore generic matches if a
specific chip was found, so this will have no impact on supported chips,
but help a lot for a first quick analysis by the user or developer. The
only drawback is that unknown chips may be recognized multiple times
until they are added to flashchips.[ch].
Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006(a)gmx.net>
Index: flashrom-spi_totally_generic_probe/flashchips.c
===================================================================
--- flashrom-spi_totally_generic_probe/flashchips.c (Revision 664)
+++ flashrom-spi_totally_generic_probe/flashchips.c (Arbeitskopie)
@@ -3167,5 +3167,32 @@
.read = NULL,
},
+ {
+ .vendor = "Generic",
+ .name = "unknown SPI chip (RDID)",
+ .bustype = CHIP_BUSTYPE_SPI,
+ .manufacture_id = GENERIC_MANUF_ID,
+ .model_id = GENERIC_DEVICE_ID,
+ .total_size = 0,
+ .page_size = 256,
+ .tested = TEST_BAD_PREW,
+ .probe = probe_spi_rdid,
+ .erase = NULL,
+ .write = NULL,
+ },
+ {
+ .vendor = "Generic",
+ .name = "unknown SPI chip (REMS)",
+ .bustype = CHIP_BUSTYPE_SPI,
+ .manufacture_id = GENERIC_MANUF_ID,
+ .model_id = GENERIC_DEVICE_ID,
+ .total_size = 0,
+ .page_size = 256,
+ .tested = TEST_BAD_PREW,
+ .probe = probe_spi_rems,
+ .erase = NULL,
+ .write = NULL,
+ },
+
{ NULL }
};
Index: flashrom-spi_totally_generic_probe/flashchips.h
===================================================================
--- flashrom-spi_totally_generic_probe/flashchips.h (Revision 664)
+++ flashrom-spi_totally_generic_probe/flashchips.h (Arbeitskopie)
@@ -34,6 +34,7 @@
* SPI parts have 16-bit device IDs if they support RDID.
*/
+#define GENERIC_MANUF_ID 0xffff /* Check if there is a vendor ID */
#define GENERIC_DEVICE_ID 0xffff /* Only match the vendor ID */
#define ALLIANCE_ID 0x52 /* Alliance Semiconductor */
Index: flashrom-spi_totally_generic_probe/spi.c
===================================================================
--- flashrom-spi_totally_generic_probe/spi.c (Revision 664)
+++ flashrom-spi_totally_generic_probe/spi.c (Arbeitskopie)
@@ -274,6 +274,11 @@
GENERIC_DEVICE_ID == flash->model_id)
return 1;
+ /* Test if there is any vendor ID. */
+ if (GENERIC_MANUF_ID == flash->manufacture_id &&
+ id1 != 0xff)
+ return 1;
+
return 0;
}
@@ -329,6 +334,11 @@
GENERIC_DEVICE_ID == flash->model_id)
return 1;
+ /* Test if there is any vendor ID. */
+ if (GENERIC_MANUF_ID == flash->manufacture_id &&
+ id1 != 0xff)
+ return 1;
+
return 0;
}
--
http://www.hailfinger.org/
see attached patch. patch is too small to be copyrightable...
ciao
Joerg
--
Joerg Mayer <jmayer(a)loplof.de>
We are stuck with technology when what we really want is just stuff that
works. Some say that should read Microsoft instead of technology.
Hello,
I've ran flashrom -v {-E,-r,-v,-w} on my MS-7094 board.
For more info regarding the board, please see
http://www.msi.com/index.php?func=proddesc&maincat_no=1&cat2_no=&cat3_no=&p…
I've attached the results to this e-mail. Reading/verifying/writing
worked fine. Erasing however, didn't go so well, as you can see in the
attached log.
BTW, two thumbs up to the flashrom developers: the Award flash utility
did not work (kept saying 'Unknown flash type'), but flashrom did. ;)
HTH,
Jelle Geerts
Hi,
I've tested this board with flashrom-0.9.0-r695 as well as superiotool
r4424.
Also contained are dumps from* #lspci -vvnnxxxx*, *#dmidecode* and *#lshw*.
i tried a forced read via *#flashrom -f -r -c SST39SF020A
oldfirmware.bin*and provide the dumps as well though that maybe
useless as i was warned.
A lot of the info is probably duplicated but is provided for the sake of
completeness.
Bios: AMI
> Board: Asrock K7VT4A+
> Flash Chip: SST39SF020A (PLCC)
> Chipset: Via VT8235
>
Enjoy!,
Udu E. Ogah
.~~~~~~~~~~.
See patch.
Please do NOT try write/erase on any important cards yet, it doesn't
seem to fully work properly yet and you could "brick" your card.
I tested a "RIVA TNT2 Model 64/Model 64 Pro", which successfully
identified and read a Winbond W29C011 chip, but erase and write behaved
incorrect and I finally bricked the card.
Will look into recovery soon (likely will work via software I assume,
no hardware hacking strictly required I think/hope, we'll see).
As for the list of supported cards: I have no idea which of those may
work (i.e. have the same flash programming interface), maybe none, maybe
all of them (and lots more NVIDIA cards), we'll see as soon as others
test more cards.
Uwe.
--
http://www.hermann-uwe.de | http://www.holsham-traders.dehttp://www.crazy-hacks.org | http://www.unmaintained-free-software.org