SuperThunder / HP_Z420_Z620_Z820_BootBlock_Upgrade

A guide and collection of resources on how to make 'version 1' HP Z420, Z620, and Z820 workstations compatible with Ivy Bridge processors.
MIT License
43 stars 7 forks source link

Can flash Boot Block 2013 with software only (FPT.EXE) by triggering MANUFACTURING MODE #12

Open bibikalka1 opened 5 months ago

bibikalka1 commented 5 months ago

I discovered that by incompletely upgrading the Management Engine (ME) using HP tools only one can trigger MANUFACTURING MODE.

The very first step is to backup the full BIOS as is: [FPT.EXE -d GOOD_00.BIN]

In MANUFACTURING MODE fpt has full write access to the entire BIOS chip, including the BootBlock area. To exit the MANUFACTURING MODE, flash back the full BIOS backup with the BootBlock replaced: [FPT.EXE -F GOOD_00_BB2013.BIN] This way you restore ME back to its prior state, and the manufacturing mode will be exited since ME looks like it looked before.

See these posts for details: https://h30434.www3.hp.com/t5/Business-PCs-Workstations-and-Point-of-Sale-Systems/Z620-Z420-Z820-Boot-Block-software-only-flash-easy-ME/td-p/9025210 https://www.techpowerup.com/forums/threads/hp-workstations-owners-club.254315/page-13#post-5251044

bibikalka1 commented 5 months ago

Did the whole procedure again to ensure repeatability - all worked as the 1st time. Entered the MANUFACTURING MODE, flashed anything and everything, and exited successfully.

Please follow the original BootBlock2013 pdf guide, for useful background!

Booting of USB is flaky if the BIOS was set to UEFI only before that. Need to reset BIOS with the button push on the motherboard. Moved FDO jumper to the lower pins, moved green PWD/downgrade protection to BB one.

Then i booted into DOS, off a USB drive. Tracked everything by dumping regions after each step, and doing md5sum.

In DOS, 1) dumped BIOS [FPT.EXE -d GOOD_00.BIN] (download IMET8 tools for DOS before doing this) 2) ran MEBLAST V8 - only ME region changed (do not cold reboot!!!) 3) flashed BIOS 2.07 (can be back to back with MEBLAST, no reboot is needed here) - only changes in this region [fpt.exe -d BIOB.bin -A 0x580000 -L 0xA70000] 4) Requested soft reboot, but computer rebooted HARD, turned itself off, and came back in MANUFACTURING MODE 5) In MANUFACTURING MODE, the GBE region had subtle changes (a few bytes here and there - the first time GBE changed!), but no changes to ME region since MEBLAST, and other key ones 6) fpt.exe has full write access to all regions in this MANUFACTURING MODE, full BIOS flash is possible including BIOS mods, BootBlock to 2013, etc. Be careful!!! 7) Do anything you want with your BIOS chip here. Flash BootBlock 2013, using a cropped 64K BB2013 binary. Can update the BIOS code area with the modded BIOS, crop this BIOB chunk out first from the full 16Gb BIOS image starting at the address 0x580000, then flash it to the chip [fpt.exe -d BIOB.bin -A 0x580000 -L 0xA70000]. Before reboot with a non-stock BIOS code, and probably any other reboot back to normal, you MUST exit the MANUFACTURING MODE. 8) To exit MANUFACTURING MODE - I restored the full backup here: [FPT.EXE -f GOOD_00.BIN] You can update your BootBlock to 2013 in the full BIN file, and flash that here. More specifically, to exit the MANUFACTURING MODE, ensure that ME/GBE area is back to what it was in Step 1 as to enable the BIOS recovery via the jumper (can do these areas 1 by 1). The BIOS recovery jumper did not work for me in the MANUFACTURING MODE, so that's why I insist that the mode is exited after you flash whatever you need to the chip by restoring ME/GBE to the original versions. 9) turned off the power fully, jumpers back to the original positions, plugged in, rebooted, all normal.

Required MEBLAST/BIOS 2.07 versions: Z620, ME7, ME8, BIOS 2.07 https://ftp.hp.com/pub/softpaq/sp59501-60000/sp59990.html https://ftp.hp.com/pub/softpaq/sp59501-60000/sp59990.exe https://ftp.hp.com/pub/softpaq/sp59501-60000/sp59991.html https://ftp.hp.com/pub/softpaq/sp59501-60000/sp59991.exe https://ftp.hp.com/pub/softpaq/sp59001-59500/sp59186.html https://ftp.hp.com/pub/softpaq/sp59001-59500/sp59186.exe

Z820, ME7, ME8, BIOS 2.07 https://ftp.hp.com/pub/softpaq/sp59501-60000/sp59992.html https://ftp.hp.com/pub/softpaq/sp59501-60000/sp59992.exe https://ftp.hp.com/pub/softpaq/sp59501-60000/sp59993.html https://ftp.hp.com/pub/softpaq/sp59501-60000/sp59993.exe https://ftp.hp.com/pub/softpaq/sp59001-59500/sp59187.html https://ftp.hp.com/pub/softpaq/sp59001-59500/sp59187.exe

My DOS script to backup BIOS in different bits. Name it backup.bat, usage "backup.bat 00", where 00 is the version number you want. `set arg1=%1 set ffrm=FIRM%arg1%.bin set ffdo=FDOO%arg1%.bin set fbios=BIOS%arg1%.bin set fmeoo=MEOO%arg1%.bin set fgbeo=GBEO%arg1%.bin set fpdr=PDRO%arg1%.bin set fbbo=BBLK%arg1%.bin set fbiob=BIOB%arg1%.bin set fbiov=BIOV%arg1%.bin

fpt.exe -d %ffrm% fpt.exe -DESC -d %ffdo% fpt.exe -BIOS -d %fbios% fpt.exe -ME -d %fmeoo% fpt.exe -GBE -d %fgbeo% fpt.exe -PDR -d %fpdr% fpt.exe -d %fbiov% -A 0x510000 -L 0x070000 fpt.exe -d %fbiob% -A 0x580000 -L 0xA70000 fpt.exe -d %fbbo% -A 0xFF0000 -L 0x010000`

The DOS script to do md5sums of all these files (usage "md5all.bat 00"): `echo off set arg1=%1 set ffrm=FIRM%arg1%.bin set ffdo=FDOO%arg1%.bin set fbios=BIOS%arg1%.bin set fmeoo=MEOO%arg1%.bin set fgbeo=GBEO%arg1%.bin set fpdr=PDRO%arg1%.bin set fbbo=BBLK%arg1%.bin set fbiob=BIOB%arg1%.bin set fbiov=BIOV%arg1%.bin

md5.exe %ffrm% md5.exe %ffdo% md5.exe %fbios% md5.exe %fmeoo% md5.exe %fgbeo% md5.exe %fpdr% md5.exe %fbiov% md5.exe %fbiob% md5.exe %fbbo%`

handy_files_for_dos.zip