Linux - HardwareThis forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
My travails with an HP Pavilion dv2000z AMD Turion64x2 continue.
A few weeks ago, I replaced the motherboard in it only to discover the bios was a Compaq V3000 Presario version, whereas it should have been for my specific model dv2116wm originally running MS Windows XP Professional Media Center Edition. Turns out, this motherboard (and bios) are shared for both Compaq V3000 and HP dv2000z.
Plodding ahead, I encountered an issue with being unable to boot unless I used either 'nosmp' or 'maxcpus=1'. The kernel simply panics with a tsc clocksource unstable and does a hard stop otherwise without these kernel boot options present.
So, why not just use those kernel boot options? Because it leaves the laptop running with just *one core*! Doh!
First, I flashed the bios to the newest version available (Phoenix F.3D). Result: did not fix the boot/core issue.
Then, I thought, the old motherboard worked just fine with two cores on Ubuntu 9.10 RC, so I knew the bios in it was the original factory version and would work.
So, I dug around on the internet and ultimately located a vintage BIOS firmware version F.23 SoftPaq sp34618 at the HP ftp site.
Which brings me to my current issue. I had no problem *upgrading* the bios from an older-to-newest version using a pen key formatted with FreeDOS using phlash16.exe with the WPH file from the softpaq.
When I try to do same with the old factory version, the Phoenix flash screen comes up, dances a jig, beeps a few times, but upon reboot, the newest F.3D bios is still present.
The question is:
How do I force a *downgrade* of the bios using phlash16.exe?
There's a /h (help) switch which shows these options but I haven't succeeded in finding the right combination to induce the downgrade.
Here's the command line options:
===================================
Phoenix WinPhlash Utility for DOS - Version 1.6.4.2
Copyright (c) Phoenix Technologies Ltd., 2000-2006
USAGE: PHLASH16 [options] [@rspfile] [romfile]
romfile Override the default BIOS image name BIOS.WPH with "file".
@rspfile Response file containing more options
/A:n 32 bit address where to put the File Image.
/B:file Override the default BIOS image name BIOS.WPH with "file".
/BBL Program boot block.
/BU[=name] Backup flash memory into BIOS.BAK before programming.
If "name" specified, override the default filename BIOS.BAK.
/C Clear CMOS checksum after programming.
/CS Verify BIOS.WPH image checksum.
/DMC:string Specify chassis manufacturer DMI string.
/DMM:string Specify motherboard manufacturer DMI string.
/DMS:string Specify system manufacturer DMI string.
/DOxx:string Specify OEM DMI string number xx.
/DPC:string Specify chassis product ID DMI string.
/DPM:string Specify motherboard product ID DMI string.
/DPS:string Specify system product ID DMI string.
/DSC:string Specify chassis serial number DMI string.
/DSM:string Specify motherboard serial number DMI string.
/DSS:string Specify system serial number DMI string.
/DUS:string Specify UUID DMI string.
/DVC:string Specify chassis version DMI string.
/DVM:string Specify motherboard version DMI string.
/DVS:string Specify system version DMI string.
/DEV Display device information from WPH file.
/EXIT Exit without rebooting.
/E2 Generate a new UUID when current UUID is (FFF...FFF).
/H or /? Help screen.
/I Verify image size matches flash part size.
/MODE=n Specify mode n (0, 1, 2, 3).
/MFG Manufacturing mode - Automatically reboot without keypress.
/N Program only if BIOS.WPH is different than system BIOS.
/NOB Do not allow an older BIOS to be flashed to the platform.
/NIC Update network controller driver with *.lom files.
/NOBIOSINFO Do not display BIOS date and part number while flashing.
/O Override (disable) all options from BIOS.WPH.
/P Production mode (minimize messages and delays).
/PF=string String to pass on to command line.
/PN Program only if same BIOS part number.
/REMOTE Specify remote operation over RS232
/RO[=name] Read contents of flash part and save to a file.
/R=n Retry flashing a block n times if flash fails.
/S Silent operation (turn off speaker).
/SWAP=NO Disable Axx autodetection.
/T Show debug timing info (Warning: flash is done TEN TIMES!)
/V Verify each block after programming it.
/VGA Update VGA module with *.dat files.
/X Ignore XMS memory manager check.
/Z Zero before erasing a block.
/UUID Generate a new UUID .
/Mod:filename Update current system BIOS with the module specified by
filename.
/Fbin:filename Update current system BIOS DMI with the interface file
specified by filename, do not need image file.
To update entire system BIOS you also need the following file:
BIOS.WPH (the interface file with the BIOS image)
=========================================================================
So, there it is. I can't downgrade my bios to F.23.
Any help you can give is most appreciated.
Thank You.
Last edited by linux_junky; 11-20-2009 at 06:13 AM.
Reason: fix typos
You've been in at the motherboard. Is the flash chip socketed?
If so, it can be pulled and flashed by an eprom programmer. You simply buy the appropriate chip, and have them flash the blank. Radio Shack or the like might be able to do that for you.
I would comment that I've been a long time in Electronics Hardware and always felt that BIOS were best left alone if at all possible. Any prolonged messing always ends in tears.
Like I wrote, the upgrade to the bios went through without a hitch.
One would think, that if HP provides a recovery CD disk set (and they do but you must order it), then it would include the original bios and be able to perform a flash *downgrade*, regardless of the standing of the current bios.
There could be any number of legitimate reasons for needing to do so, for third-party shops repairing motherboards.
Basically you have to look for a different version of the flashing utility. The particular version you are using is coded to protect users from installing a older bios (in most cases a bad thing). phash16 had a lot of different releases(v11, 14, 15 at least). Not sure how far back you will have to go to find a version that does not have a hard coded version(older) block.
o v11: no command line switches, does not flash
o v14: no command line switches, does not flash, (memory video buffer overrun)
o v15: no command line switches, does not flash
The phlash16.exe I used for the bios upgrade to the 'newest' firmware F.3D is version 1.6.4.2
thanks--but those are what I want to avoid--bios with vista support.
the firmware version i have is F.23 (Oct 12, 2006) which is for the Media Center Edition XP Pro.
That is my strategy--to put the bios back to the level where I know the machine was before the motherboard crapped the bed.
None of the BIOS versions above F.23 are acceptable at all?
It is advised to flash from a low numbered BIOS to a high number by flashing version numbers between the two. I assume that you have the .exe file of the F.23 BIOS. Why not try to flash the F39 and any versions you can find regressing towards F.23 version, then the F.23 and see if that works?
@thorkelljarl
If I could work backwards, I might consider your suggestion---that is the issue. phlash16.exe seems to refuse to flash if the bios.wph is older than the current system bios detected.
But it may if the command line switches are given to it that *force* a downgrade to occur.
I can use the info at that link, *if* I knew the correct combination of switches.
BTW, I gave that list in the start of this thread.
This is the key question I am angling in on:
Which switches tell phlash16.exe to *ignore* version checking and just blast the bios onto the chip?
From what I can garner thus far, there doesn't seem to be a way.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.