How to update HP BIOS using latest HPFirmwareUpdRec with SCCM

Jonathan LefebvreSCCM20 Comments

5
(5)

At a client site, they received newest HP models to be tested. Downloading drivers and BIOS updates were the usual. Looking at details about the BIOS update, we noticed that the HPBIOSUPDREC.exe that was used was no longer available.  HP released a new version called HPFirmwareUpdRec to replace it. Even if the help stated the command line to be the same, it turned out it didn’t work at all. Unfortunately, it doesn’t seem HP documented the new tool and how to use it. we were able to figure it out by digging into HP forums…

In this post, we will show hot to update HP BIOS using the latest HPFirmwareUpdRec tool within a task sequence.

Prerequisites

When downloading the bits from HP, looking at the BIOS files you need to see HPFirmwareUpdRec.exe.

If the file is not there, the update should be done using the old tool HPBIOSUPDREC.exe like before.

SCCM BIOS update HPFirmwareUpdRec

Update HP Bios with HPFirmwareUpdRec

  • Looking at the help from the old and new tool points to the exact same command line or almost…

SCCM BIOS update HPFirmwareUpdRecSCCM BIOS update HPFirmwareUpdRec

  • If we look closely, the -F as changed from specifying the ROM Bin file, to specify the folder containing the firmware update files.
  • After multiple testing, turns out that we can just skip the -F option and the tool will find the .BIN file within the source folder and use it.
    • The command line should be : HpFirmwareUpdRec64.exe -s -pPWD.bin -r -b
    • The -b option turned out to be necessary even if BitLocker was not enabled yet as part of the task sequence.
    • So the Run Command Line set should look like this.
    • the package used is pointing to the root of the folder where the tool and the .BIN file are located.
    • Note that the previous password.bin file worked just fine.

SCCM BIOS update HPFirmwareUpdRec

  • But that was not the end to surprises. On the new models, HP provides by default an HP_TOOLS partition of 2GB. Turns out that the HPFirmwareUpgRec is using that partition to update the BIOS.
    • without this partition, the BIOS will NOT update at all
    • Add to your partitioning task the following partition
    • No need to assign a letter for that drive, but the name is important.

SCCM BIOS update HPFirmwareUpdRec

  • Once this was added the update went well! Hurray!!
  • Retrying the task sequence over the same computer brought up another error for the BIOS upgrade. Return Code was 282.
    • Manually running the command line from within windows led me to better understand the error.
    • Under the run path of HPFirmwareUpgRec, it will automatically create a log file with the same name.
    • This log provided the details about the error code 282, which simply state  Same Firmware version no need to update!

SCCM BIOS update HPFirmwareUpdRec

Note
This is the log file I used to figure out the previous steps.

Error codes I saw were :

3010 for pending restart

282 for Same firmware version

9191 for the unknown file, while trying to specify the .BIN file

  • So we would like to consider the 282 error code as a success code. On the Options tab the run command line, simply add 282 to the list of Success codes!

SCCM BIOS update HPFirmwareUpdRec

 

Voilà!

[ratings]

Share this Post

How useful was this post?

Click on a star to rate it!

Average rating 5 / 5. Vote count: 5

No votes so far! Be the first to rate this post.

20 Comments on “How to update HP BIOS using latest HPFirmwareUpdRec with SCCM”

  1. Can I simply say what a comfort to uncover somebody that genuinely knows what they are talking about
    on the net. You certainly realize how to bring an issue to light
    and make it important. More and more people have to check this out and
    understand this side of your story. I was surprised that you’re not more popular given that you definitely possess the gift.
    judi sbobet terpercaya

  2. Great Info! I just wish i had discovered this before figuring it out on my own. I have encountered an additional issue that i was hoping to find an easy solution for. If the system being installed has a newer BIOS version that what you have specified in your TS, the tool will attempt to roll it back to the older version on boot. But before rolling back it prompts the user to enter a 4 digit random number to accept the change. I don’t think rolling back is a good idea without reason, so i’d like to leave a system with a newer BIOS rev as is. Anyone solved for this yet?

    1. Hi ,

      we are having the same issue the new G5 series unable to recognize the current new version loaded in bios. how this was resolved in your case

      1. I solved this by adding another condition:
        select * from Win32_BIOS where SMBIOSBIOSVersion = “R94 Ver. 01.01.03″

        Obviously replace the R94 Ver. 01.01.03” with whatever your current version (the one that needs an upgrade) is.

        So, I have two conditions, model and bios version. Only run the update if both are met.

  3. Hello Great Post!
    I’ve only a question.
    I encountered a problem when I create the HP_TOOLS without assigning a letter.
    The TS has failed (from the logs it says that WMI cannot mount the partition… )
    Any idea why is that?

  4. Thanks for posting this. This was extremely helpful!

    I am running into a problem where the -pPWD.bin switch isn’t working. I get a BIOS password prompt on reboot after running the command. The update does apply successfully if I manually enter the password. PWD.bin is in the same directory as HpFirmwareUpdRec.exe.

    Any suggestions?

    Thanks in advance.

    1. Yes…same happend with me. Update ran successfully, but it did asked for the password post reboot.

      while typing in the password leads to the completion and pressing escape will follow the next step in TS.

      Any help will be highly appreciated.

  5. I use HP Image Assistant and run this command to automatically pull the latest BIOS/firmware/drivers from HP:

    HPImageAssistant.exe /Operation:Analyze /Category:All /Selection:All /Action:Install /SoftpaqDownloadFolder:C:\HPIA /Silent /ReportFolder:C:\Logs /BIOSPwdFile:currentbiossetuppwd.bin

    The currentbiossetuppwd.bin is generated when running HP Image Assistant in normal mode. I haven’t touched driver packs for almost a year now. The only issue is it doesn’t like to run under the SYSTEM account in 1809… yet.

  6. for my case I did this for BIOS HP 800G4 HC and HP 840G5 in the Winpe 5.0 before update the bios
    S:\ is the default drive for EFI partition in WINPE

    Connect to network folder “drive content location will be V: ”

    Add “run Command Line” with
    xcopy.exe “*.*” “S:\EFI\HP\” /E /C /I /Q /H /R /Y /S
    Starting in : V.\

    Update the BIOS by running the commande
    S:\EFI\HP\HpFirmwareUpdRec64.exe -s -r
    Starting in : S.\

    it must have a folder name called HP on EFI PARTITION S:\EFI\HP\ and run it from S:\

    Thank to HP for this information

  7. Was there a resolution for the 3010 error code? The machine i have is rebooting (as expected with the code) but the Firmware update is not happening.

    Thanks

    Dave

    1. Hi Jonathan

      I have managed to move on from the 3010 error and im now seeing a error 260 –

      Mount EFI Partition returned WMI Error. 0x8004102F
      No BIOS recovery partition was found
      HPFirmwareUpdRec Return Code = 260

      I am creating a 2GB HP_Tools partition

      Any ideas?

    1. Hi Michael,

      nope haven’t seen that behavior… Try to run the same command from within Windows and look at the log file. you might see more details.
      Jonathan

  8. Hello Jonathan,

    Thank you for the documentation its very helpful considering HP has nothing!

    I tested this but could you please confirm if you are running the stepo after OS or in WINPE? as when i run the same steps in WINPE i get 260 as error and dont find any log to troubleshoot. ( running it via SCCM )

    1. Hi Priya,

      that is correct, I do it after the OS.
      Try to open the log with the command prompt in PE to see what mean error 260.

      the log should be on c:\_smsTasksequence\packages\\HpFirmwareUpdRec.txt ( or x64 depending on which you chose)

      Please share the result, and I’ll add it to the list of codes in the post.
      thanks!
      Jonathan

      1. Hello

        So what I did was, we partition legacy to UEFI first then apply BIOS setting and then partiton UEFI and apply operating system , normally this was working until this new firmware update.

        I added the HP_Tool partition as mentioned to the first partition , it fails with 260
        HPBiosUpdate::Partition::FindEspPartition|PartitionStyle == PARTITION_STYLE_GPT, PartitionCount: 3
        HPBiosUpdate::Partition::FindEspPartition|No GPT hard drive found.
        |HPBiosUpdate::Partition::AccessEspPartition|No ESP partition found.
        |HPBiosUpdate::Partition::FindHp_ToolsPartition|Mount EFI partition returned WMI error: 0x8004102F
        CHPBiosUpdateApp::ExitInstance|HpFirmwareUpdRec Return Code = 260

        Then i removed the Legacy conversion partition and kept only the UEFI partition it fails again with 260

        HPBiosUpdate::Partition::FindEspPartition|ESP partition found: index=0 PartitionNumber=0.
        HPBiosUpdate::Partition::AccessEspPartition|ESP drive already mounted as S:\.
        |HPBiosUpdate::Partition::AccessEspPartition|Error creating S:\EFI\HP\: 0x3
        |HPBiosUpdate::Partition::FindHp_ToolsPartition|Mount EFI partition returned WMI error: 0x8004102F
        |CHPBiosUpdateApp::PrepareEfiFlash|No BIOS recovery partition was found.
        CHPBiosUpdateApp::ExitInstance|HpFirmwareUpdRec Return Code = 260

        I did a manual Diskpart adn tested i still get the second error so i decided to do the below
        I kept the UEFI partition , but moved my flash step after apply OS then it works.

        Looks like HP wants to run all its flash in OS now. we had similar issues with TPM flashing too.
        hope this helps:)

        good day

        Priya

  9. Thanks for the guide, I have noticed with the old version of HPBIOSUPDREC.exe was a bit kinky with the HP Tools partion. One way that worked for was to create a step with a commandline: diskpart /s CreateHP_TOOLS.txt

    And the CreateHP_TOOLS.txt containing:
    sel vol C:
    shrink desired=500
    create part prim size=500
    format quick fs=FAT32 label=HP_TOOLS
    assign letter T
    exit

  10. Hi Jonathan,

    Thanks for the guide. Would it be possible to put up a picture of your Disk Partition and Format step?

    I take it your using UEFI. For some reason mine setup doesn’t find the HP_TOOLS partition.

Leave a Reply