FOSS tools for flashing motherboard BIOS?

classic Classic list List threaded Threaded
13 messages Options
Reply | Threaded
Open this post in threaded view
|

FOSS tools for flashing motherboard BIOS?

alan01346
I have an HP Pavilion DV2700 laptop with an old BIOS version I'd like
to update.  HP's official solution is to run something under the
dinosaur Windows Vista, which I was glad to wash my hands of about 7
years ago.

I opened up HP's exe file (rename to a zip and unzip), inside is a 1
meg file 30cdf2d.wph which I think is the payload.  It's a Phoenix
BIOS so it's set up to use Phoenix's WinPhlash utility.  I have no
operating system at all on the machine at present, it has no floppy
drive, doesn't boot from the CD/DVD.  I can boot from USB or the hard
drive only.  I can put in an old hard drive from another laptop and
boot it into OpenBSD.  Not booting from the CD is what I'm trying to
fix, a guy at HP support seems to think flashing the BIOS may help.
It's possible there are remnants of Windows "Secure Boot" around from
somebody trying to load Windows 7+ although since I can boot from USB
(a gparted ISO written to an SD card plugged into a USB reader) I
doubt it.

On the Arch Linux page at
https://wiki.archlinux.org/index.php/Flashing_BIOS_from_Linux there's
mention of a couple programs that might work: BiosDisk and Flashrom.
Anybody use either of those under OpenBSD?  I haven't tried chasing
down the source and trying to build them, I was a little surprised
they aren't in sysutils.  I don't see anything in there for flashing,
just looking in pbrowser.

--
Credit is the root of all evil.  - AB1JX

Reply | Threaded
Open this post in threaded view
|

Re: FOSS tools for flashing motherboard BIOS?

Kirill Bychkov
On Mon, June 6, 2016 16:52, Alan Corey wrote:

> I have an HP Pavilion DV2700 laptop with an old BIOS version I'd like
> to update.  HP's official solution is to run something under the
> dinosaur Windows Vista, which I was glad to wash my hands of about 7
> years ago.
>
> I opened up HP's exe file (rename to a zip and unzip), inside is a 1
> meg file 30cdf2d.wph which I think is the payload.  It's a Phoenix
> BIOS so it's set up to use Phoenix's WinPhlash utility.  I have no
> operating system at all on the machine at present, it has no floppy
> drive, doesn't boot from the CD/DVD.  I can boot from USB or the hard
> drive only.  I can put in an old hard drive from another laptop and
> boot it into OpenBSD.  Not booting from the CD is what I'm trying to
> fix, a guy at HP support seems to think flashing the BIOS may help.
> It's possible there are remnants of Windows "Secure Boot" around from
> somebody trying to load Windows 7+ although since I can boot from USB
> (a gparted ISO written to an SD card plugged into a USB reader) I
> doubt it.
>
> On the Arch Linux page at
> https://wiki.archlinux.org/index.php/Flashing_BIOS_from_Linux there's
> mention of a couple programs that might work: BiosDisk and Flashrom.
> Anybody use either of those under OpenBSD?  I haven't tried chasing
> down the source and trying to build them, I was a little surprised
> they aren't in sysutils.  I don't see anything in there for flashing,
> just looking in pbrowser.
>
Hi,
flashrom was imported some time ago:
http://marc.info/?l=openbsd-ports-cvs&m=146479937629535&w=2

Reply | Threaded
Open this post in threaded view
|

Re: FOSS tools for flashing motherboard BIOS?

Mihai Popescu-3
In reply to this post by alan01346
> I have an HP Pavilion DV2700 laptop with an old BIOS version I'd like
> to update.  HP's official solution is to run something under the
> dinosaur Windows Vista, which I was glad to wash my hands of about 7
> years ago.

Are you sure there is no iso image with self boot and update, ready to
be burned on a cdrom? I don't know for sure, but I think last time I
was using that. I don't own HP gear, but IBM/Lenovo has this kind of
iso image and I've used it a lot.

Reply | Threaded
Open this post in threaded view
|

Re: FOSS tools for flashing motherboard BIOS?

Daniel Bolgheroni-3
In reply to this post by alan01346
On Mon, Jun 06, 2016 at 09:52:49AM -0400, Alan Corey wrote:
>
> On the Arch Linux page at
> https://wiki.archlinux.org/index.php/Flashing_BIOS_from_Linux there's
> mention of a couple programs that might work: BiosDisk and Flashrom.
> Anybody use either of those under OpenBSD?  I haven't tried chasing
> down the source and trying to build them, I was a little surprised
> they aren't in sysutils.  I don't see anything in there for flashing,
> just looking in pbrowser.

See this:

http://marc.info/?l=openbsd-ports&m=146464871825362&w=2

--
db

Reply | Threaded
Open this post in threaded view
|

Re: FOSS tools for flashing motherboard BIOS?

alan01346
OK, so that's why it wasn't in pbrowser yet.  Running in single user
mode sounds like a pain.  Also the install puts the man page in
/usr/local/share/man/man8 .  And I haven't gotten to why it says not
to run on laptops yet.

On 6/6/16, Daniel Bolgheroni <[hidden email]> wrote:

> See this:
>
> http://marc.info/?l=openbsd-ports&m=146464871825362&w=2
>
> --
> db
>


--
Credit is the root of all evil.  - AB1JX

Reply | Threaded
Open this post in threaded view
|

Re: FOSS tools for flashing motherboard BIOS?

alan01346
From flashrom's man page:

       Laptops

              Using flashrom on laptops is dangerous and may easily make your
              hardware unusable (see also the BUGS section). The embedded
              controller (EC) in these machines often interacts badly with
              flashing.  More information is in the wiki
              <https://flashrom.org/Laptops>.  For example the EC firmware
              sometimes resides on the same flash chip as the host firmware.
              While flashrom tries to change the contents of that memory the
              EC might need to fetch new instructions or data from it and
              could stop working correctly. Probing for and reading from the
              chip may also irritate your EC and cause fan failure, backlight
              failure, sudden poweroff, and other nasty effects. flashrom will
              attempt to detect if it is running on a laptop and abort
              immediately for safety reasons if it clearly identifies the host
              computer as one. If you want to proceed anyway at your own risk,
              use

                flashrom -p internal:laptop=force_I_want_a_brick

              We will not help you if you force flashing on a laptop because
              this is a really dumb idea.

So, I guess I should look at BiosDisk too.


On 6/6/16, Alan Corey <[hidden email]> wrote:

> OK, so that's why it wasn't in pbrowser yet.  Running in single user
> mode sounds like a pain.  Also the install puts the man page in
> /usr/local/share/man/man8 .  And I haven't gotten to why it says not
> to run on laptops yet.
>
> On 6/6/16, Daniel Bolgheroni <[hidden email]> wrote:
>
>> See this:
>>
>> http://marc.info/?l=openbsd-ports&m=146464871825362&w=2
>>
>> --
>> db
>>
>
>
> --
> Credit is the root of all evil.  - AB1JX
>


--
Credit is the root of all evil.  - AB1JX

Reply | Threaded
Open this post in threaded view
|

Re: FOSS tools for flashing motherboard BIOS?

lists-2
In reply to this post by alan01346
Mon, 6 Jun 2016 09:52:49 -0400 Alan Corey <[hidden email]>
> I don't see anything in there for flashing, just looking in pbrowser.

That pbrowser is not available as a package (~7 months), its Makefile
is in the attic.  You could try sysutils/pkg_mgr as a port (package).

CVS log for ports/x11/pbrowser
[http://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/x11/pbrowser/]

FILE REMOVED

> move pbrowser to the attic, last real update was in 2005, it's not LP64
> safe (segfaults at startup) which nobody has reported, so seems unlikely
> that it's getting much use, unknown whether it still works with a current
> ports tree which has moved on quite a lot in that time.  ok jca@ zhuk@

CVS log for ports/sysutils/pkg_mgr
[http://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/sysutils/pkg_mgr/]

> pkg_mgr is a high-level, user-friendly package browser for OpenBSD. It
> allows the user to install, uninstall, search and browse available
> packages, using a simple curses interface. It relies on sqlports for
> its internal database, and pkg_add/pkg_info/pkg_delete for package
> operations.

Upgrading sqlports-compact keeps your pkg_mgr aware of current ports.

> So, I guess I should look at BiosDisk too.

If one utility warns you could potentially have unpredictable flashing
results, how is the other utility that does not warn you so different?

Tech support may not be engineering support, which you could then need.
Simply just use the manufacturer tools and not blame third party tools.

Reply | Threaded
Open this post in threaded view
|

Re: FOSS tools for flashing motherboard BIOS?

alan01346
> Upgrading sqlports-compact keeps your pkg_mgr aware of current ports.
>
>> So, I guess I should look at BiosDisk too.
>
> If one utility warns you could potentially have unpredictable flashing
> results, how is the other utility that does not warn you so different?
>
> Tech support may not be engineering support, which you could then need.
> Simply just use the manufacturer tools and not blame third party tools.
>

Because of the dozens of different machines on which this runs I'm not
sure that mine is one that has the problem.  I'd like to actually see
the warning before I decide not to use it.  Biosdisk is about 6 years
old so I decided to not go that route.  Of course the machine is about
10 years old and so is the BIOS image.

The manufacturer tools rely on Windows Vista which I don't have or
want.  If they had a more typical floppy image file I'd use it.  I
suspect it might run  under XP but I don't have a way to put XP on the
machine, since it's booting from CD/DVD I'm trying to fix.  Although I
do have a hard drive with XP on it from another machine which blue
screens on this one, maybe I can bring it up in safe mode or
something.  Especially if it doesn't need GUI.

Inside HP's upgrade file is:

total 7600
drwxr-xr-x  1 root  wheel    16384 Jun  5 15:14 INSIDE

total 96
-rwxr-xr-x  1 root  wheel  36864 Mar 15  2007 FLASHER.EXE
-rwxr-xr-x  1 root  wheel    175 Sep 12  2006 FLASHER.INI
drwxr-xr-x  1 root  wheel  16384 Jun  5 15:14 winphlash
drwxr-xr-x  1 root  wheel  16384 Jun  5 15:14 winphlash64

./INSIDE/winphlash:
total 4096
-rwxr-xr-x  1 root  wheel  1083214 Aug 26  2008 30CDF2D.WPH
-rwxr-xr-x  1 root  wheel    32768 Aug 14  2007 FLASH.DLL
-rwxr-xr-x  1 root  wheel      567 Aug 26  2008 FLASH1.INI
-rwxr-xr-x  1 root  wheel     2816 Jun 20  2007 FLASH1.SYS
-r-xr-xr-x  1 root  wheel   995383 Jun  6  2002 MFC42.DLL
-r-xr-xr-x  1 root  wheel   401462 Jun  6  2002 MSVCP60.DLL
-r-xr-xr-x  1 root  wheel   266293 Jun  6  2002 MSVCRT.DLL
-rwxr-xr-x  1 root  wheel      298 Oct  5  2007 PHLASH.INI
-rwxr-xr-x  1 root  wheel    26883 Mar  3  2006 Phlash9X.vxd
-rwxr-xr-x  1 root  wheel   200704 Mar  1  2006 PhlashLc.dll
-rwxr-xr-x  1 root  wheel    38592 Oct 19  2006 PhlashNT.sys
-rwxr-xr-x  1 root  wheel    45056 Aug 14  2007 WFLASH.EXE
-rwxr-xr-x  1 root  wheel   283648 Aug  3  2004 WINHLP32.EXE
-rwxr-xr-x  1 root  wheel   380454 Jan  8  2003 WINPHLASH.HLP
-rwxr-xr-x  1 root  wheel   290816 Oct 19  2006 WinPhlash.exe

./INSIDE/winphlash64:
total 5824
-rwxr-xr-x  1 root  wheel  1083214 Aug 26  2008 30CDF2D.WPH
-rwxr-xr-x  1 root  wheel    32768 May 11  2007 FLASH.DLL
-rwxr-xr-x  1 root  wheel      562 Aug 26  2008 FLASH2.INI
-rwxr-xr-x  1 root  wheel    36864 May 11  2007 FLASH64.EXE
-rwxr-xr-x  1 root  wheel   635392 Mar 15  2007 FLASH64H.EXE
-r-xr-xr-x  1 root  wheel   995383 Jun  6  2002 MFC42.DLL
-r-xr-xr-x  1 root  wheel   401462 Jun  6  2002 MSVCP60.DLL
-r-xr-xr-x  1 root  wheel   266293 Jun  6  2002 MSVCRT.DLL
-rwxr-xr-x  1 root  wheel      298 Oct  5  2007 PHLASH.INI
-rwxr-xr-x  1 root  wheel   200704 Sep 28  2005 PhlashLc.dll
-rwxr-xr-x  1 root  wheel    44400 Mar 28  2007 PhlashNT.sys
-rwxr-xr-x  1 root  wheel   283648 Aug  3  2004 WINHLP32.EXE
-rwxr-xr-x  1 root  wheel   356352 Apr 10  2007 WinPhlash64.exe
-rwxr-xr-x  1 root  wheel  1498301 Dec 22  2006 Winphlash.HLP


--
Credit is the root of all evil.  - AB1JX

Reply | Threaded
Open this post in threaded view
|

Re: FOSS tools for flashing motherboard BIOS?

lists-2
Mon, 6 Jun 2016 16:09:46 -0400 Alan Corey <[hidden email]>

> > Upgrading sqlports-compact keeps your pkg_mgr aware of current ports.
> >
> >> So, I guess I should look at BiosDisk too.
> >
> > If one utility warns you could potentially have unpredictable flashing
> > results, how is the other utility that does not warn you so different?
> >
> > Tech support may not be engineering support, which you could then need.
> > Simply just use the manufacturer tools and not blame third party tools.
>
> Because of the dozens of different machines on which this runs I'm not
> sure that mine is one that has the problem.  I'd like to actually see
> the warning before I decide not to use it.  Biosdisk is about 6 years
> old so I decided to not go that route.  Of course the machine is about
> 10 years old and so is the BIOS image.
>
> The manufacturer tools rely on Windows Vista which I don't have or
> want.  If they had a more typical floppy image file I'd use it.  I
> suspect it might run  under XP but I don't have a way to put XP on the
> machine, since it's booting from CD/DVD I'm trying to fix.  Although I
> do have a hard drive with XP on it from another machine which blue
> screens on this one, maybe I can bring it up in safe mode or
> something.  Especially if it doesn't need GUI.

I think you're quite competent to continue but have in mind the gotchas.
From past experience I recall the command prompt stopped being truly DOS
compatible around win98, yet XP could be used to create a DOS compatible
boot disk, that would also be able to run award flashing tools.  The HP
proprietary stuff however may be another very different piece of... you
know what, so the risks that flashboot warns about may actually be Real.

Reply | Threaded
Open this post in threaded view
|

Re: FOSS tools for flashing motherboard BIOS?

lists-2
Mon, 6 Jun 2016 23:36:46 +0300 [hidden email]

> Mon, 6 Jun 2016 16:09:46 -0400 Alan Corey <[hidden email]>
> > > Upgrading sqlports-compact keeps your pkg_mgr aware of current ports.
> > >
> > >> So, I guess I should look at BiosDisk too.
> > >
> > > If one utility warns you could potentially have unpredictable flashing
> > > results, how is the other utility that does not warn you so different?
> > >
> > > Tech support may not be engineering support, which you could then need.
> > > Simply just use the manufacturer tools and not blame third party tools.
> >
> > Because of the dozens of different machines on which this runs I'm not
> > sure that mine is one that has the problem.  I'd like to actually see
> > the warning before I decide not to use it.  Biosdisk is about 6 years
> > old so I decided to not go that route.  Of course the machine is about
> > 10 years old and so is the BIOS image.
> >
> > The manufacturer tools rely on Windows Vista which I don't have or
> > want.  If they had a more typical floppy image file I'd use it.  I
> > suspect it might run  under XP but I don't have a way to put XP on the
> > machine, since it's booting from CD/DVD I'm trying to fix.  Although I
> > do have a hard drive with XP on it from another machine which blue
> > screens on this one, maybe I can bring it up in safe mode or
> > something.  Especially if it doesn't need GUI.
>
> I think you're quite competent to continue but have in mind the gotchas.
> From past experience I recall the command prompt stopped being truly DOS
> compatible around win98, yet XP could be used to create a DOS compatible
> boot disk, that would also be able to run award flashing tools.  The HP
> proprietary stuff however may be another very different piece of... you
> know what, so the risks that flashboot warns about may actually be Real.

I meant flashrom, not flashboot (different topic).  Back in the days there
were also uniflash (abandoned) and some other (universal) flash utilities.

From quick searches online HP seem to have some support resources, which is
your best bet, including the live (preboot environment) for WinXP (offlist).

Reply | Threaded
Open this post in threaded view
|

Re: FOSS tools for flashing motherboard BIOS?

alan01346
The hard drive I stick in when I want some operating systems on one
has XP Pro and OpenBSD 5.2.  OpenBSD 5.2 doesn't have libpci even in
ports so that rules out flashrom unless I want to try to build libpci
from sources (or a distfile).

I tried in XP safe mode running HP's sp40750.exe (which is a SoftPaq
like Compaq uses) and got:
  Can not open driver Flash1.sys.
  The driver is not existed or the OS is not in administrator privilege.

Flash1.sys is contained in sp40750.exe so it must be safe mode that's
killing me.

This is a Phoenix BIOS, not Award, hence the winphlash.  I think I'm
going to try the Vista drivers on HP's page, they might work with XP
and let me boot not into Safe Mode.

On 6/6/16, [hidden email] <[hidden email]> wrote:

> Mon, 6 Jun 2016 23:36:46 +0300 [hidden email]
>> Mon, 6 Jun 2016 16:09:46 -0400 Alan Corey <[hidden email]>
>> > > Upgrading sqlports-compact keeps your pkg_mgr aware of current ports.
>> > >
>> > >> So, I guess I should look at BiosDisk too.
>> > >
>> > > If one utility warns you could potentially have unpredictable
>> > > flashing
>> > > results, how is the other utility that does not warn you so
>> > > different?
>> > >
>> > > Tech support may not be engineering support, which you could then
>> > > need.
>> > > Simply just use the manufacturer tools and not blame third party
>> > > tools.
>> >
>> > Because of the dozens of different machines on which this runs I'm not
>> > sure that mine is one that has the problem.  I'd like to actually see
>> > the warning before I decide not to use it.  Biosdisk is about 6 years
>> > old so I decided to not go that route.  Of course the machine is about
>> > 10 years old and so is the BIOS image.
>> >
>> > The manufacturer tools rely on Windows Vista which I don't have or
>> > want.  If they had a more typical floppy image file I'd use it.  I
>> > suspect it might run  under XP but I don't have a way to put XP on the
>> > machine, since it's booting from CD/DVD I'm trying to fix.  Although I
>> > do have a hard drive with XP on it from another machine which blue
>> > screens on this one, maybe I can bring it up in safe mode or
>> > something.  Especially if it doesn't need GUI.
>>
>> I think you're quite competent to continue but have in mind the gotchas.
>> From past experience I recall the command prompt stopped being truly DOS
>> compatible around win98, yet XP could be used to create a DOS compatible
>> boot disk, that would also be able to run award flashing tools.  The HP
>> proprietary stuff however may be another very different piece of... you
>> know what, so the risks that flashboot warns about may actually be Real.
>
> I meant flashrom, not flashboot (different topic).  Back in the days there
> were also uniflash (abandoned) and some other (universal) flash utilities.
>
> From quick searches online HP seem to have some support resources, which is
> your best bet, including the live (preboot environment) for WinXP
> (offlist).
>
>


--
Credit is the root of all evil.  - AB1JX

Reply | Threaded
Open this post in threaded view
|

Re: FOSS tools for flashing motherboard BIOS?

alan01346
In reply to this post by alan01346
> Are you sure there is no iso image with self boot and update, ready to
> be burned on a cdrom? I don't know for sure, but I think last time I
> was using that. I don't own HP gear, but IBM/Lenovo has this kind of
> iso image and I've used it a lot.

Not as far as I can tell, and the guy at HP support I've been chatting
with maintains that Vista is the only way to do it.  I remember Vista
beta came on DVD it was so big.  I used Rufus (Windows freeware) to
load my XP ISO onto an SD card and boot from it to install XP on a
hard drive, then did the BIOS update from that.  Dell would have a
more practical solution too.  I think they had self-extracting files
that wrote an image onto a boot floppy last time I needed to use one
about 2009.  Being tied to Vista?  Yuck.

--
Credit is the root of all evil.  - AB1JX

Reply | Threaded
Open this post in threaded view
|

Re: FOSS tools for flashing motherboard BIOS?

Stuart Henderson
In reply to this post by alan01346
On 2016-06-06, Alan Corey <[hidden email]> wrote:
> The hard drive I stick in when I want some operating systems on one
> has XP Pro and OpenBSD 5.2.  OpenBSD 5.2 doesn't have libpci even in
> ports so that rules out flashrom unless I want to try to build libpci
> from sources (or a distfile).

It was added in 4.0, it's in the pciutils port. But you won't be able to
use it with flashrom without the patch that's in the flashrom port.

> So, I guess I should look at BiosDisk too.

Afaict BiosDisk is a way to generate a disk image with freedos on,
to run the vendor's flash tool. You still need a way to boot that image.

> On 6/6/16, Alan Corey <[hidden email]> wrote:
>> OK, so that's why it wasn't in pbrowser yet.  Running in single user
>> mode sounds like a pain.

Less of a pain than some options..

>> Also the install puts the man page in /usr/local/share/man/man8

It puts it in ${MANDIR}/man8, if you're not using the port then
it's up to you to set MANDIR how you want during 'make install'.

Anyway I wouldn't recommend flashrom on a machine with an EC that it
reports as unsupported unless either you have confirmation that it
works from somebody else and/or you have an alternative way to
restore the flash.  I'm not willing to say more than "it worked
on my APU2".