Page 1 of 1

Changing Award BIOS build date - is it possible??

Posted: Mon Dec 01, 2008 2:36 am
by Agent24
I have a motherboard where the latest BIOS was published in 1999.

The problem here is that a lot of Linux distributions won't enable APCI support on this board by default because they complain the BIOS is too old.

Now the board supports ACPI so this is not a problem, as if I force ACPI on using the boot time switch "acpi=force" then it functions normally

But this becomes annoying as I have to manually do this every time I try a different distribution or update the current one.

So I wish to edit the BIOS so the built date is 2000 or higher, and trick Linux into thinking the BIOS is newer than it really is, and thus allowing ACPI to be enabled automatically at every boot.

Only problem is that I have no idea how to do this. Can anyone help me?

Posted: Mon Dec 01, 2008 12:10 pm
by edwin
What board is this exactly? Can you give the complete bios ID string/make/model?

Posted: Mon Dec 01, 2008 10:23 pm
by Agent24
It's a Chaintech 6ASA0 (sometimes just called 6ASA)

BIOS ID string is: 12/07/1999-692-596-8671-2A6LGC39C-00

You can download the BIOS from:

http://www.chaintech.com.tw/a2111_produ ... ?serno=237 (RAR archive of what seems to be all BIOS)

Latest one is "6asa0c07.BIN"

Posted: Tue Dec 02, 2008 11:18 am
by edwin
I was thinking about the apple_rom bios patcher, but that doesn't change the release date either.

Isn't it possible to build a CD/kernel that overrides this thing by default?

Other than that you'll have to buy a commercial upgrade like the ones from esupport.com

Posted: Tue Dec 02, 2008 12:29 pm
by Agent24
Surely it is editable somewhere though, after all everything is contained inside the BIOS ROM image, is it not?

Would it be in the DMI data? (Idea I just had)

Surely it must be in some kind of standardised location/format to be readable as a general property by linux (and other things) ?

Posted: Tue Dec 02, 2008 9:19 pm
by RebelsHaven
I made the date 12/07/2005. I just can't guarantee it will boot as I don't have the board. Make sure you can recover from a bad flash
http://www.lejabeach.com/Chaintech/6asa0c07mod.zip

Posted: Tue Dec 02, 2008 11:46 pm
by edwin
Did you use a hex editor or something else? PM me if you must.

Posted: Wed Dec 03, 2008 12:32 am
by Agent24
Thanks, RebelsHaven - but I seem to have fixed it myself (more on this later, but first my reply re: your BIOS)


I didn't try it as when I opened it with awdbedit I got this:

---------------------------
Notice
---------------------------
Unable to locate the Decompression Block within the BIOS Image!

The editor will still be able to modify this image, but this component will be
unaccessable. Re-flashing with a saved version of this BIOS is NOT RECOMMENDED!
---------------------------
OK
---------------------------

Also, if I tried to open with MODBIN I got "Binary File Checksum Error !!!"

Now I could easily recover if I got badflash but from those errors I'm pretty sure I would so why bother?

What specifically did you change? I noticed when I opened it with awdbedit the sign-on and ID string messages had been changed to 2005 for the year.

Just want to know I did try that myself at one point but it did not work.


So, here's how I did it:

I decided to follow up on the idea that the date is contained in the DMI Data...

Using DMICFG I was able to verify that in the DMI was a field called "BIOS Built Date" which was "12/07/99" however I could not edit it.

I was able to save complete DMI data to a .DMI file but this wasn't much use really, as while I could edit it in a hex editor I had no way (or don't know of any way) to write it back into the BIOS ROM image

I loaded the original ROM back up in awdbedit and decided to just try opening everything inside with a hex editor.. when I got to the original.tmp file I was able to find a string "12/07/99" which I changed to "12/07/05"

I then saved the original.tmp file, awdbedit asked if I wanted to write the changed file into the BIOS - I said yes. Then I needed to recalculate the checksum as it had failed.

After that I saved and flashed the new BIOS. Now Linux doesn't complain and AIDA16 booted from a floppy disk tells me the BIOS date is "12/07/05"

Note: I have no idea if this would work for other BIOSes or if there is a better way to do this (there probably is) but it worked here in this particular situation.

Posted: Wed Dec 03, 2008 1:12 am
by RebelsHaven
Good show!

I modified the decompressed original.tmp and re-installed a compressed version of it. There was a hex byte that trailed the original.tmp that isn't in newer BIOS where the technique I used works just fine. Hence my warning.

This was the 1st older BIOS I tried to modify, and never thought about using awdbedit. I used bios information tool, cbrom and a hex editor....

Glad you got it going! :)

Posted: Wed Dec 03, 2008 4:25 am
by Agent24
Yeah it looked like something happened to the decompression block in your edit (Can't work out how or why though) but then the mod I just did to this BIOS was probably the most complicated I have done (and it wasn't very hard at all!)

Usually I just enable disabled menu items (PCChips are good ones for setting the power button to work as a standby switch by default and not enabling the menu to let you change it to normal on/off switch)

Also I replaced an onboard VGA BIOS with CBROM once... all very basic and easy stuff

Thanks again for giving it a go anyway!

Posted: Wed Dec 03, 2008 12:07 pm
by edwin
thanks for the info guys, might brush up a few modded bioses with a proper release date eventually :)