[Request] HP EliteDesk 800 G2 DM BIOS

The bios regions are completely identical to stock bios 2.54 except for NVRAM volume.

You might exchange NVRAM volume with an empty volume from a stock bios (or just exchange the complete bios region, that’d give the same result).

In addition you might re-initialize the ME region according to

thanks for analyze, but to do it i need a guide, because i dont know how!

first i’ll download the 2.54 update bin from HP, or use the newest update with N21_0261.bin [a] is better?
from my file CZC6089T2G.bin i’ll extract ‘Descriptor region’ [b], ‘GbE region’ [c] and ‘ME region’ [d] with UEFI tool as bin files.
afterwards i would have four files, [a-d]. how i’ll make one file to use for the flash operation?

about ME:
good hint, thanks!
i guess the best scenario will be to solve the UEFI/BIOS problem, that i can access my PC and afterwards perform the ME update.

Use UEFIToolNE for extracting the NVRAM volume from a stock bios(right click ‘extract as is’) and UEFITool 0.25 or 0.28 (not NE) for exchanging the NVRAM volume (right click ‘replace as is’)with the extracted volume.

  • or -
    use UEFITool 0.25 or 0.28 (not NE) for exchanging the bios region (right click ‘replace as is’).

The ME cleaning / reinitializing is an offline task and I’d recommend to do it now since it’ll most probably will involve using the programmer again!

Check the structure with UEFIToolNE afterwards, have a look into the parser, too.

  1. please have a look at the attached screenshots
  2. the ‘Name’ row is at UEFIToolNE and UEFITool different. therefore i seek for same GUID.
  3. at the end the parser doesnt show any error > this means everything is fine.
  4. however, i attached you the moded bin file
  5. about ME … puuuuhhhh … its a huge topic with a lot of read stuff. as i understand, this is only needed i’ll use the bin file at a another PC.

CZC6089T2G-1.zip (8.1 MB)

the update package ‘sp143093’ from HP with ‘ Rev.A’ and Date ‘Oct 19, 2022’ include the file ‘ME_11.8_Corporate_D0_H_Production.bin’ at folder ‘\sp143093\ME’.
MEAnalyzer screenshots is attached from the above mentioned ME update bin and from my backup file.

what is the disadvantage to do afterwards via the update64.bat/FWUpdLcl64.exe (maybe with ‘fptw -greset’) ?
what is the advantage to inject this into the bin file?

As lfb6 pointed, any ME update can be integrated doing he ME cleaning.
Or you can later do a standalone update only to the ME FW CSME, after reviving the machine.

EDIT: Regarding the corrupted images, lfb6 expertise on this is much more than mine and he has a very high rate of success, follow his guidance.

thanks MeatWar, but this my main problem, the ME cleaning of the dumped bin file, any help about this topic is welcome.
thanks too for the hint with, because it’s never from the HP support page.

Re-initializing (‘Clean’) ME is correcting for a maybe corrupt ME configuration and has basically nothing to do with updating. A ME- update updates ME code partitions but not configuration.

Chances that your machines both had corrupt NVRAM settings that bricked them are slim. So if the operation you did in bios region doesn’t solve the problem, the last firmware related possibility is a corrupted ME. So to be sure that it’s not firmware related you have to do the ME cleaning in an separate process.

(You can’t inject an unconfigured update file into a firmware image- see output for “File System State” of [very much outdated] MEA)

Bios region in file you posted looks OK.

in case the ‘new’ bin file is working, this means if the PC run afterwards, there is no need to do the ME cleaning?

if i had no luck and additionally the ME region is corrupt too … let me ask you kindly, it’s possible to do it for me?

about NVRAM:
i see in that region values like HP_MUD (SN and product name), HP_TAGS, FactoryConfig (feature byte), BornOnDate, BuildId, HP_OA3 (windows key).
at the write opertion the BIOS chip will be formatted (earse & blank check). nevertheless, the mentioned config is lost or not?

If the machine runs and ME firmware can be updated, no.

That cooks down to

  • Open file in FIT
  • Save configuration
  • Close FIT
  • Delete ME region.bin in decomp folder
  • Copy chosen file from repo into decomp folder
  • Rename this file ME region.bin in decomp folder
  • Run FIT
  • Load saved config
  • Build

It’s kinda proof of concept- if the machine boots one can use time to reconstruct, if it doesn’t boot it’s not neccessary at all…

one of the PCs is running now, but the 2nd one not.
this PC has a different IC chip with ‘Winbond - 25Q128FVSQ - 1610’.
i tried with replaced NVRAM and i create another one who i replaced the complete BIOS region.
any idea what can i do as next?

Please post the firmware tried to repair from the machine not working.

Does this machine do anything? Fan, LEDs?

Why do you mention the different chip? Were ther eproblems writing to it? Did you check that the chip content is identical to the file intended to flash? (Separate read, file compare?)

the untouched bin file is attached at the first post.
the moded ones is attached here.

CZC62374NN-2.zip (8.3 MB)
CZC62374NN-3.zip (8.4 MB)

Does this machine do anything? Fan, LEDs?

yes, the power button LED is turn on (white). fan is running.
when i unplug the RAM, then beep and LED error code is there.
i replaced also the CPU/RAM, with the working one > same behaviour.
the USB keyboard ‘num-lock’ LED is not working, when i press the button/key ‘num’ the according LED is doesnt turn-on.

Why do you mention the different chip? Were ther eproblems writing to it? Did you check that the chip content is identical to the file intended to flash? (Separate read, file compare?)

before start i perform the ‘read IC’ to check that this clip is mounted properly. here i recognized the different chip type. no error at all. i use neo-programmer. but i tried as-programmer, calibri, ch341 1.18 and flashrom (windows version) > same. yes, after write and performed read and checked the CRC32 value, with the value that appears after opening the file.

Changes look OK, but you didn’t clean / reinitialize the ME.

Try outimage.zip (8.0 MB)

1 Like

many thanks for the bin file.
but, now i have (strange) problem.
my programmer is no more working. the red power LED is on, but its no more recognized by software. i plugged this device at a linux PC and lsusb doesnt show the device - broken after couple of use ?!?

Mostly expected… nothing “strange” of a 10€ tool.
Some last, others don’t… this is not a professional tool, its an hobby end user tool, not to last but to sell and profit instead.

Another possibility is bad connection or circuit power overload, from the system itself and the USB powered device when connected to it.

yes, it’s cheap device, but order from china tooks weeks to arrive. i can’t go to the store and buy it. the wait time makes me angry :wink:

i plugged it at three different PCs with the usage of different ports. at the windows PCs i checked the device manager and at the Linux PC i execute lsusb. no success!
is there any hint from you which i dont get?

You’re not in a different situation of a lot of users can’t get it in near local markets and/or are trying to find the cheapest ones… thats life my friend…
If your planning to rescue future machines start thinking in a more priced/professional tool.
It will pay itself, if your’re planning to go in business…

If the programmer isn’t recognized without a chip in the socket / without being connected via clamp it’s definitely the programmer.

As MeatWar says: Thos are cheap and I’m tempted to recommend ordering at least two, maybe from separate sellers.

Check the USB socket soldering, the 3.3 V voltage on the regulator the USB connections to the CH341, see CH341A Mini Programmer Schematic and Drivers · One Transistor

Changes look OK, but you didn’t clean / reinitialize the ME.
Try outimage.zip

back in game … new device is received and i flashed the bin file.
the good news stops here.

still the same behaviour after flash.

Programmer, for MCU, AVR, SPI FLASH/EEPROM, I2C, Microwire, (15.10.2021)
chiplist.dat Version: 29.09.2021
Currently selected: W25Q128FV [3.3V] 128 Mbits, 16 Mbytes
Current programmer: CH341 Black
CRC32 = 0x713396F7
Current programmer: CH341 Black
Erasing memory…
Execution time: 00:00:35.624
Current programmer: CH341 Black
Erasure control…
Execution time: 00:02:32.831
Current programmer: CH341 Black
Programming memory(verifying)… Main Memory
Execution time: 00:05:28.107
Current programmer: CH341 Black
Reading memory… Main Memory
Execution time: 00:02:33.626
CRC32 = 0x713396F7

but after turn on PC, which is without success as mentioned … but read IC have an different CRC32 value. strange or normal?

CRC32 = 0x207D2C30