GA-H57-USB3 Need to mod BIOS to update Intel Rapid Storage Option ROM

@Lost_N_BIOS : Thanks very much for the guidance.
Now I’m using CBROM32_198 and getting past that issue, I now can display the modded BIOS image that contains the newer RAID OROM.

I’m now getting failed attempt to flash the BIOS: Q-Flash reports “File size incorrect.”, and FLASHSPI indicates “!!! Bad BIOS Image !!!”. Looks like I have more reading to do if there’s a checksum that needs to be corrected or something. Any pointers are much appreciated.

@templeofdoom - Do the mod with 140 again, but check the microcodes in not 140 version (Such as 115 or 195-198 after the mod). Sometimes when I edit BIOS, 155 always fails to display microcodes, or crashes right then, even if BIOS is OK, might be same/similar for 140
So the mod you did originally might be OK. If it’s not, try again with 115 for the entire mod, or 195 maybe. Usually above 155 is going to cause issue if you move something above a sensitive module (This case PPMinit)
You can also try with 219, it’s older than 155, so still OK to try.

Sorry, I don’t have more tips, hopefully you have flash programmer so you can recover easily if needed. H55/H57 is tricky to do, sometimes not possible to edit. Sorry I meant your BIOS is not 8MB when I said 4MB above, but I see it actually is (I was reading your CBROM info and assumed 1MB BIOS )
I will try the edit myself and let you know what I find, but I can only tell you what I see on my end mid-edit, I can’t test any BIOS.
I’ll update with mod and or info shortly

* Edit - 115 - displays ucodes properly with entire BIOS or BIOS region extracted, but does not display rest of BIOS
155/155.1 - crashes mid-ucode display with either full BIOS or BIOS region only extracted - does not display BIOS contents
199+195+196+198+182+180 - displays ucodes properly with entire BIOS or BIOS region extracted, but does not display rest of BIOS
219,124,208,220,217A - does not display contents or ucodes with full BIOS or Region, but does not crash
123 hard fail, no crash no nothing
602 - displays partial BIOS contents (2 entries) no ucodes, no crash
603B+207,214,201b,205,606,201 - similar to above, but only shows 1 entry

Oddly, with 140 I get crash same as with 155/155.1, and I do not get BIOS contents displayed like you showed above?
Mine shows same build date as yours too. Same with 149.

I don’t think this BIOS can or should be edited with cbrom, all similar issues I’ve ran into with H55N, it’s one in an interim period in Gigabyte BIOS where they were switching some things up and BIOS types were partial/mixed and different engineers were building these I think.

I will see if I can figure out how to update the RAID rom for you. You tell me, how you got 140 to display BIOS contents like that above? Nothing for me except two entries (System BIOS and the {SP} NCPU module, then crash at ucode display, even on just the BIOS region extracted)

** Edit 100 -
I found it’s using LZH compression (-lh5-) type - compressed bin location starts at 0x776069h and ends at 0x782633h. It’s 50KB compressed and it’s header checksum is 4d (Located at second byte of the compressed file), and this checksum is also stored at 0x77606Ah
I can create a replacement file, but can only get it down to 68KB no matter what I do, so it wont fit back into same position and I can’t find way to properly insert and rebuild without killing the file.
Award BIOS Editor will work with the BIOS and replace the file, but if I insert as is or LZH compressed it’s dead after re-opening, so this tool not ideal to work with the BIOS either.

If I could get it to 0xc5cb (Exact hex size), then I could easily replace via hex and update the checksum, but it’s too big for this method to work without other tools to rebuild the BIOS.
We can test verify that method would work, using a smaller 83KB or less rom, and test insert that, then you flash, but it’s a big risk if you do not have CH341A + SOIC8 test clip cable.

What cbrom did you insert with? Maybe you can just correct the checksum and it will work? Send me your file that you can’t flash, but you have updated, and I will see if I can make it flashable for you
Or you can edit that 4d checksum at 0x77606Ah with whatever the value is for your replaced compressed rom, you can find it at the second byte of it’s compressed file location. It will be near the address mentioned above I assume and will be the first byte before >> 2d 6c 68 35 2d = -lh5- followed by the pchradr.bin file name.

Hello @Lost_N_BIOS Thank you for the detailed reply.

I got the BIOS file to open/display with CBROM32_140, 149 and 198, but only after splitting the file, as indicated by Fernando in the beginning of this thread. After taking the last 1024K of the file, then CBROM will open it and display the modules.

Seems strange that the first 7 MB is unused filler/garbage?

I have done the integrate/replace with both CBROM32_149 and 198, and it displays correctly (/D), and with 140 it hangs on the Display at the end, as I described before.

BigDook and Braxess seem to have been successful with just this method, so I have some optimism…

I do not have a flash programmer to recover, so I’m trying to be as cautious and informed as possible, but if I brick the board, I’m going to have to buy a new board anyway to get the 4 TB drives to work. So that’s my backup plan! :slight_smile:

Edit: Here’s my modded BIOS that won’t flash:
https://www.sendspace.com/file/2fkz1k
This was modded using CBROM32_198, after splitting out the last 1024K as mentioned earlier in this thread.

Appreciate any help you can provide!

@templeofdoom - thanks, and sorry I missed this in first part of thread about splitting the file. I was doing myself in my own tests just by default, but I only split the BIOS from the ME part, I didn’t know it needed further splitting.
Now, since you showed me this, and 140 works better that way, I will need to recheck all those versions again with the BIOS split that way, maybe better luck with one of the cbrom’s
ME region is 5MB, BIOS is 3MB, but seems I did notice that 140 readout properly the other day when I first replied and it’s actually a 1MB BIOS in there (Out of the 3MB I pulled to begin my testing). Now, I will split it down more and see if I can get some cbrom to work properly or ABE

In your caution, I would not use 198 modified files. I would possibly use 149, since others had success. I’ll check out your BIOS before doing my own re-testing in cbrom and ABE, maybe it’s just that checksum you needed to fix.
Ahh! Never mind, I would not trust this file I didn’t see until downloading you mentioned it’s 198-edit, please upload the 149 edit you made instead, that’s less risky of a flash. Both may be fine to flash, but I’d trust versions under 155 much more than above, when you move something from above a sensitive module.
I checked anyway, at least some, and I see that PPMinit module is relocated, I would not flash this file due to that. More info on sensitive modules here - https://forums.mydigitallife.net/threads…ll-of-us.15978/

I could not check your checksum at 77606Ah location (Should be changed from 2d to 83), due to you only uploaded a 1MB BIOS. Unsure if you know, but this can’t be flashed as it is, if you were trying that this is why it failed.
You’d need to put this back into the BIOS before you can flash it, if you did that already great, if not this is why you aren’t getting anywhere BIOS must be 8MB to flash

Off to try myself and see if I can come up with something that at least looks safe for you to try
*Edit - works fine with 115 as originally suspected, but PMINIT gets moved (Due to larger file size) even if replacing “In-place”, I would not trust this either, they all may move this module and it’s not good.
155 moves it too, even while replacing in place, it moves the rom below PMINIT while 115 does not. Either way, PMINIT is moved, so not good.
BUT!!! I checked and with both 115 and 155 ENTRYPOINT is re-corrected to be same after each edit, but I’m not 100% this is the key, I think PMINIT needs to remain exact position.
Best method due to file size change needed, is to extract everything from pchraidr.bin down and then reinsert after putting in the new one, making sure to place PMINIT back in it’s original exact location hex-wise.
To do that, one of the other roms may need to be placed below PMINIT and a padding/dummy file used in it’s place, so there is room above PMINIT for the new larger rom and the padding used to take up space in place of missing to land the PMINIT at it’s original exact location
It’s very tedious to do this! But, may be only way to make it work, this has been proven to be case on many boards when trying to move something above a sensitive module.


Detailed method laid out here by @SummoneR
[Guide] Enhanced BIOS Modding of Award BIOSes
And again by @aaaaaa889 with less details
Gygabyte GA-880GM-UD2H (rev. 1.3) (3)

@templeofdoom - I think I got it for you! Fingers crossed, but looks good to me
Qflash will let us know if it says bad image, or even if it flashes in you’ll know if ROM fails due to no CTRL+I - for initial test, please disconnect RAID arrays so nothing goes wrong if it’s not good mod, but I’m not sure, that may cause CTRL+I to not function?

BIT-Reports.png

cbrom-chk.png

MemInitEntryPointx2-All-Same.png

PPMINIT-Remains-Exact.png



Qflash Checksum should be as follows, and I suggest trying h57musb3M1.f9 first (you may need to shorten name)
4411 for h57musb3M1.f9
8311 for h57musb3M2.f9

http://s000.tinyupload.com/index.php?fil…121543384140862

@Lost_N_BIOS - you magnificent individual!!!

It flashed, it updated to 11.2.0.1527, and it WORKS!

Thank you Thank you Thank you! And thank you to @Fernando for hosting and maintaining this fantastic forum!

You are correct, CTRL-I doesn’t work when there are no drives connected to the RAID SATA ports. I reconnected some drives and CTRL-I works to verify the Option ROM version and have a look at the RAID volumes.

@templeofdoom -

You’re welcome and thank you for quick report back, also thanks for the confirm on the CTRL+I, I thought it was that way about the drives. Great to know all is working perfectly, that’s a tough mod to get just right
Did you use h57musb3M1.f9, and was the Qflash checksum 4411 do you remember? I got the value on the file as a whole, but wasn’t sure if maybe it could have been on the 1MB file (3F00) instead of overall

I was successful on first try with the first mod, “h57musb3M1.f9”. I don’t remember catching the Qflash checksum though.

You guys are awesome, I’m so glad I found this forum. I encourage anyone else coming across this thread or forum to please donate so we can keep resources like this around!

@templeofdoom - Thanks for info, I assumed M2 file wouldn’t be needed, but made it just in case Qflash gave you issue with M1.
On the Qflash checksum, you can go to Qflash and select that BIOS again, but just don’t flash, and I think you can see the checkum that way before you would normally say “Yes = flash” If you wanted to check

Thanks for the kind words and support, we’re happy you found us too!

I just wanted to drop in here and say that I just used Lost_N_Bios’s modded file and was successful flashing my GA-H57-USB3 (rev2) and can see my 4tb drives. I used Lost_in_bios’s h57musb3M1.f9 file and indeed got a checksum of 4411 in Qflash. Thanks Lost_N_Bios and Fernando and templeofdoom!