I have an Epia-M Mini-ITX motherboard on which I'd like to upgrade the BIOS because of some problems I've exhausted all options on fixing. (See "Poor or no Video Performance").
I have a hard drive with fresh XP install attached to it, along with a DVD player, on the primary and secondary IDE connections, respectively.
Nothing else outside of the monitor, keyboard, mouse, and floppy drive are connected to the system.
The problem is that I've never updated a BIOS before, the instructions in the manual are poorly written, and they appear to be for someone using Windows 98 anyway. (I also know nothing at all about DOS or Command lines).
This is my hardware:
http://www.newegg.com/Product/Product.aspx?Item=N82E16811153113
http://www.damnsmalllinux.org/store/motherboards/EPIA_M10000
And I got the drivers and manual from this site:
http://www.via.com.tw/en/products/mainboards/downloads.jsp?motherboard_id=81
Some something like the BIOS clear step-by-step instructions are necessary, but these seem difficult to come across for individual systems.
Any help would be appreciated.
Thanks.
Darren Harris
Staten Island, New York.
Before you start, or even do any of the following, start the
EPIA-M, and examine the "BIOS string" printed on the screen.
Some numbers on there, should indicate the BIOS revision.
If the BIOS revision is the same as the downloadable file,
then you don't need to do any of this! BIOS flashing is
dangerous, and only do it, if the BIOS really needs to be
upgraded. I think if the EPIA-M is running some older version
(i.e. less than 1.16), then it's worth a shot bringing it up
to 1.16 . Based on the comments VIA placed next to the driver files.
Normally, I would not assume a BIOS update would make any difference
to a driver in Windows. But if VIA says it makes a difference,
who am I to argue with them ?
If the BIOS chip is socketed, and you manage to "brick" the EPIA-M
with your efforts, for a small sum of money, badflash.com can flash
a chip for you, to recover it. As long as the flash chip is say,
a PLCC in a socket, you can pull it out and replace it. So it is
possible to get out of a "bricking", if it happens.
*******
MSDOS came two ways. People used to install MSDOS to the hard drive.
It would include things like a text editor. Or, a subset of MSDOS
could be copied onto a boot floppy. (If you need a reference to
some of the MSDOS commands, and how to do stuff, try the following.)
http://www.vfrazee.com/ms-dos/6.22/help/
For BIOS flashing, all we need is the floppy version of MSDOS.
Means also exist, for putting MSDOS files on a USB key or onto a CD,
for computers which no longer have a floppy drive. For example, this
guy made a CDROM version (which would not be very convenient for
this exercise, so just bookmark this and move on).
http://infocellar.com/CD/Boot-CD.htm
For a DOS BIOS flasher, the first thing you make is an MSDOS boot floppy.
1) In Win98, "sys A:" or the like, copies the basic DOS boot files
onto a floppy. That's how I made my "good" floppy, that I use for
a lot of different DOS type tasks. My "good" floppy has over a dozen
files on it, things like CDROM drivers, SMARTDRV and the like. And
also, a DOS extender of some sort. I don't think any of that is
relevant to this exercise.
2) You can get MSDOS or FreeDOS floppy images off the Internet.
http://en.wikipedia.org/wiki/Freedos
"FreeDOS is also used to create bootable media for
updating the BIOS firmware.[17]"
HP offers that from this download page. HP has a number of packages
like this, and they're mainly "custom made" for a particular flashing
job. You use just a portion of one of these downloads, as most
of the download is irrelevant to making your MSDOS floppy.
http://h20000.www2.hp.com/bizsuppor...riesId=3442832&swItem=ob-88522-1&mode=4&idx=3
Now, that one would be a FreeDOS image plus ROMPak files for
updating a Compaq. So you're getting more "stuff" than you really
want. But still, at its core, you get stuff to make your floppy.
Rather than using that one though (which was on that Wikipedia page),
this is another one I've used. SP33221 from HP. This one puts
FreeDOS on a USB key.
http://h20000.www2.hp.com/bizsuppor...D=1093&swLang=13&taskId=135&swItem=wk-41329-1
( Might also be at ftp://ftp.hp.com/pub/softpaq/sp33001-33500/sp33221.exe )
That seems like a relatively large download, and it is (9,028,248 bytes).
Using 7ZIP, you examine the contents of sp33221.exe .
Look for the USB_BOOT folder.
In there, you'll find
FREEDOS
COMMAND.COM \___ Copy to a floppy, to be able to "boot MSDOS"
KERNEL.SYS /
HPUSBFormatter.exe <--- This one formats small USB flash keys for you
If the USB key is larger than the max size that
FAT16 can handle, this won't work. I use my
1GB flash key with this program.
When you run the HPUSBFormatter.exe, it installs HPUSBFW.EXE . It places
the tools in C:\DriveKey. The HPUSBFW.EXE is used to erase and format
a small USB flash key, to be booted as if it was a boot floppy. You don't
have to use that if you don't want to. Notice as well, the FREEDOS folder
with the two files in it, is stored next to the program. I may have
put that there myself. And that's because the HP tool has an option to
"copy some files", after the formatting is complete. Since the tool is
supposed to be making a FreeDOS boot floppy, what better thing than
to have it copy the two FreeDOS files ?
So the FREEDOS folder is
kept there, so I'll remember that's where the files are for it. This
is what my installed folder looks like today.
http://img832.imageshack.us/img832/5250/sp33221.gif
If your EPIA-M has a floppy, then you could just copy COMMAND.COM and
KERNEL.SYS to a floppy and try that. If not, you can try a small USB
key, format with HPUSBFW.EXE (FAT12 or FAT16 formatter), and it will
copy the folder of your choosing, such as the two FREEDOS files.
Then, insert the USB key to the EPIA-M and verify it boots into DOS
OK.
Once you've verified the DOS part, then you can copy the VIA flasher
vf-102.exe to the USB key, and run that. The first test you make,
of the vf-102.exe flasher, is making a *backup* copy of the original
BIOS flash chip contents. If you run into trouble during the flash, and
the new flashing attempt fails, immediately try to flash using the
archived flash image! Do not reboot the EPIA-M until you're absolutely
sure that *some* flash image is successfully flashed into it. If
the flash fails, you don't want to turn off the power, until you've
exhausted all recovery possibilities (such as flashing the archived copy).
So, take your time, and have fun.
Oh, one other thing. BIOS flash files of the type you'll be doing,
should be a power_of_two in terms of file size. If I download the
I0100116.bin file, it is 262144 bytes, which is a power_of_two (2**18).
Flash chips physically are a power_of_two size as well. So the
flash chip that file is going into, will also be 262144 (256KB)
in size.
BIOS flash files generally use 8.3 naming convention, because
they're going to be used on an MSDOS floppy. You copy the BIOS file
over to your boot media. Notice how all the files here, conform
to 8.3 naming (i.e. no longer than 8.3).
COMMAND.COM
KERNEL.SYS
vf-102.exe <--- VIA BIOS flasher for DOS
I0100116.bin <--- New BIOS to flash (262144 bytes)
archived.bin <--- This is the BIOS backup you'll make on the first run
(should also be 262144 bytes)
With some newer motherboards, the BIOS chip is 1048576 (1024K) in
size. If you're using a floppy, then the archived.bin no longer fits.
In such cases, I use two floppy diskettes. Or, as long as the MSDOS
floppy supports FAT32, I put my new BIOS file on a FAT32 partition
of the hard drive. That's another way to handle the "too big" file
problem. But for your flashing exercise, a 1440K floppy should
easily hold everything.
Don't expect to successfully do all this stuff in an hour.
It takes time to get this crap running :-( It's meant to
be a learning exercise, not a slam-dunk. I'm no MSDOS expert,
so every step for me, means pain.
The reason MSDOS is used for flashing, is so no other software
can be running at the time. MSDOS only does one thing at a time.
There are also Windows BIOS flashers, and occasionally a user
"bricks" their computer, because some other software interferes with
the process, half way through the flash operation. The most
trustworthy environment is the MSDOS floppy. At least, as long
as you can make a working MSDOS boot floppy.
*******
On my Core2 system with VIA chipset, to get the MSDOS floppy to
run there, I had to add some special stuff to one of the MSDOS
files (autoexec.bat or config.sys). That's because I was using
extended memory or something. The added stuff was to prevent DOS from
using a certain range of memory. That's just meant as a warning,
as to how complicated this stuff can get at times. I had to
*guess* as to what memory range the boot process did not like,
so it took a number of boot attempts until I got that one right.
My current motherboard, didn't cause any problems like that, when
I ran my "good" floppy image. And based on the file names here, you
can see I "acquired" a number of other files, besides the
basic ones. Using this floppy diskette, allows me to bootstrap
the installation of WinXP, using nothing more than a hard drive,
and no CD drive. What this also shows you, is the existence of
config.sys (a text file for configuring the boot process), and
autoexec.bat (sort of like autoplay). After the autoexec.bat
runs, you'll likely see the A:\ prompt next.
config.sys
DEVICE?=HIMEM.SYS /TESTMEM:OFF
;DEVICE?=EMM386.EXE /RAM
DEVICE?=EMM386.EXE NOEMS X=A000-CFFF
DEVICE?=XCDROM.SYS /D:MSCD001
FILES=20
BUFFERS=20
DOS=HIGH,UMB
STACKS=9,256
autoexec.bat
mscdex /D:MSCD001 /L:R
pause
a:\smartdrv.exe /V 32768 32768 /E:32768
So there are a lot of other things you can add to your MSDOS
floppy. For your first attempt though, perhaps the five files
mentioned above, will be all that end up on the floppy. Time
will tell.
Paul