[Problem] Modded BIOS for HP Elitedesk 800 G1 DM mini PC

i used the MMTool 4.50.0.23 to mod the bios. unfortunately i’ve deleted all files (both dumped and modded) to avoid future confusion :slight_smile: but now what i think (was analizing my actions yesterday) might go wrong is that i’ve mixed up the files and instead of making a trunc to 98fffff bytes of a dumped modded bios only, i’ve trunced full/stock modded firmware file and flashed it to the chip. Anyway i can not check this now as i cleared all the evidence of my fault.

Today i will ask technician to flash the full modded bios first and if it boots up - profit! my M2 should be working, if not - then he will flash full stock firmware file.

will post back.

PS. I think i will not stop in my experiments (hands scratchy) but will order a kit from Aliexpress to be able to reflash myself.

spend 1.5 hours with a guy in attempts to flash it - no luck (tried both - stock and modded full firmware file from HP website). He used CH341A flasher and CH341A Programmer software but got an error "chip contents does not match buffer. Chip Secured OTP and buffer are identical". After going home he found out that there is a bug this his version of software and our bios chip which is mx25l12873f (sits under cooling fan near m2 ssd) a different version of neoprogrammer should be used. Maybe try next time on a weekend.

Hi Guys, my mini is up again :slight_smile: flashed full stock firmware file with a nmve module injected with MMTool 4.50.0.23 usine neoprogrammer and ch341A external flasher and it works! boots up perfectly with my Kingston A2000 with no sata attached at all! See the a2000 in BIOS boot order so looks like native support :slight_smile:

However i would still need your cooperation, Gents :slight_smile:

in my failed attempt it seems that i killed the built-in intel network adapter MAC address as it displays as ffffffffff in bios and the device is not able to startup in windows device manager (error code 10). I tried to google for it and it appears that i need to write the new valid MAC into our i217-lm adapter eeprom. Any idea on how to do that? I tried with the ASRock utility to clone mac - but it fails with error "Device in D3 state".

Another bug i found is that i am not able to boot with DOS Usb stick. I could do that easily before i killed my bios but after restore - all fails. It just stops on black screen with blinkin cursor _ but sees the USB stick bootable in BIOS boot order. Tried different options in BIOS but still fail. Any gues on what could be wrong?

Thanks a lot in advance for support!

PS> m2 ssd speed is really awesome and defenetly faster that sata!!!

So guys, i’ve fixed it!

For not bein able to boot a dos/*nix usb stick it was and HP non-documented feature - this happens when NO sata drive is attached. this happened to me :slight_smile: i was not able to boot any non-efi usb but when i returned back sata drive - it booted up perfectly!

After booting dos i used Intel eeupdate.exe /nic=1 /mac=<any valid mac> and it flashed it into eeprom and the device came back up immediately after booting and bios now dispay proper mac.

So i am now happy as my mini has only m2 drive in it, W10 boots fast and i will go for xeon e3 1275L v3 to get the maximum performance from the platform. So probably see you in a month or so for a CPU microcode update if it will not pop uo straight.

Thanks @dman79 for help!

^)

Glad its fixed

Here is a comprehensive guide on how to update the BIOS on HP Elitedesk 800 G1 DM to boot from the NVME slot.

Update your BIOS first, and there you go:

  1. Make a screenshot of your BIOS system info that contains the MAC address, chasis #, etc. That can be handy later.
  2. Download the corresponding Intel ME System Tools version as described in the first post and unpack it in C:\Temp. You only need the Win64 folder from Flash Programing Tool folder. You can use the Win64.zip file I attached, if you have 9.1. It has all the files you need to succeed.
  3. Enable in BIOS the UEFI boot sources (it won’t boot if you don’t) and run Deathbringer GRUB Shell unlock posted as Part B at the end or on page 3 of this thread.
  4. Boot in Windows 10/7 x64 and open command line with admin rights and point it to C:\Temp\WIN64 folder (or whatever path you have to the Win64 folder)
  5. Dump just the writable BIOS part: fptw64 -A 0x580000 -L 0xA70000 -D bios.rom The file size should be 10,688kB(10,944,512 bytes).
  6. Confirm you can write it back: fptw64 -A 0x580000 -L 0xA70000 -F bios.rom If no go - retry step 3.
  7. Load bios.rom in UEFItool or MMTool, locate the section where dxe drivers are, and insert the NVME driver - NvmExpressDxe_4.ffs - at the end of the section after the Freeform section.
  8. Save the file as modbios.rom & reload to confirm the NVME dxe driver is there. Check the whole section, as MMTool has the habit of moving it up the list. (I prefer UEFITool). Size should be the same 10,944,512 bytes. Extensions .bin and .rom are interchangeable. Rename it as you see fit.
  9. Flash back the modded bin/rom: fptw64 -A 0x580000 -L 0xA70000 -F modbios.rom
  10. Reboot immediately to confirm BIOS is ok. Load BIOS and “apply defaults and exit”.

Now your mini should be able to boot from the NVME disk. Depending on some parameters(SSD brand, controller, etc), your NVME disk may show or may NOT in BIOS. Do not re-flash over and over (till you brick it ), just test it, by installing Windows 10 from a USB and see if it boots into it successfully. If it does, you’re all set. You’d see in Boot Order a new item under UEFI sources “Windows Boot Manager” - that’s your NVME disk. Resetting again the BIOS to default and restarting made the NVME to show up in BIOS for me this time.

PART B

Deathbringer unlock - Protection can be disabled in EFI GRUB Shell:
  1. Take a USB stick and format it to FAT32
  2. Create directory structure EFI\Boot
  3. Download and unzip bootx64.7z (it’s in the Win64.zip)
  4. Put BOOTX64.EFI in Boot directory.
  5. Boot from this USB stick
  6. At the prompt, run these commands:
    setup_var 0x96 0x0
    setup_var 0x97 0x0
    setup_var 0x98 0x0
    setup_var 0x99 0x0
    setup_var 0x9a 0x0

Enjoy.

EDIT by Fernando: For better readability I have formatted the guide.

WIN64.zip (4.72 MB)

@Xnet will this method work for elitedesk 800 g1 sff running 2.78 bios?

@elitepc - your HP being from the same family, the steps would be pretty similar - but the numbers may be different. You just have to find out what ME version is, (to download the proper version), then the size of BIOS region, where it starts and the protected range. If you read this thread and the links posted within, you’ll find out how to do all that.

@elitepc

Hi ,
if I flash directly to the bios the one attached to you (bios.rom) would it be ok? Without taking all the steps? Do I put it on a bios.rom stick and flash it directly?

Hi All,

I also have an 800 G1 and would like to boot from NVMe. I have started working on the steps provided by @Xnet , I’m currently unable to write my BIOS back so I will restart from step 2.

Would I be able to use the BIOS provided by @Xnet even though the CPUs are different? If not would someone kindly modify mine?
Update I managed to mod my bios and flash.

HP elitedesktop 800 G1 mini DM
BIOS 2.33
ME v9.0
CPU 4570T

Thanks

bios.rar (3.36 MB)

Hi @Xnet /All,

Thanks for the guide you provided, very helpful.

I’ve hit a wall, all steps have been completed without errors, unless this is an error when flashing: PDR Region does not exist.

I have added NvmExpressDxe_4.ffs to my bois dump and flashed it back.
I see that DXE driver has been added just above the ‘free’ space’ in the DXE section.

I’m still not seeing my NVMe as a bootable drive, have I missed something?

Thanks in advance for any advise.
The-cube

Hi,

After some more reading, “PDR Region does not exist” is to be expected.

I’m still at a loss why my m2 is not showing as a bootable drive, however I will take a 3rd look at this over the coming weekend.

Any progress will be reported along with changes made.

Thanks.

Hi

Tried adding NvmExpressDxe_4.ffs to my bios.rom using MMTool and bricked my machine. Not sure what went wrong.

The-cube

@Edecat
You can certainly try if you have the same hw. From Windows it’s easier. For DOS you have to use the DOS flasher. #2 is required though to be able to flash.

Hi Cube - I guess after Thursday flash your mini was fine, unfortunately I missed your message. All gen 4 i3-i7 CPUs are good to go with that bios file as long as they are not ES (eng sample) flavor.

I flashed my friend’s 800 dm a few days ago, and got the same. After the flash & reboot, the NVME didn’t show up in BIOS as well, however I was able to install and boot Win 10 from NVME drive. After that I applied the BIOS defaults and the SSD showed up fine after the next reboot.

The best test is installing Windows 10 over UEFI. If Windows 10 setup continues after the first reboot, you’re good to go, even if BIOS fails to display it. My Sony VAIO Pro that I modded in 2017 is like that and I couldn’t care less. It boots, and it’s all that matters. However, a little too late for you now.

I’m not sure how did you manage to brick the unit, however don’t despair. Been there, done that, too. Just order a CH341 kit from Amazon or whatever and follow BigMax story. I may be able to help you with that too.

Hi @Xnet

I’ve taken a look at what BigMax done, they used a ch341A.

Do I need ch341A or ch341?

Looking at Amazon there are ones with additional connections and cables, do I need all the extras ?

Are there any guides that will help me flash back my working Bois dump?

Thanks
The-cube

Right - CH341A with SOIC-8 cable, so you can connect to the bios chip without unsoldering it. The process is not complicated - connecting the cable clip properly is the toughest thing.

Thanks,
Orders placed.

Welcome. Now would be good to make some prep for it. You going to need another PC/laptop with Win 7 (ideally), and there’s a mod to be done to CH341A. It made sense to me, so I did it, however other users, not handy with soldering, went ahead and used it un-modded and some claimed it went ok.
Check this link: https://www.youtube.com/watch?v=-ln3VIZKKaE
If you have what it takes - do it. I’d recommend to do the other 3 connections first and leave the IC pin 28 at the end as it breaks really easy. If you don’t, then you can try as it is.
Check this one to familiarize yourself with it: https://www.youtube.com/watch?v=OttN8wQ1HhE

It’s alive!

Thanks to @xnet my mini has been resurrected and is now booting form the NVMe.

I should have stopped at My first attempt using UEFITool, although my drive wasn’t showing in the BIOS, Windows 10 is still able to install and boot.

The damaged happened when I used MMTool to add the mod.

Thanks again to @xnet for your assistance and pointing me in the direction of the external USB programmer (CH341A).

The-cube