Asus Z97 Maximus VII Hero Readjustable BAR

Let us know if you have any knowledge on how to fix the following issues.

Current known issues:-

  1. 1 Short Beep error during boot, nothing major.

  2. Doesn’t work with 32GB ram at the moment.

  3. If ReBar assigns memory, and the Adrenaline tool doesn’t work, reinstall the drivers and it should work. (Preferably using DDU).

  4. My keyboard was not detected when I tried to get into windows safe mode. (For DDU, mainly)

  5. RAM doesn’t overclock to speed set in BIOS.

#4 Workaround:

  1. Win key + R, write msconfig.exe and press enter.

  2. Click on Boot tab, check the safe boot box, select which safe boot you want (I use Network). Press OK to restart, then windows will boot you into safe mode.

  3. Run DDU, but press “Clean and do NOT restart”.

  4. Once DDU finishes, repeat step 1, but this time uncheck Safe boot, then press OK and restart into windows normally.

I’ve tested performance with rebar on/off on Cyberpunk 2077 in Lizzie’s Bar during the corpo intro mission with FSR 2.1 set on Auto. (Used Steam FPS counter, so screenshots wouldn’t show the numbers.)

With rebar off: 65-69 FPS

With rebar on: ~74 FPS

https://i.imgur.com/I9G7lTW.png

# PciBus | Remove <16GB BAR size limit (Ivy Bridge/Haswell)
3C1DE39F-D207-408A-AACC-731CFB7F1DD7 10 P:B8FFFFFFFF030000004C3B:B8FFFFFFFFFFFFFF004C3B

# PciBus | Don't downgrade 64-bit BARs to 32-bit (Haswell)
3C1DE39F-D207-408A-AACC-731CFB7F1DD7 10 P:833E067506C70604000000833E077506C70605000000:66906690669066906690669066906690669066906690

# PciHostBridge | Replace 32/48GB - 63GB MMIO region with 32/48GB - 64GB (Haswell)
8D6756B9-E55E-4D6A-A3A5-5E4D72DDF772 10 P:3BC3771548BE000000C00F000000482B:3BC3771548BE0000000010000000482B

# NvramSmi NVRAM whitelist unlock (by @vit9696)
842A454A-75E5-408B-8B1C-36420E4E3F21 10 P:9801000072:0000000072

# PciBus | Add Intel 9 Series XHCI Controller to 64-bit blacklist (fix broken USB in UEFI with 4G decoding)
3C1DE39F-D207-408A-AACC-731CFB7F1DD7 10 P:DE10D301FFFF00000B00000014:8680B18CFFFF00000B00000010

Steps-By-Step on how to do it yourself: (Thanks to @valip for the steps. I’ve modified them a bit for this scenario’s case :slight_smile: )

Add the patches above in a txt file and name it patches.txt

  1. Run UEFIPatch MAXIMUS-VII-HERO-ASUS-3503.cap patches.txt -o Z97Hero-patched.cap

  2. Use UEFITool to extract(as is) the PciBus module, PciHostBridge module, nvramsmi module from the patched file and save the result in .ffs files.

  3. Use MMTool (go to replace tab) and load MAXIMUS-VII-HERO-ASUS-3503.cap In the Browse section load the .ffs files.

  4. Go to PciBus line (Vol 03, Index 0D.), click on it and then click on Replace with the patched ffs, and PciHostBridge line(Vol 03, Index 43)click on it and then click on Replace with the patched ffs. nvramsmi is not listed by name, however, we can find it under (Vol 03, Index 8B). Replace it with the patched ffs.

  5. Here in MMTools, you could also insert ReBarDxe.ffs in Vol 03 instead of using UEFITool as an extra step, then save the result to a new .cap file.

  6. Extract(as is) the body of the capsule using UEFITool, save it as rom, then flash it with whatever method you find(For Asus motherboards) in this guide. I personally used AFUWinx64.

  7. Enter BIOS, go to Boot tab, and enable Above 4G decode, and disable CSM.

  8. Launch ReBarState.exe and set value to 14 for 16GB


Offered modded BIOS: 3503. (Use at your own risk)


Edit:Updated the guide, and slimmed the post down.

1 Like

Error code 5 means ERROR_ACCESS_DENIED according to System Error Codes (0-499) (WinError.h) - Win32 apps | Microsoft Learn

Not sure what’s causing it. I don’t think it’s Secure Boot because I have it on and can write the variable without any problems but you could try disabling it and seeing if it makes a difference.

Since you mentioned being able to compile with Visual Studio

Try replacing

bool WriteState(uint8_t rBarState) {
	DWORD size = sizeof(UINT8);
	DWORD dwAttributes = VARIABLE_ATTRIBUTE_NON_VOLATILE | VARIABLE_ATTRIBUTE_BOOTSERVICE_ACCESS | VARIABLE_ATTRIBUTE_RUNTIME_ACCESS;

	const TCHAR name[] = TEXT("ReBarState");
	const TCHAR guid[] = TEXT("{A3C5B77A-C88F-4A93-BF1C-4A92A32C65CE}");

	return SetFirmwareEnvironmentVariableEx(name, guid, &rBarState, size, dwAttributes) != 0;
}

With

bool WriteState(uint8_t rBarState) {
	DWORD size = sizeof(UINT8);

	const TCHAR name[] = TEXT("ReBarState");
	const TCHAR guid[] = TEXT("{A3C5B77A-C88F-4A93-BF1C-4A92A32C65CE}");

	return SetFirmwareEnvironmentVariable(name, guid, &rBarState, size) != 0;
}

EDIT: no need to try confirmed it’s a BIOS issue that needs patching.

Is it just me or the Extreme Tweaker stopped working after the bios mod (3503 mod). I was able to get the rebar but it costed me my OC on core and xmp since I cant activate vrm modifications and XMP modifications. it gets stuck to 1333mhz with no options to even do manual. Afterwards, multiple crashes occur with all default settings. Had to reflash back to original 3503, will try to test further and edit this for updates.

EDIT: Confirming bios mod 3503 can’t perform XMP and vrm modifications. This is tested by flashing the bios mod 3503, rebooted without changes. Went to bios, placed xmp, settings doesnt get applied. Tried doing manual as well, but to no avail.

EDIT2: Tested Bios mod 1104, perfectly working no issues seen so far. XMP working, OC to 4.8ghz working and VRM load line calibration and etc… working.

EDIT3: A bit of instability with OC on 1104 bios, but it’s bearable since rebar makes up for it and more. Had to clock down cpu just to get it stable and ReBarEXE only works at 13 in my desktop. Nvm lmaoo my OC never works on CPU in this bios, it always crashes.

Build:

Z97 Maximus Hero VII ofcourse
i7-4790k 4.7ghz 1.270v (4.8ghz 1.370v)
Gigabyte RTX 3080 Ti Eagle non oc
16gb 1866mhz g skill ripjaws
1000w 80 plus Titanium dark power 12 pro

@frince9000 Funny, two people sumbling across this on the same day.
I googled ReBAR for this mainboard out of interest because I bought an RTX 3060 Ti recently.

I did not test this yet, but I am very interested in doing so.

@Cursemex I have been wondering, why 1104 was used. It is a quite old version?
Personally I have been running the latest stable version which is 3201.
I would have tried to create a patched BIOS with that, when I have some free time.

Specs:
ASUS Z97 Maximus VII Hero
Intel Core i7-4790K
CORSAIR 4x 4GB 1600 MHz
EVGA RTX 3060 Ti FTW3 ULTRA Gaming LHR

@frince9000 @zerofixgiven

The reason 1104 was used before was due to the inability to write to rebar_variable to UEFI as it was patched by ASUS in further updates, and in order to get it working with the newer updates, Nvramsmi module had to be patched in order for us to write to UEFI again.

I’ve ran into issues myself where my mouse and keyboard wouldn’t work on BIOS when rebar value was applied, and therefore, had to apply my 4.7Ghz OC before applying rebar value. I can’t speak for XMP since I haven’t touched it with my mix-n-match sticks.

I’ll add a link for you to read over where the majority of the talk regarding this board happened.
Make a new issue or write on the one that I made for the sake of keeping posts related to the board.

Edit: Here’s the post that regards the rebar variable for more reading.

Thank you very much for the reply and the provided links, good to know the background.

I dug through the BIOS (official 3201) yesterday because I changed stuff for updating the firmware on my GPU and noticed the Above 4G Decoding was visible in the Boot category.

I did enable it (also needed to turn off CSM and Fast Boot), but then I got issues like:

  • no keyboard and mouse detection
  • one of my screens stayed black on boot (my monitors are daisy-chained by DisplayPort)

Then I reverted the settings one by one more or less:

  • The no keyboard and mouse detection issue seems to have been caused by Above 4G Decoding being turned on, which I guess it is in your case too.
  • The monitor issue went away by enabling CSM and Fast Boot, but not sure which one specifically. I guess CSM, because Fast Boot seems weird. I have not tested each of those settings separately though.

Maybe there is an issue with Above 4G Decoding being turned on.

4G decoding and CSM are available even on 1104. I noticed that the KB/M detection(USB in general, I think) is off whenever the rebar value is set. Hence, why I recommend doing all your BIOS overclocking done before applying the rebar value in Kuri0’s program. AFAIK it(the BIOS) requires further modification to get it working with 32GB, and perhaps further patching the USB detection, which will require a wizard to do so. :stuck_out_tongue:

Now, for the black display, it could be related to your ram value.(Really guessing at this point) I’m not sure if I applied the following patch to 1104, I think I did for 3502. These are the patches I’m using for my 3502, you could try using them:

# PciBus | Remove <16GB BAR size limit (Ivy Bridge/Haswell)
3C1DE39F-D207-408A-AACC-731CFB7F1DD7 10 P:B8FFFFFFFF030000004C3B:B8FFFFFFFFFFFFFF004C3B
# PciBus | Don't downgrade 64-bit BARs to 32-bit (Haswell)
3C1DE39F-D207-408A-AACC-731CFB7F1DD7 10 P:833E067506C70604000000833E077506C70605000000:66906690669066906690669066906690669066906690
# PciHostBridge | Replace 32/48GB - 63GB MMIO region with 32/48GB - 64GB (Haswell)
8D6756B9-E55E-4D6A-A3A5-5E4D72DDF772 10 P:3BC3771548BE000000C00F000000482B:3BC3771548BE0000000010000000482B
# Fix Nvramsmi
842A454A-75E5-408B-8B1C-36420E4E3F21 10 P:9801000072:0000000072

with that, I managed to run up to 24GB of ram without blackscreen, which I had to remove the video card power and use my iGPU to reset rebar value.

Now, I know that nvidia’s cards don’t play well without VBIOS flash according to Kuri0, so I’m not sure about @frince9000 's 3080 Ti, but guess it’ll be the same. (Different VBIOS for his card, obviously.)

Beyond that, I’m afraid I cannot be anymore helpful.

Okay, I see, this behaviour is somewhat unfortunate. :sweat_smile:
I do not think that I will dig that deep into that, since I do not have much knowledge about that. :smile:

The black display occures still on official BIOS, I did not test any modified BIOS yet.
Which is the reason why I find it strange, that this happens.

Thank you for providing an updated list of patches.
I guess with that it is no longer needed to insert the NvramSmi from BIOS 1104?

According to EVGA Precision X1 my VBIOS should be up to date.

It was very helpful for me, so thank you very much. :slight_smile:

Indeed, with those patches you no longer require inserting nvramsmi from older BIOS.

Kuri0 recommends having 4G decode on regardless, says it’ll boost performance by few frames.

Good luck :slightly_smiling_face:

so 1104 does have the option to enable 4g decode in the bios or its just hidden, and the ability to force bios use UEFI instead CSM?

or 3502 didnt have the 4g decode string?

You CAN use 4g decode on 1104 and 3502. They’re under boot tab.
The difference in term of moddin/pqtching is that after 1104 we can’t write to UEFI as Asus locked it for safety reasons, which required us to copy nvramsmi from 1104 and insert it to newer BIOS versions like 3502 to enable write us to write to UEFI again. This was before i found the patch that alloedw us to write to UEFI, which made copying nvramsmi to 3502 or other versions unnecessary.

Hopefully this made things clearer.

1 Like

Hey dears! Thank you very much. I would like stay sure, if this Flash any / most asus motherboard bios in dos with... - Republic of Gamers Forum - 735168 is the correct method for flashing you modded.rom file or how should i flash it?, i have a Maximus VII Hero and i want use your modded bios. Thank you for this great work!

Can run my stable 4790k 4.7ghz? and get the ReBar ? I have 32 GB of RAM, and my M.2 is connecting using PCI port and adaptarter of m.2 to PCI

Hello,

I’ve used the guide you linked as a backup for flashing in case something went wrong. However, I mainly used the AFUWinx64 flashing method and it worked flawlessly with me.

You can find the link for the program in my first post, and the guide to use it here:

Edit: read your edit, I’ve ran mine on 4.7Ghz for a while during fall/winter untily cpu thermal throttled and reverted back to 4.6Ghz.
It unfortunately will only run with 24GB of ram, and 32GB will give you an error. The main reason is that the bios will require further patching to support 32GB, and I have no experience in doing any of that.
As for the M.2, I don’t have one installed, so I dunno.
Also, expect to have few beeps during boot. Keyboard and mouse(USB) are not detected after you enable 4G decoding and turning off CSM

1 Like

Ty bro, I’ve flashed your modded bios, but i dont understand, if i use this BIOS only can use 24GB of RAM? or it happend when try enable the resizeable bar? or when use patches with UEFIPatch.exe ?

I am new in this. All looks nice and stay working for me but i am waiting for enable ReBar

Honestly, I’ve forgotten. I’ve done it in december-ish and don’t recall the small details.

I THINK that it happens after you enable 4G decoding and turn off CSM and them set the calue in Kuri0’s program.

And, yes. You will only be able to use 24GB of ram. You’ll get a boot post error beeps and reboot indefinitely if you have 32GB of ram.

In case you run into any problems. Clear your CMOS.

Best of luck

1 Like

Broooo help me please, now my pc is on blackscreen, the mouse and keyboard are turn on but cant see nothing. Try clean CMOS but i cant enter in BIOS i am afraid xD

What should i do? Bro do you have telegram? Could give a small hand, i am @junklont here

EDIT:SOLVED, reboot without GPU and use iGPU to disable ReBar.
Ty very much guys (I sensed the ultimate demise in my heart hahahahah xD)

there is an update to rebar module, you could download the latest rebardxe on the github and replace it using mmtool, since the new version would also reset the nvram value for rebardxe once cmos reset is detected

@Cursemex did you test it? I
@Koekieezz could I do it using the .rom file of cursemex? Or could someone help us to do it, I feel that a mistake could broke all, i dont feel secure for add the new module to file.

Test what? The new rebar module? No, I haven’t touched it since I’ve set it up last time.

If you have 32gb of ram, your gpu won’t load. As I’ve said, I haven’t tested the new updated program, so I don’t know if anything has changed. Assuming you have (4x8GB), you’ll need to remove one or two of the ram sticks to run on 24GB or 16GB of ram, respectively, if you want to use rebar without the blackscreen. The value you should enter is 14 which will allocate 16GB of ram, if you enter 15 it’ll calculate 32GB of ram and you’ll run into issues such as black screen.

As for the new module, I’ve made a new ROM with it just now.
I have not applied it myself since I have work and university, and won’t do so until I’m done with this semester in late May. I need my pc up and running until then :sweat_smile:

So you can try it at your own risk. For precaution, have the unmodified 3503 bios on a stick following the flash guide you linked for backup flashing in case anything goes awry. I’ve followed my own guide to patch it, but I’m about to fall asleep, so I may be exaggerating the risks, but you never know :stuck_out_tongue:

Best of luck

Edit: Going through my old files, seems like I missed a step and one file. :man_facepalming: It’ll give you an error when assigning value to UEFI.
I’ll need to re-write the guide at some point.
Anyways, here’s the “fixed” version. Let me know if it works if you do test it.

1 Like