Hi,
I'm trying to flash the latest BIOS-version on a HP Vectra VL420 SFF but it fails with latest flashrom (r811).
This computer has a motherboard similiar to an ASUS P4B-MX, the HP board is even labeled "P4B-MX" on the board itself. Some differences though: The HP board uses an AMI BIOS while the ASUS seems to have an Award BIOS.
Latest VL420-BIOS (version "JA.01.07US"): ftp://ftp.hp.com/pub/softpaq/sp30001-30500/sp30221.exe
Info attached.
Thanks! -mattias
Am Dienstag, den 22.12.2009, 21:05 +0100 schrieb Mattias Mattsson:
I'm trying to flash the latest BIOS-version on a HP Vectra VL420 SFF but it fails with latest flashrom (r811).
This board needs a board enable. I don't like the PCI ID match, as HP seems to use subsystem device IDs based on chip device IDs instead of their products. The match is likely to broad.
Mattias, please try this patch, also, please send the output of "dmidecode -s baseboard-manufacturer" and "dmidecode -s baseboard-product-name" to this list, in case we are going to implement DMI-based device detection. Your machine would be a candidate where it seems useful.
Regards, Michael Karcher
Index: board_enable.c =================================================================== --- board_enable.c (Revision 803) +++ board_enable.c (Arbeitskopie) @@ -830,7 +830,9 @@ }
/** - * Suited for ASUS P4B266: socket478 + intel 845D + ICH2. + * Suited for: + * - Asus P4B266: socket478 + intel 845D + ICH2. + * - (Asus?) P4B-MX (in HP Vectra VL420 SFF): socket 478 + 845D + ICH2 */ static int intel_ich_gpio22_raise(const char *name) { @@ -1246,6 +1248,7 @@ {0x1002, 0x4398, 0x1458, 0x5004, 0x1002, 0x4391, 0x1458, 0xb002, NULL, NULL, "GIGABYTE", "GA-MA78GM-S2H", it87xx_probe_spi_flash}, {0x1002, 0x438d, 0x1458, 0x5001, 0x1002, 0x5956, 0x1002, 0x5956, NULL, NULL, "GIGABYTE", "GA-MA790FX-DQ6", it87xx_probe_spi_flash}, {0x1166, 0x0223, 0x103c, 0x320d, 0x102b, 0x0522, 0x103c, 0x31fa, "hp", "dl145_g3", "HP", "DL145 G3", board_hp_dl145_g3_enable}, + {0x8086, 0x1a30, 0x103c, 0x1a30, 0x8086, 0x2443, 0x103c, 0x2440, NULL, NULL, "HP", "VL420 SFF", intel_ich_gpio22_raise}, {0x1166, 0x0205, 0x1014, 0x0347, 0x1002, 0x515E, 0x1014, 0x0325, NULL, NULL, "IBM", "x3455", board_ibm_x3455}, {0x1039, 0x5513, 0x8086, 0xd61f, 0x1039, 0x6330, 0x8086, 0xd61f, NULL, NULL, "Intel", "D201GLY", wbsio_check_for_spi}, {0x1022, 0x7468, 0, 0, 0, 0, 0, 0, "iwill", "dk8_htx", "IWILL", "DK8-HTX", w83627hf_gpio24_raise_2e},
On Wed, Dec 23, 2009 at 00:50, Michael Karcher flashrom@mkarcher.dialup.fu-berlin.de wrote:
Am Dienstag, den 22.12.2009, 21:05 +0100 schrieb Mattias Mattsson:
I'm trying to flash the latest BIOS-version on a HP Vectra VL420 SFF but it fails with latest flashrom (r811).
This board needs a board enable. I don't like the PCI ID match, as HP seems to use subsystem device IDs based on chip device IDs instead of their products. The match is likely to broad.
Mattias, please try this patch, also, please send the output of "dmidecode -s baseboard-manufacturer" and "dmidecode -s baseboard-product-name" to this list, in case we are going to implement DMI-based device detection. Your machine would be a candidate where it seems useful.
The patch works. Many thanks!
Here's the requested output:
# dmidecode -s baseboard-manufacturer Hewlett-Packard
# dmidecode -s baseboard-product-name HP System Board
The above seems rather generic so here's also:
# dmidecode -s baseboard-version A04
-mattias
Am Mittwoch, den 23.12.2009, 01:35 +0100 schrieb Mattias Mattsson:
Mattias, please try this patch, also, please send the output of "dmidecode -s baseboard-manufacturer" and "dmidecode -s baseboard-product-name" to this list, in case we are going to implement DMI-based device detection. Your machine would be a candidate where it seems useful.
The patch works. Many thanks!
Thank you for your quick feedback.
Here's the requested output:
# dmidecode -s baseboard-manufacturer Hewlett-Packard
# dmidecode -s baseboard-product-name HP System Board
The above seems rather generic so here's also:
# dmidecode -s baseboard-version A04
The version alone doesn't tell us much, and manufacturer HP can already be determined by the PCI IDs. Can you check the full dmidecode output for some string we can use to detect the VL420 SFF hardware? Maybe system-product-name. If you are to attach a plain dmidecode output, please remove all serial numbers/GUIDs.
Regards, Michael Karcher
The version alone doesn't tell us much, and manufacturer HP can already be determined by the PCI IDs. Can you check the full dmidecode output for some string we can use to detect the VL420 SFF hardware? Maybe system-product-name. If you are to attach a plain dmidecode output, please remove all serial numbers/GUIDs.
The attached file contains full output from dmidecode.
Thanks again! -mattias
This code has been tested by Mattias Mattsson on 23. December 2009, but without the DMI match. Now that DMI support is in and working, the board can be added to mainline flashrom.
Signed-off-by: Michael Karcher flashrom@mkarcher.dialup.fu-berlin.de --- Hello Mattias, could you please try whether current svn flashrom (at least r896) with this patch applied outputs Disabling write protection for HP VL420 SFF on invocation with "flashrom -V"? If yes, please reply to this mail with a mail containing the line "Acked-by: Mattias Mattsson vitplister@gmail.com". You don't have to try anything dangerous like erasing/writing the flash chip, as only the board recognition has changed.
Regards, Michael Karcher
board_enable.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/board_enable.c b/board_enable.c index 2de5fd7..2aa9c10 100644 --- a/board_enable.c +++ b/board_enable.c @@ -869,7 +869,9 @@ static int intel_ich_gpio21_raise(const char *name) }
/** - * Suited for ASUS P4B266: socket478 + intel 845D + ICH2. + * Suited for: + * - Asus P4B266: socket478 + intel 845D + ICH2. + * - Asus P4B-MX variant in HP Vectra VL420 SFF: socket478 + 845D + ICH2 */ static int intel_ich_gpio22_raise(const char *name) { @@ -1224,6 +1226,7 @@ struct board_pciid_enable board_pciid_enables[] = { {0x1002, 0x4398, 0x1458, 0x5004, 0x1002, 0x4391, 0x1458, 0xb002, NULL, NULL, NULL, "GIGABYTE", "GA-MA78GM-S2H", 0, it87xx_probe_spi_flash}, {0x1002, 0x438d, 0x1458, 0x5001, 0x1002, 0x5956, 0x1002, 0x5956, NULL, NULL, NULL, "GIGABYTE", "GA-MA790FX-DQ6", 0, it87xx_probe_spi_flash}, {0x1166, 0x0223, 0x103c, 0x320d, 0x102b, 0x0522, 0x103c, 0x31fa, NULL, "hp", "dl145_g3", "HP", "DL145 G3", 0, board_hp_dl145_g3_enable}, + {0x8086, 0x1a30, 0x103c, 0x1a30, 0x8086, 0x2443, 0x103c, 0x2440, "^VL420$", NULL, NULL, "HP", "VL420 SFF", 0, intel_ich_gpio22_raise}, {0x1166, 0x0205, 0x1014, 0x0347, 0x1002, 0x515E, 0x1014, 0x0325, NULL, NULL, NULL, "IBM", "x3455", 0, board_ibm_x3455}, {0x1039, 0x5513, 0x8086, 0xd61f, 0x1039, 0x6330, 0x8086, 0xd61f, NULL, NULL, NULL, "Intel", "D201GLY", 0, wbsio_check_for_spi}, {0x1022, 0x7468, 0, 0, 0, 0, 0, 0, NULL, "iwill", "dk8_htx", "IWILL", "DK8-HTX", 0, w83627hf_gpio24_raise_2e},