HP Driver / Bios Updates during OSD with System Software Manager

I recently figured out how to skip importing Dell Drivers into ConfigMgr and just dynamically apply them during OSD using the Dell Command Update tool.  Being that I have some HP computers, I was hoping to do something similar with their driver updater, but it was more work, and the documentation was poor, so I put that idea on hold.  Now that I’m setting up a new ConfigMgr environment, I thought it would be a good time to go down that road again, as I don’t want to mess with importing drivers into my new system.

My Goals for doing this is:

  1. Not having to import Drivers into the ConfigMgr console (Not saying that is bad, as it’s supported by MS, and just works, I just don’t like driver management.  I like a clean console)
  2. Having the latest Video \ Wi-Fi \ Chipset \ etc drivers installed during OSD with minimal maintenance.

This solution requires two HP Software items to be setup and working together.

  1. HP System Software Manager (SSM) (Client Package during OSD & Server Side)
    Documentations: PDF – Gives Command Line info, and explains in more detail the commands I use below.
  2. HP SoftPaq Download Manager (Server Side)

Server Update Share:  You’ll need a Server to host your SoftPaqs and create your file share.  I’m using my ConfigMgr Source Server, and created a new Share.

  1. Create a new Folder for your HP Updates, then Share it: \\Server\HPSSM$ (or whatever you want to name it.)
    Share Permissions: Domain Users & Domain Computers = Read
  2. Share Security: Add Domain Computers, Read & execute
  3. Install HP SoftPaq Download Manager (I used the defaults) – This can be on the server or Admin Workstation – I installed locally on source content server for simplicity.
  4. Setup your Configuration, OS & Models & Set Download Directory)
    Download Folder= The Directory you used for your Share
    Choose the OS you want to download drivers for.  You might have to play with this a little, nothing showed up for Windows 7 x64, until I choose the “Enterprise” version, it was the opposite for Windows 10.
    Select the Models of HP you have, I only have these 3 Models
  5. Now click “Find Available SoftPaqs in upper left, and it will populate.
  6. Select the updates you want, then click Download

Now, install the System Software Manager on the Server

  1. I just followed the defaults to let it install (Or install this on a test machine)
  2. Copy the SSM.exe & ssm.cab from C:\Program Files (x86)\Hewlett-Packard\System Software Manager to your Softpaq Download Folder and run the command from that directory: ssm /am_bld_db
    Note: in my Example, D:\Shares\src\Updates\HP\Softpaqs = \\server\hpsum$ (Driver Store Share)
    1. This will create the ssmcva.mdb & ssmcvalc.mdb files in  that directory
  3. Now your share is setup, your drivers downloaded and driver database created.


Create your Package for OSD and place in TS

  1. Batch File (Load_HPDriverUpdates.cmd)

    REM Run SSM.exe pointing to Source Server for Driver Store Info

    SSM.exe \\server.fqdn\hpssm$ /a /noreboot /log:c:\cabs\InstallLogs

  2. SSM.exe (Grab from the one you installed on the Server)
  3. SSM.cab (Grab from the one you installed on the Server)
  4. Create TS Step – Run Command Line: cmd.exe /c Load_HPDriverUpdates.cmd & set the Package to the one you created.
    This step is well after the computer joins the domain, so it has access to the Update Share you created based on the fact it’s a Domain Computer.
    Right after that Step, I have a “restart” step to allow the drivers to apply, then continue on.
  5. Then during OSD you’ll see this:

After OSD is complete, you’ll have your Drivers installed.

One other thing I did to make this work was import several network / storage drivers into the base WIM, to ensure the machine had basic support (Using the Dell WinPE Driver Cab for Win10 & Win7).  I set this up for my Dell computers, but the basic drivers work on the HP as well, I didn’t have to do anything extra to support the HP machines. I’m not going to go cover that process here, please refer to my earlier Post for Dell HERE.


Systems Tested on: (Test Scenario: All drivers are already available in WIM via Build and Capture, or using HP SSM to apply any available updated drivers or missing Drivers, NOT using the Apply Driver step in ConfigMgr)

  1. Windows 7 x64
    1. Revolve 810 G1 – Note – USB 3 driver causes BSOD when Installing, tried several versions, get BSOD installing anyone w/ Win7. However, after BSOD, it does appear to be installed.
      Also, the NFC driver doesn’t install during OSD.  It shows “Unknown Device”, if I run the same command outside of OSD, it installs it fine.  Still trying to figure that one out.
    2. Revolve 810 G2 – Note – SMB Bus driver was missing, I couldn’t find an available softpaq for it.  It was the Synaptic SMB Bus driver, so I added it directly into the Windows WIM during B&C.  I was unable to find the individual driver download on HP’s site, but it was included in the large Drive pack download. Now that the driver is in the B&C WIM, all drivers are installed by the end of OSD.
    3. Revolve 810 G3  – All Drivers were installed properly.  I think it would have had the same issue as the G2 with the SMB Bus Driver, but since I tested after applying the WIM fix for the G2, guess I’ll never know.
  2. Windows 10 x64
    1. Revolve 810 G1 – Does not install the Audio Driver, defaults to the Generic HD driver & JMicron PCIe SD Host Controller was missing – Was not listed on HP’s site, but the Windows 7 Driver – Was able to edit the sp63637.cva file on the SSM share to add Windows 10. Works fine.
    2. Revolve 810 G2 – Does not install the Audio Driver, defaults to the Generic HD driver, Needs sp65631 installed (IDT Audio) – Was able to edit the sp65631.cva file on the SSM share to add Windows 10. 
    3. Revolve 810 G3 – Installed all Drivers, no missing drivers after OSD.

My Recommendations, use the HP Driver Package like you’ve always done, then use HP’s Update Software to Update specific Drivers to the latest versions (Video / WLAN / LAN / etc)

Not all drivers would apply, and it did take some modifications of the .cva files to get it working fully.  Overall, I think this is a good technology to supplement driver packages, but not completely replace it.

Other thoughts:  You can also use this to update bios, I have tested this, and works. Make sure you do it before you enable Bitlocker.  This does NOT work in x64 PE, you have to do it in x86 PE or after the OS is installed. One odd thing, it will apply the bios update every time the computer is imaged, even if it is the same version.  Not sure why that happens.  I’m currently using the Application Model to deploy HP Bios to machines in production.

16 thoughts on “HP Driver / Bios Updates during OSD with System Software Manager”

  1. Great read, gonna try this out in our test environment to see how it compares to regular driver packs.

    Considering the BIOS. We’ve added a WMI check on the BIOS update step to check for the presence of the latest BIOS. If there is no newer version present the step is skipped.
    We don’t use the SSM method, but just added the different BIOS versions as a package to the Task Sequence and use WMI queries to execute the BIOS update on the correct system

    wmi query example:
    SELECT * FROM Win32_BIOS WHERE NOT SMSBIOSVersion LIKE “L71 Ver. 01 37”
    SELECT * FROM Win32_ComputerSystem WHERE Model LIKE “%HP EliteBook 820 G2%”

  2. Separate each model driver folder it will be faster, becouse SSM try to download all SP**** to machine. If you have lot of models and lot of drivers versions this takes lot of time.
    Regulary clean up Updates folder from Old SP.

    I love HP softpaq packages without options for use in SSM, for example 4G modem Firmware.

  3. Great read. Thanks for the information. We will shortly be looking at moving from Standalone MDT and start doing OSD with ConfigMgr. I have been telling my co worker that we should look at HP SSM, timing couldn’t have been better for this article.


  4. Wow. This is great. If you could find a way to do something similar for Lenovo machines, it would be wonderful. We are a Lenovo shop where I work.

  5. Great article. We have been using ssm as a startup script to update bios, and to install a couple other softpaqs after OSD is complete. One thing we run into on occasion is a sharing violation while accessing the cva files. One example message is ‘Encountered a sharing violation while accessing \\fqdn\ssm\_Essential_System_Updates\2.0\SP56247.cva’. We typically just kill the ssm process and try again and it will work. This usually occurs if we are running the login script on more than five or six machines simultaneously. Have you ever encountered this? We are on SSM v3.2.4.1.



    • I should have said a login script, not startup script. We login to the machine, click yes on the UAC prompt, then receive the error.



    • I can’t say I’ve seen this. I doubt I’ve ever had 5 HP devices imaging at the same time, we just don’t have many HP’s here. I have run the script manually outside of OSD, never had any issues there either. I would think you might have better luck running via ConfigMgr package so it runs as system so it doesn’t prompt UAC.

  6. Great work!! I was wondering if you would be able to provide an extract of the Task Sequence? I know its a lot to ask but would be great to play around with.

    • Paul, sorry, at this time I won’t be able to export anything. Transitioning between jobs, so I don’t have my old Lab anymore, but when things slow down, I’ll try to recreate it and post a TS.

  7. Thank you for this documentation! I have been searching for a while with very little success. I’m wondering if you can help me. I want to deploy updated drivers to machine that have been deployed already. I need to know if SSM must be installed on client machines or does it run as a standalone application? Also, we can’t have a central server due to bandwidth constraints and site not having a central server, I would created a SCCM application that will extract the SoftPaq’s/CVA’s to the local machine based on Model and then run the SSM updated commands to look at the local directory, have you tried this?

    • Yes, you can run it without installing, similar to how I run it in the TS without installing. And yes, you can package it up with the softpaqs how you mentioned. I know I’ve heard others do that, but I haven’t tested on my own. I actually got a demo from Nathan Kofahl @nkofahl. reach out to him on Twitter, or connect with your HP Rep, and they can probably get you hooked up with someone to give you a demo on how to do it.

  8. Update, I was able to find an old wise man and got my answer. If anyone needs to know, it is a standalone app. You configure your file store location/logs folder and bios password if needed via the Admin setup, and when you deploy via SCCM Application, you extract the SP files to the local file store on the machine and then run the SSM.exe command (ex. SSM.exe c:\HPSSM\FileStore /a /noreboot /log:c:\HPSSM\Logs\SSMUpdate.log)

  9. Hi Gary,
    I use SSM only to update the bios. Drivers are done with the SCconfigmgr driver tool 😉 The command to create the mdb, ssm /am_bld_db, can this work when our SP files are separated by a folder name? I created a folder per model.
    I tried but it only create the ssmcva.mdb but no ssmcvalc.mdb like you said in your tuto.


Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.