Modding a Dell Precision T3420 - AMIBCP crashes opening BIOS dump

Hi All,

I got my hands on a super cheap Precision 3420 and want to try out and mod the bios. I set myself a few goals:

  • Enable PCIEx16 slot bifurcation to use 3 SSDs (Xeon E3-1245v5 I’m running should support 8x4x4, though I’m not sure how it’s wired).
  • Unhide hidden settings if any. Specifically, I’d like to have a look of there is something that prevents this CPU from go to low PC states (only idles in PC3 drawing 12W, whereas the same OS on a i5-8500 in M920s idles below PC3 and draws around 6W).
  • Possibly add microcode to at least support i3-8100 and try if it helps with the above. However, I can do this with Coffeetime 0.99, waiting for the CPU to arrive.
  • Switching to text-mode would be a nice to have, no idea if it’s possible - some of the settings (UEFI/Legacy boot mode) can’t be changed without a mouse.
  • Learn a bit more about BIOSes and what can be achieved, gather a few more tools into my belt.

I have a BIOS dump using a CH341A programmer (properly modified), can open it in UEFITool and judging by the presence of AMITSE sections and a few Aptio strings, it seems this is AMI Aptio BIOS (of some version). However, I can’t seem to edit it with AMIBCP (tried multiple versions - 4.55 and a few 5.02) - opening the bios dump crashes AMIBCP immediately.

Note that I have previous experience tinkering with the M700/M710 bioses in AMIBCP and there everything works perfectly fine (though I wasn’t able to bifurcate their PCIEx16 slot, as there is no option for it - maybe I’ll open a topic later, not a huge priority).

Any tip on getting past this hurdle? I didn’t find many mentions on the tool crashing and when it does, usually it’s when saving files.

I’m attaching the bios dump if you want to give it a try. It probably contains semi-sensitive information (windows license?). I’m not going to run windows, so I don’t really care. Is it worth stripping that in general?

precision3420.rom.zip (8.2 MB)

You may want to try this, current know “leaked” AMI tools are not up to date for modern bioses.
Any issues related to the tool, post on the respective thread, good luck.

EDIT: @Krakonos Ignore the tool for now, follow SK guidance.
Forgot that this could be the traditional AMI(T) Dell specific.

Please, post ONE picture with expanded menu trees. The GUI of this bios does not coincide how AMIBCP and other programs parse it.

@Sweet_Kitten

Since I could not fit everything in, I expanded as much as I could so that the rest of toplevel items are still visible.

Thanks, checking the tool now!

What I’m going to do is replacing one of the items with the top level one. So that everything should become available.

I see. I’m checking the structure in UEFI Editor suggested above, seems a bit weird though. There is the 0x2710 which is presumably the top level I don’t see and even there the Advanced and Chipset have SupressIf, but I can’t find the references in there.

How do you replace the menus, using the UEFI Editor, in hex, or something else?

I’ll need to do a bit more research into the structure, didn’t even go through all the stuff, but this is progress!

Unfortunately, i don’t see any options to configure the PCIE bifurcation.

I don’t see any either. :slightly_frowning_face:

I did it a little differently than I planned. I took a bit lower level. This way there is a greater chance of success. rom.zip

Will tell it later.

Thanks for the mod! Unfortunately, it doesn’t post. Spins the fan and blinks 3xAmber 6x White. I didn’t find this in the manual, the closest is motherboard fault :slight_smile: Resetting CMOS didn’t change much, briefly showed 2x Amber, pause 1x Amber, but returned to the original state after full power disconnect.

After flashing the backup, the board is back to life.

Could it be the modification triggered the bootguard? Not that I know how it works, but I noticed in UEFITool there are a lot of regions marked. I only now found the explanation (in source code) and the Setup region seems to be in “vendor” range.

Btw. In the meantime, I found schematics for the M700 and found out why there isn’t anything about PCIE bifurcation - the pins controlling it on the socket are not connected to anything (well, not anything - there are testpoints and I’m going to use them, but I’ll leave that for another day). I expect the 3420 could be the same thing, but I could not find schematics for it.

You right. It appears to be the boot guard problem.

Next day, confirming bootguard is active. I guess there is nothing I can do about that. Also, it appears the microcode is in the bootguard vendor region as well, so no i3-8100 even for testing in this machine. Bummer.

Lessons learned:

  • Check bootguard first!
  • Don’t buy Dell :slight_smile: (More reasons, the BIOS interface is terrible, the mainboard is a bit too custom).
 ./intelmetool -b
[...]
Boot Guard MSR Output : 0x30000007d
Measured boot        : ON
Verified boot        : ON
FACB in FPFs         : ON
Module revoked       : OFF
TPM type             : TPM 2.0
TPM success          : ON
NEM enabled          : ON
Verified boot is enabled and ACM has enabled Cache-As-RAM.
You can't flash other firmware!

@MeatWar @Sweet_Kitten Thanks for the assistance to both of you!

@Sweet_Kitten If you’d be willing to write up what you did to that BIOS, I’m still interested (and probably will analyze myself as well to check)!

1 Like

I think about making a powerpoint presentation :laughing:
For you to less analyze, ask less questions after.

I actually made it. lol

2 Likes

Nice writeup, thanks @Sweet_Kitten !

I’ll continue my journey this weekend. However, I already did a few experiments with hardware modding the M700 board and it doesn’t seem to be enough. The Dell is harder, as I don’t have schematics for it.