Option ROM and UEFI issues

Only for programmers and BIOS gurus with technical questions.
Post Reply
3dfx
New visitors - please read the rules.
Posts: 5
Joined: Tue Dec 13, 2011 1:11 pm

Hello everybody!

I am having problems in executing one specific Option ROM on a UEFI based Asrock z68 Pro3 motherboard.
When installed one IT8212F based RAID controller prevents the whole system from booting. The same RAID controller works fine on every other (non-UEFI) motherboard that I tried. The problem shouldn't be hardware related, because other Option ROMs (for example ATASX or a PXE ) flashed to the same controller work fine. This makes me to believe that maybe there is some sort of memory addressing issue. The $PnP and PCIR headers in the binary look fine to me. Unfortunately I don't have the experience to figure the problem out on my own.
Would you, please, give me any ideas how can I search for the root of the problem? What is the correct way to debug Option ROM at specific environment (because in qemu with SeaBIOS it also loads fine)

I have attached the binary. Thank you in advance!
edwin
The Hardware Archivist
Posts: 6286
Joined: Wed Mar 20, 2002 7:11 pm
Location: Netherlands
Contact:

http://en.wikipedia.org/wiki/IT8212
Different implementations have significant incompatibilities, requiring BIOS updates and/or converting from one feature set to another in driver code, causing inconvenience to users.
Congrats, you just found one.

What brand/model is your controller card?
Did you try a different controller card in this board?
Using the latest bios for your board?
Using the latest bios for the controller card?
edwin/evasive

Do not assume anything

System error, strike any user to continue...
3dfx
New visitors - please read the rules.
Posts: 5
Joined: Tue Dec 13, 2011 1:11 pm

Thanks for the reply :)

Innovision DM-8401r (their support didn't answer to my e-mail)
I don't have other RAID controller, but from ASRock claim that RocketRAID 152 is working fine. I'm going to order a Silicon Image 0680 based PATA Controller but it will take another couple of weeks to arrive.
I have tested it with almost all BIOS versions of my motherboard.
I have tested it with almost all BIOS versions of the controller card. The controller boots only with one very old BIOS that I extracted from a Gigabyte motherboard with integrated IT8212F. I am currently testing with other BIOSes and if there is any success - I will write back :)
3dfx
New visitors - please read the rules.
Posts: 5
Joined: Tue Dec 13, 2011 1:11 pm

OK, sorry for double posting, but I have some progress.
I downloaded the BIOS for the GA-7n400p2 motherboard. It has integrated IT8212 controller. I extracted the IT8212 BIOS, fixed the checksums and flashed it to the controller. The controller boots fine, I can even boot from a HDD attached to it. Again - my Windows 7 64 fails to boot when there is a HDD attached to the RAID controller, but maybe I'll find a solution. The problem now is that the controller runs in RAID and not in ATAPI mode. The interesting part is that I can see from the binary that ATAPI support is included in this version. I know that you can select IDE/RAID or ATAPI mode from the BIOS of the GA-7n400p2 motherboard but I cannot figure out how can I force the controller to boot with the ATAPI version in my situation... Do you have any idea?
edwin
The Hardware Archivist
Posts: 6286
Joined: Wed Mar 20, 2002 7:11 pm
Location: Netherlands
Contact:

Your windows 7 64 being an installed version or the installation DVD? Is that an original DVD?

Yeah normally the system bios would have an entry for the option rom to set the mode, I think, not sure. IT8212 cards are strange beasts because of the sketchy documentation and the weird way they change between modes. As far as I can find you can use either RAID or ATAPI mode, not one bios for both as this requires rewiring the controller hardware...
edwin/evasive

Do not assume anything

System error, strike any user to continue...
edwin
The Hardware Archivist
Posts: 6286
Joined: Wed Mar 20, 2002 7:11 pm
Location: Netherlands
Contact:

Oh and I happen to see quite a few problems with disks larger than 128GB (no 48bit LBA support) using the IT8212F controller chip... What size are the disks you are using?
edwin/evasive

Do not assume anything

System error, strike any user to continue...
3dfx
New visitors - please read the rules.
Posts: 5
Joined: Tue Dec 13, 2011 1:11 pm

Both the installation DVD (genuine) and the installed version halt at startup. But I didn't have the time to check why. Maybe its just some kind of partitioning or master/slave /primary/slave issue. The IT8212F supports 48bit LBA and the PATA disk seems to work OK.
There are 3 HDDs on this system - SATA 500GB, SATA 160GB and PATA 160GB... And I need to add two ATAPI devices.

I have attached the two binaries:
1. int13h.bin - The latest ATAPI BIOS from ITE's website 1.7.1.64 - this one works everywhere except at the UEFI motherboard
2. ITE8212.ROM - This one is extracted from a GigaByte GA-7N400 Pro2 motherboard's BIOS with some padding and checksum fixes. It appears to be version 1.36. In the official changelog of the IT8212F's BIOSes there is no such version. It works on the UEFI motherboard but I can't figure out how to switch it to ATAPI mode. The BIOS of GigaByte GA-7N400 Pro2 motherboard has the option to switch the integrated IT8212 controller from RAID to ATA mode but I have no idea how this function is implemented...
It looks very different from the latest official BIOS - it has only one $PnP header while the latest BIOS (and all other that don't work) have 4. Newer GigaByte motherboards have version 1.41 integrated. This version looks more similar to the official ITE version (4 $PnP headers) and does not work on the UEFI motherboard.

Information about the Option ROM Header, the PnP Expansion Header and the PCI Data Structure can be found here: http://www.acpica.org/download/specsbbs101.pdf
I made a table with the differences in the headers of the working and non-working ROMs but I have no progress in that direction yet...
Attachments
8212_binaries.zip
IT8212F Binaries
(47.72 KiB) Downloaded 668 times
edwin
The Hardware Archivist
Posts: 6286
Joined: Wed Mar 20, 2002 7:11 pm
Location: Netherlands
Contact:

The official update list doesn't list the GigaRAID as it is intended for the controller integrated on the Gigabyte motherboards, it is truely an option ROM. I'm beginning to wonder if using the latest version of the GigaRAID option ROM from a more recent Gigabyte board might do the trick here. I do know you need to match the bios version and the drivers used, ITE is rewriting large portions of the bios between revisions, that can be why that 1.36 (which is a really old, old version) doesn't resemble the 1.7.x.x version at all.... Let me dig a bit deeper here, interesting stuff...
edwin/evasive

Do not assume anything

System error, strike any user to continue...
edwin
The Hardware Archivist
Posts: 6286
Joined: Wed Mar 20, 2002 7:11 pm
Location: Netherlands
Contact:

So far, found version 1.71 GigaRAID on an 925XE chipsetted Gigabyte board.
Attachments
ITE8212.zip
GigaRAID 1.71 bios option ROM
(24 KiB) Downloaded 657 times
edwin/evasive

Do not assume anything

System error, strike any user to continue...
3dfx
New visitors - please read the rules.
Posts: 5
Joined: Tue Dec 13, 2011 1:11 pm

This one won't work - it has the new design with the four PnP headers... I didn't test it but I'm sure since I have tried dozens of different BIOSes. For example the 1.41 version doesn't work too.
Actually the 1.36 is fine - I only need to find out how to switch it in ATAPI mode...

P.S. Sorry for not answering to Private Messages, but they are disabled for me since I am a new user...
admin
Site Admin
Posts: 760
Joined: Wed Mar 20, 2002 12:14 pm
Location: Belgium
Contact:

@3dfx - I have moved you to the registered members, now you can start using PM's :)
sorry for the anti-spam countermeasures we have to implement :?
edwin
The Hardware Archivist
Posts: 6286
Joined: Wed Mar 20, 2002 7:11 pm
Location: Netherlands
Contact:

I'm beginning to think the 1.36 is still legacy mode, that is why it is still working... If that is the case it may well be you need to use a seperate tool to set it to ATAPI mode...
edwin/evasive

Do not assume anything

System error, strike any user to continue...
JediGhost
New visitors - please read the rules.
Posts: 1
Joined: Mon Apr 24, 2017 12:49 am

3dfx, I hope you read this: after so many years, I have the same problem: Z68 board with ITE card, no boot.
What was your final solution in 2011? Please let me know...
edwin
The Hardware Archivist
Posts: 6286
Joined: Wed Mar 20, 2002 7:11 pm
Location: Netherlands
Contact:

We are never hearing anything since so I suspect he/she went for this:
I'm going to order a Silicon Image 0680 based PATA Controller but it will take another couple of weeks to arrive.
edwin/evasive

Do not assume anything

System error, strike any user to continue...
Post Reply