[Request] Multiple Mod ASUS B250 Mining Expert BIOS 1208

Hello Win-Raid community,

I’m hoping someone can help me create a modified BIOS for my ASUS B250 Mining Expert. I’ve read through the ReBarUEFI project and the main ReBAR thread here and would like to bundle several modifications into a single patched BIOS file.

Motherboard Details:

Current Setup:

  • 7x NVIDIA GPUs (RTX 3070 x5, RTX 3070 Ti, RTX 3050) — mining Ethash on Ubuntu 24.04

  • 1x Intel Arc B580 (Battlemage, 12GB) — currently blocked from compute due to no ReBAR support

  • Kernel: 6.17 (xe driver loaded and B580 detected but unusable without ReBAR)

  • Mining use case — board runs headless 24/7

Requested Modifications (all in one flash if possible):

  1. Resizable BAR (ReBAR) — Primary goal. Need to unlock the Intel Arc B580 for compute on Linux. Currently BAR2 is stuck at 256MB. Already confirmed Above 4G Decoding is enabled and pci=realloc kernel parameter does not solve it — requires BIOS-level support. Planning to activate via ReBarState.efi 32 in UEFI Shell after flash.

  2. Coffee Lake CPU Unlock (8th/9th gen) — Would like to retain i7-7700 support while adding the option to use 8th/9th gen Coffee Lake CPUs in the future. Understand this requires injecting Coffee Lake microcode and updated GOP driver.

  3. Updated Kaby Lake Microcode — Latest security/stability microcode for the i7-7700 if not already current in BIOS 1208.

  4. NVMe Boot Support — Inject NvmExpressDxe module so the board can boot from an M.2 NVMe drive if added later.

  5. GPU Whitelist Removal — Remove or null the GPU whitelist restriction so any GPU is accepted without limitations.

Important Note on Multi-GPU + ReBAR:
I’m aware the B250 Mining Expert uses PCIe multiplexer chips (PLX) for its 19 slots and that MMIO space allocation with 8+ GPUs can be a concern with ReBAR enabled. If anyone has experience with this specific board and multiple GPUs after the ReBAR mod, I would greatly appreciate knowing if a specific MMIO High Base value was needed, or if any GPUs failed to enumerate after enabling ReBAR. If someone is willing to provide a pre-patched file I would be very grateful. Happy to report back with full results including the multi-GPU ReBAR behavior which may be useful for others running mining boards.

Thank you in advance!


Edit by Fernando: Thread title shortened

Seems not painful and time consuming at all… there should be no problem for you, using all the related individual, each mod related threads/guides, that you can find in the forum.
You may use the forum search box, using the appropriate search terms.

Thank you MeatWar. I am just supernew to BIOS modding and don’t want to mess up a good motherboard. I will attempt and let you know how I faired.

Thanks again. :slight_smile:

@Coffeeneedmorecoffee Are you planning to flash it with ch341a or using afuwin /gan method?

If you’re using ch341a (and able to operate it), send your bios dump here or via transfer.it.

If you’re planning to use afuwin method, are you able touse modded grub to set some variables (just the basic understanding that you know how to boot to mod grub and understand how to operate it)?

For CoffeeLake, are you planning to use a Xeon/Mutant cpus or just retail cpus?

Also if i may ask, where is above 4g decoding is located (please specify), and why bios v1208 instead v2001?

Hi Koekieezz, thanks for the reply and the offer!

Flashing method: I’m actually using flashrom’s internal programmer on Ubuntu — the Intel B250 chipset exposes the BIOS region as read-write via the SPI controller, so no CH341A needed for the actual flash. However, I hit SMM write protection on the first attempt. My plan is to disable BIOS Guard/write protection in the BIOS settings first, then retry flashrom. If that doesn’t work, I’ll fall back to the CH341A (I have one on hand incase I need it).

I’m not familiar enough with the afuwin /gan method or modded grub to feel confident using those approaches, so I’d prefer to stick with flashrom if possible.

Coffee Lake: No immediate plans — I’m currently running an i7-7700 and don’t have a Coffee Lake CPU lined up. I skipped that mod for now to keep the flash simple and can revisit it later.

Above 4G Decoding: It’s enabled under Advanced → System Agent (SA) Configuration → Above 4GB MMIO BIOS Assignment. Already confirmed enabled.

v1208 vs v2001: v1208 is what’s currently flashed on the board. I’m aware of the beta v2001 from mid-2021 and since ReBAR support wasn’t in it, I’ve been working from 1208 as the base. Is there a strong reason to use v2001 as the base instead? Happy to hear your recommendation.

I’ve already injected ReBarDxe and updated the Kaby Lake microcode — file is verified at 8,388,608 bytes and ready to flash once I sort the write protection.

@Coffeeneedmorecoffee

So basically, the Mod grub efi bootable are probably necessary to disable the bios lock protection, along with temporarily disable Intel ME (in this case, to downgrade/update the Intel ME Region). You can read about it here: [Guide] HowTo Fix Intel FPT Error 280 or 368

For the bios version, i usually prefer to use the latest bios available from the vendor website as a base, so i was asking you if bios v2001 has any problem whatsoever in your knowledge, since i do not possess the knowledge regarding to it, hence why you chose v1208.

It seems you do understand the how-to bios mod, and i was asking those question just in case if you needed a hand to modify it (i usually take the FD44 data from the requester’s bios dump and replace it to stock bios, sometimes also replace the already-configured Nvram Partitions just in case the same version, most of the times i do “FFF” the descriptor region for intel fpt usability, basically updating what could be updated, and done some patches for rebar and sometimes coffeetime patches, as per my usual flow).

Just make sure the Paddings/Pad-file is the same as the Bios dump.

Hi Koekieezz, thanks for the detailed explanation — very helpful!

On the BIOS lock / modded grub: This is actually exactly the problem I ran into. Flashrom failed with SMM write protection enabled — it couldn’t set the BIOS Control Register (BIOSWE bit). I was planning to try disabling it through the BIOS settings first, but if that doesn’t work the modded grub EFI approach sounds like the right path. I’ll read through the FPT Error 280/368 guide — do you think that approach will work on the B250 with the B250_original_backup.bin I already have as the dump?

On v1208 vs v2001: Makes sense that you’d prefer the latest as a base — the reason I stayed on v1208 is that it’s what’s already flashed on the board and the rig runs Ubuntu (so Windows 11 support in v2001 is irrelevant). v2001 is also still a beta. Since there’s no functional difference for my use case, rebuilding everything on a new base didn’t seem worth it.

On the mod itself: I’ve already done the injection using our own BIOS dump as the base — ReBarDxe inserted after the last DXE driver before Volume free space, and Kaby Lake microcode updated to 0xEA via UBU. Since I worked from my own dump, the FD44 and NVRAM partitions should already be correct.

On the padding: UEFITool did show a warning during the injection — “non-empty pad-file contents will be destroyed after volume modifications.” The final file is still exactly 8,388,608 bytes. Should I be concerned about that padding warning, or is it safe to proceed as long as the size is correct?

Thanks again for offering to help — really appreciate it.

Actually, yes.

Mostly on Asus bioses, having a pad-file/padding shows up/dissapear other than the original/stock ones in the DXE Volume/PEI Volumes could led the system to not bootable at all.

But if it boots at all, the system might have some instability, or even as simple as changing a certain setting in the bios led to no boot, needing a cmos reset. I have been experienced it myself, hence why i did asked before, if you do need a hand, and if you do, i might need the bios dump as-is to make as a base comparision.

Thanks for the warning — I’ll hold off on flashing what I have and let you take a look instead.

Original BIOS dump (taken directly from the board via flashrom internal programmer):
B250_original_backup.bin
MD5: ac8b72c64f6e05ab4a54fb8ba48c5c55 — 8,388,608 bytes

Modded BIOS (our current work — ReBarDxe injected + Kaby Lake microcode updated via UBU):
B250_rebar_final.bin
MD5: 8ddfa7dc6f3a5fcf6f0a3f2fd006f684 — 8,388,608 bytes

Mods applied so far:

  • ReBarDxe injected after last DXE driver (before Volume free space)

  • Kaby Lake microcode updated to 0xEA (CPUID 906E9, i7-7700) via UBU

On v1208 vs v2001 — the rig runs Ubuntu so the Windows 11 support in v2001 is irrelevant to me, and since v2001 is still a beta I stayed with the last stable official release. Happy to go with v2001 as the base if you think it’s the better choice.

On the BIOS lock — flashrom internal programmer hit the SMM write protection and couldn’t write. I was planning to try disabling it through BIOS settings first. If that fails I’ll look at the modded grub EFI method from the FPT Error 280/368 guide.

Thanks again for offering to help — I really appreciate it. :):grinning_face:

1 Like

@Coffeeneedmorecoffee i’ll look onto it in a bit :saluting_face:

1 Like

@Coffeeneedmorecoffee Here you go: B250MMRebar.rar (5.5 MB)

BTW, is PCH Configuration and PCH-FW setting is visible to your bios?

Yes, PCH Configuration and PCH-FW settings are visible in my original bios.

BTW is the file you sent a base comparison file, or is the ReBAR mod still to come?

Great! You can try to go to PCH Configuration → Security Configuration → and diasble Bios Lock

And then go to PCH-FW Configuration → Firmware Update Configuration → Enable ME Image Re-Flash → go back → ME Mode set it at Temporarily Disable(if visible, in the very bottom of the menu). Save and exit, and try to use intel FPT from here: Intel CSME: Drivers, Firmware and Tools for ME 2-15 - #2 by Fernando (pick CSME System Tools v11, and grab intel FPT under Flash Programmer Tool folder).

To flash the bios itself, here are the commands:

  1. -f -me and enter
  2. -f -bios and enter
  3. -greset and enter, and let it reboot automatically.

Do not restart before completing intel FPT, or else bios might be locked again which you might need to disable Intel ME with those 2 options under PCH-FW Configuration.

It is a ready to use file, with rebar support. Why would i sent the file for comparission only :joy:?

BTW, due to space constratint, i decided to not include any CFL/CFL-R mCode to the bios, BUT i did the patches for coffeelake to run… so all you gotta do later is to add the mCode (and fix the FIT table) of the corresponding cpuid of cfl/clf-r you have. ME is still enabled, so only retail non xeon CPUs that will work.

The bios is also CH341A-able, in case you want the flash descriptors to be unlocked (i already unlock all descriptors in the sent bios).