ASUS A7N8X Deluxe rev 2.0 + Silicon Image 3112 SATA + Vista

BIOS update, EIDE card, or overlay software? (FAQ Hard disk recognition)
Post Reply
warp9pnt9
New visitors - please read the rules.
Posts: 2
Joined: Sun Jul 20, 2008 8:35 pm

Mainboard: ASUS A7N8X Deluxe
Revision: 2.0
BIOS: 1008 (1009 is for rev <2.0)
SATA BIOS [int]: 4.2.47
SATA BIOS [ext]: 4.3.84

Problem:

1) Vista SP1 won't recognize my SATA disk on Silicon Image 3112 SATA-150 controller.
2) Silicon Image added driver support for Vista but requires newest BIOS.
3) SiI BIOS is integrated into ASUS mb BIOS
4) Most recent ASUS mb BIOS is not compatible with new Vista drivers
6) Silicon Image provides a standalone BIOS for inclusion to system mb BIOS
7) I must somehow hack the BIOS image to replace the old SATA BIOS

In Linux at the moment, no problem to detect all my hardware. ;-)

Can use WINE for some windows utilities, but not reliable. Maybe 10-20% success.

What tools do I need?

I think the BIN has an embedded ZIP image. So I wonder, what is the structure and format of this BIN BIOS rom? Exactly 512kb image. Are there multiple ZIP files? Other file data? I may also update the AWDFLASH utility in the Flash Updater section of BIOS image (EZ-Flash, Crash-Free, I forget the vendor specific name for the feature).

Is there a tool kit for me to more easily disassemble and reassemble my BIN images?

What are the BIOS memory dependent locations? How can I find and update any memory dependent locations if files do not align within current size?

Any other suggestions?

----==[ EDIT #1 ]==----

I've found an interesting tool that may trivially do all that I need. CBROM6. But there's a slight bug. OEM BIOS has three PCI bins: PCI[A], PCI and PCI[C]

If I release the old SATA bin and add the new bin, it's added at the end of the list. If I first extract then release all items from the OEM BIOS SATA bin to the end of list, then add again in the extracted order, I get three PCI bins, but all say PCI[A]! Don't know if this would cause a problem or not.

----==[ EDIT #2 ] ==----

Maybe solved, about to flash new BIOS.

Following nForcersHQ post helped a lot with PCI[A] problem, but I can elaborate.

Award BIOS Editor v1.0 or 1.02 do not work for me in WINE, instant app crash. So I use only KHexEdit app and a brain, it's good enough but slower. ;-)

sireebob mentions in his post that he also noticed the same PCI[A] problem with CBROM. Solution, he notice from Award BIOS Editor some numbers assosciated with these 3 PCI location. 4086, 4087, 4088. Now, he has nearly same mainboard, and BIOS, but a little different, so I want to understand where these numbers originate.

Solution:

1) Search for STRING -lh5-.
2) Go ahead some in file and you will see FILENAME text same as output from CBROM.
3) Repeat until reach your PCI area, for me, 4247.BIN.
4) From the first filename character ("4" for me) count back 5 bytes.
5) Ignore first three bytes: 20 01 0C (for first I see 08, 0A, 0B or 0C)
6) 4th byte is the 40, 5th byte is the 86, 87, 88 etc. Little Endian.

So add first PCI BIOS BIN goes to 4086:0000 and is PCI[A] by default. CBROM is broken and should recognize existing PCI[A] as with Extract and Release options.

For remaining, manually specify option with /other 4086:0 and it all appears correct!

So now I try to flash now...
Last edited by warp9pnt9 on Tue Jul 22, 2008 5:07 pm, edited 1 time in total.
edwin
The Hardware Archivist
Posts: 6286
Joined: Wed Mar 20, 2002 7:11 pm
Location: Netherlands
Contact:

make sure to keep a backup of your current bios...
edwin/evasive

Do not assume anything

System error, strike any user to continue...
warp9pnt9
New visitors - please read the rules.
Posts: 2
Joined: Sun Jul 20, 2008 8:35 pm

edwin wrote:make sure to keep a backup of your current bios...
Of course!

My dev environment:

1008-D.BIN -> OEM BIOS
1008-D.BIN.BAK -> BACKUP
NEW.BIN -> always begin with a copy of 1008-D.BIN

Why two backup copies? I'll never touch the *.BAK file, but maybe by accident copy the NEW.BIN back to 1008-D.BIN or some stupid thing as result of happy fingers. :P

Also, using a custom made bootable CDROM ISO created in Linux with K3b (genisoimage & wodim under the hood).

I include FreeDOS inital boot disk as the El Torito boot floppy image, AWDFLASH.EXE, NEW.BIN and 1008-D.BIN if flash procedure is bad.

Flash was perfect. But Still Vista hates the drivers, or the drivers hate the BIOS, and I hate them all. :twisted:

So I now make a CDROM image with many BIOS version (each with different SATA ROM and LOGO with versions text graphic for test, avoid Modbin6 for moment.) I've also modded my full screen logo for fun and test. Love the CBROM tool.

Off topic:

Using AWBMtools for AWBM<->TIFF logo conversions. Also each version of drivers that work with each version of BIOS. Eventually I hope a combination will work. Currently modifying AWBM tools source code to handle EPA logo format AWBM, as EPA logo slightly different than LOGO format. I'll try to contact original author to submit new code, else create a fork.
Post Reply