Login to participate
Endpoint Management & Virtualization BlogsRSS

Dell BIOS Update for Multiple Models With Single DS Job

dnorris's picture

BIOS updates can be automated along with your standard deployment routines. A single job can be used regardless of the model being deployed.

We'll first make use of the Condition feature on DS jobs and then of a command-line parameter available on Dell BIOS update files.

Create a new job in your Deployment console, click the Setup button in the Condition section and create a new condition. Name the new condition to describe the computer model.

This example shows the condition for a Latitude D630.
For the Condition information, use Computer Product Name as the Field, and use the model as the Value.

Add a Run Script task to the job. Use the following script where \\ServerName\Path is the location of your downloaded BIOS updates. D630_A12.EXE is the BIOS update utility downloaded from Dell for the D630 model. Dell BIOS updates support a
-nopause parameter that automatically reboots the machine and upgrades the BIOS without needing user interaction.

REM Apply D630 BIOS update and reboot

\\ServerName\Path\D630_A12.EXE -nopause

Create another condition for your next model, then add a Run Script item for that model's BIOS update.

Also, add a Script item for the default condition. This could be just a REM line, or a script to display a warning on the client screen that no BIOS update has been configured for this model.

Once a Condition and Run Script task have been added for each of your models, you will be able to drop any model of machine onto the new Update BIOS job. The appropriate update utility will reboot the client and perform the BIOS update.

eorme's picture

Deployment Solution for Dell Servers

Deployment Solution for Dell Servers comes with jobs that automatically do this by applying Dell update packages. In fact, the BIOS can be updated before an OS is even on the box using the Dell DUP Linux automation environment. The jobs are located in these folders:

Update BIOS in automation (preboot)

Deployment Solution for Dell Servers v3.1 Linux
1. Pre OS-Deployment Jobs
1.5 Apply Dell Update Packages (DUPS)
1.5.5 Update BIOS and Reboot

Update BIOS in Linux or Windows production

Deployment Solution for Dell Servers v3.1 Linux
3. Post OS-Deployment Jobs
3.1.6 Update BIOS and Reboot

With a little modification these jobs can be used on machines other than servers (desktops).

johnquinn's picture

You can also use Distribute Software option

eorme, I believe the purpose of this article was to provide a way to handle BIOS updates for client PC's.

However, in my case for some strange reason, I could not get the script to work. I kept running into an Error 1 condition. All rights and such seem correct.

I did find out however that I could do the same thing using a Distribute Software job.

In the Name field you put the path to the executable and in the Additional Command-line switches you put the -nopause. You get a warning about it not being a RapidInstall of PCT package. Just choose yes to continue.

This worked perfectly for me.

johnquinn's picture

Thinking about a slightly different approach...

Don't get me wrong, this is a great way to do updates, but a good part of this is still a very manual process in that the next time you go out to the Dell site to get updated BIOS files, you will have to come back to this job to update the scripts to point to the new files.

I was thinking perhaps there might be a way to query the express DB to get the product name out and then based on that value, script out a path to where your files reside and then run the appropriate exe file.

Any SQL/VB script guru's out there have any thoughts on this?

dnorris's picture

More Generic Option

Good point. Since the default Dell filename changes with each update, it will require a script change each time.

A low-tech method would be to rename the Dell update file to be only the model. The script could reference D630.exe so you don't have to modify the script for the new BIOS number.

Is it possible to use a custom token in a Run Script task that would return the model? I can test this out sometime later, but what if we do:

SET MODEL=%#!computer@model_num%
REM Run BIOS update for returned model
"\\ServerName\Path\%MODEL%.exe" -nopause

If that would work, you wouldn't have to touch the Altiris job to update the BIOS file version or even add new models when new BIOS files are downloaded. It would all be a function of the filename matching the model.

mary23's picture

Dell bios update

I tried this script and it keeps failing on me. I'm not sure if its that we have a bios password or not. I've seen #23 errors, 53 errors... I also tried the suggestion to run it as a rip job would also without success. Any suggestions?

dnorris's picture

Error 53

mary23, I'm not sure about error 23, but I've seen error 53 when a servername or path can't be found.

Try running your script command line (\\ServerName\Path\D630_A12.EXE -nopause) from a command prompt on your client and see if it's able to reach the share. If that fails, then it may be a DNS issue where the server name isn't resolving or there may be a problem with the shared folder permissions.

If it works from a command prompt, then maybe you need to include credentials for accessing the network share. On the second screen of the Run Script task, change the Security context to Specific user and provide an account with access to the share.

Siddram's picture

Description of Error 53 & Error 23

Error 53: The network path was not found.

Error 23: Data error (cyclic redundancy check).

Palvaran's picture

Awesome

This was so simple and elegant.  I am loving it as I just updated our first BIOS using DS rather than DCM.  The only thing I would add is that we had to figure out that you have to reconfigure the script to run as a specific user rather than default local system account in the client run environment due to the UNC mapping.  Other than that, this thing works like a champ!

 

Now if we can just get this to work on our Sun servers...

"The happiness of your life, depends on the quality of your thoughts."

RaymondValle's picture

DCCU bios package

I tried using Dell Client Configuration Utility to create the BIOS upgrade package then deploy it through Altiris DC.

Out of 800 GX620s and 740s I was able to do 130 before 2 flashes failed on 740s requireing me to replace the MB.

Has anyone used the DCCU BiosUpgrade packages and how do they compare to the method mentioned here?

I tried the method here and it does the flashing in windows, same as the DCCU package. Would it be safer to boot to DOS automation to flash?

I tried DOS but the flash reboots the computer so the console is not notified that the task is complete so it retries the task.