[REQUEST] Dell server R440 Resizable BAR mod

Hi modders,

I wonder if any of you wizards can help me in any way to add Resizable BAR support to my system. My current firmware is available from Dell here[1].
[1]: https://www.dell.com/support/home/en-us/drivers/driversdetails?driverid=5kdwv

My machine is an R440 server. I’ve done some research on the topic and it seems to me like this project[2] should have taken care of the difficult part of the task.
[2]: GitHub - xCuri0/ReBarUEFI: Resizable BAR for (almost) any UEFI system

I’ve tried to follow the instructions given in [2], but when I try to load my BIOS file from Dell (R440-021701C.cap) into UEFITool, it fails with

FfsParser::parse: not a single Volume Top File is found, the image may be corrupted

so I’m kinda stuck at the modding step in the instructions.

Thanks in advance to anyone willing to help!

Note: in my best attempt to spam the Internet for help on this, I’ve crossposted here (new user link spam limit) bios-mods dot com/forum/Thread-Dell-R440-server-Resizable-BAR-mod

Did you not try MMTool to add the module ?

I have done it on dell precision if you need help

@Windius Help would be great!

  1. Were you able to repackage your modded bios back into a form that can be flashed just like the factory ones? if not, how’d you flash it?
  2. Did you start with a factory bios baseline for your mod or did you start with a dump of your existing? If dump, how’d you dump it?
  3. Can you post a dell download link to the bios you modded and could you post your modded bios file?
  4. Did you use EFITool or MMTool or something else?
    Thanks!

@Kuri0 I looked at MMTool, but that seems to be a tool provided by AMI for their bioses I presume and I don’t have an AMI bios.

Just try using it or see what other Dell users say

@Scruffy

@Kuri0 Do you have a recommended download link for MMTool? Everything I see looks really sketchy. Who publishes the tool? Hopefully someone who has done this successfully by modding a dell DUP exe (dell update package) bios package can chime in to let us know the details of how they did it.

Thanks for your work on the ReBarUEFI repo!

best ways is read bios chip with external programmer.

on r440 there should be a service mode jumper. after making server in service mode u can use fpt to backup ur bios and then read it with uefitool (0.28 or if it give error try 0.25) after u read and u dont have much error u can modify it.
before all that best way to be sure u can restore bios is to read it with external programmer and save ur full bios. read and then save it.
i have done that with my server so if i make some mistake i can always go back to a working state.
other option is fine someone that had ur same pc as u and alreaddy did the trick

1 Like

@Scruffy Thanks! Do I understand you correctly, that you’re saying there are two ways to do this?

A) With an external programmer, and this is safer because you can flash back your original bios if you make a mistake.
and
B) With some software called “FPT,” but I have to put the board in service mode with a jumper before that method will work

Is that right?

yes, you could flash original latest bios, then dump using a programmer so that if we mod your bios, its the bios that you dumped instead of clean bios.

for intel fpt, any sort of bios security (like using jumper for service mode) must be disabled in order to use it for write/dump the entire bios chip.

That must be why this is only reading my bios as being 4KiB in size: https://www.kernel.org/doc/Documentation/mtd/intel-spi.txt

…trying to find this jumper. Of course it’s not called out in the service manual :stuck_out_tongue: https://www.dell.com/support/manuals/en-uk/poweredge-t440/pet440_ism_pub/system-board-jumpers-and-connectors?guid=guid-3ca59fd2-4d9d-401c-8499-f285aee1e7a7&lang=en-us

Though there must be a way to do this without the jumper and purely with software because I don’t need to touch a jumper to update the stock bios and I can do that just from my mouse and keyboard

Edit: wait a sec [Guide] Unlock Intel Flash Descriptor Read/Write Access Permissions for SPI Servicing

goodluck finding a way to dump your bios

@Koekieezz Is dumping the actual contents of my bios chip strictly necessary here though? I have the factory bios binary. I should be able to mod it with the rebar mod and flash it just like how the factory standard bios upgrade goes, right?

the latest .bin ones?

I’m right now running the bios from the installer package I gave in the first link at the top of the post. I recently upgraded with that package. So the bios I need to modify has to be in there somewhere, right?

well yeah, you need to dump the bios you just flashed (i suppose this is the latest feb 2023 ver), and see if uefitool would read it. since the cap/bin file from dell website couldnt do it.

So I can parse the factory firmware .cap file now. The secrets for being able to do that are in this comment: How to extract contents of this Dell BIOS package? - #168 by plutomaniac

I’ll quote it here:

Delete the first 0xA8 bytes (Capsule 0x54, $RBU 0x54) and you’ll get an LZMA stream which you can decompress with 7-zip. The resulting file usually starts with another $RBU 0x54 header followed by 2 Intel SPI images. You’ll need to split them manually, after removing some small junk in between.

Does anyone know where I can find the right FPT tool for my platform?

Looks like the FPT tool I need is in the SPS v4 ME system tools package (SPS for Server Platform Services because my mobo is server, not consumer grade). I can’t seem to find that anywhere though. I have found a few times around the forums where people have posted download links to it but they’re all dead now :-/

The Intel FPT tool is part of the Intel CS(ME) engine tools package, related to the CS(ME) version according the system chipset generation.
HWInfo is a simple tool that can be used for identification.
Latest Special Topics/Intel Management Engine topics - Win-Raid Forum (level1techs.com)

@Kuri0 alright, I’ve got my bios .bin, but the 3C1DE39F-D207-408A-AACC-731CFB7F1DD7 GUID is not in it. Any ideas?