We have a number of systems that have never had a bios update since they came from the factory. Recently we've started looking into fixing that. The problem is that the Dell Updates catalog will only find the latest version for example A07 and the machine is currently at A00. The reason that is a problem is because the bios will not allow a jump that large, you must increment the updates.

 

Is there a way to pull older bios's through Dell Updates to work around this?

2 Comments   [ + ] Show Comments

Comments

  • How did you determine the system would not accept that big of a jump in BIOS updates? I have a few machines I am having trouble updating and would like to know if I am experiencing the same types of problems as you stated.
    • We have tried to do numerous BIOS updates and those that fail constantly are the ones that need an intermediate BIOS update. The other thing to check is to make sure you do not have a BIOS password set. This also causes the BIOS updates to fail. You can use the Dell CCTK configuration tool to remove and then re-implement the BIOS passwords.

      The only really sure fire way to determine that the system is not going to accept that big of a jump is to do one manually.
  • Honestly it's just from previous experience that I knew this was the problem. The bios update is the only part of the process that failed and I knew in the past when I was doing this manually that this was a problem. Specifically this problem is on an Optiplex 380 machine, but it's happened on most of our machines where we have to have small increment bios updates.
Please log in to comment

Community Chosen Answer

3

you need to drill down in the support pages to find the older versions

Answered 12/17/2013 by: SMal.tmcc
Red Belt

  • I may have not made the question very clear. I was referring to the Dell Updates section in the K1000. That way you can automate driver and bios updates. But in this case there is too large of a jump between the current bios version and the version they have listed in the software catalog. I was asking if anyone knew of a way around this problem or is there a way to manually stick older bios/drivers in the feed?
    • you will need to download them manually and create scripts to install the older versions. you should not need each version, a lot of time to go from say a00 to a14 you may only need versions a04 and a09.
      • yeah I believe in this particular case for the optiplex 380 we have to go from A00 to A04 to get to A07.
        Perhaps I should submit this on uservoice.
        Thanks.
      • it may be faster to test yourself on a machine, start with the highest and work backward till you get one that takes properly, then start process over again till you can install current version. you can always put a00 back on till you get sequence figured out. We had same problem with dell 755's had to install a mid step version to get to the newest. You can use a winpe env to test with also
Please log in to comment

Answers

1

We push all our Dell BIOS updates via scripts due to the same issue you're having and also as we have admin passwords enabled and can speicfy those via the script.

Script ex:

"\\sharepath\O390-A10.exe" /s /r /p=ourkickfancypassword

Answered 12/17/2013 by: jegolf
Red Belt

  • That's pretty awesome info you have there.
Please log in to comment
1

Try this: http://www.itninja.com/blog/view/how-to-update-dell-bios-multiple-versions

Answered 12/17/2013 by: jknox
Red Belt

Please log in to comment
0

I'm not using K1000 but I am able to do this using a GPO startup script (validated against a registry key I add) that copies down and runs a powershell PS1 file.

 

 try{
 10..15 | % { Write-Host -foreground $_ 'BIOS UPGRADE IN PROGRESS...DO NOT RESTART' }

 $MyModel = (GWMI Win32_ComputerSystem).Model.Trim()
 $MyBios = (GWMI Win32_Bios).SMBIOSBIOSVersion.Trim()
 $strPath = "\\REPLACEDSERVERNAME\sdp$\Dell\BIOS\"
 $strFile = ""

 IF ($MyModel -eq "OptiPlex 320") {
  $strPath
  $MyModel
  $MyBios
  IF ($MyBios -ne "1.1.12") { $strFile = "\O3201112.exe" }
  $strFile
  IF ($strFile -Match ".exe") {
   IF ($env:PROCESSOR_ARCHITECTURE -eq "AMD64") {
    Set-Location "C:\Program Files (x86)\Dell\CCTK\X86_64"
   } ELSE {
    Set-Location "C:\Program Files\Dell\CCTK\X86"
   }
   .\cctk.exe --setuppwd=  --valsetuppwd=REPLACEDBIOSPASSWORD | Out-Host
   & "$strPath$MyModel$strFile" /nopause | Out-Host
  }
 } ELSEIF ($MyModel -eq "OptiPlex 330") {
  $strPath
  $MyModel
  $MyBios
  IF ($MyBios -ne "A11") { $strFile = "\O330-A11.exe" }
  $strFile
  IF ($strFile -Match ".exe") {
   IF ($env:PROCESSOR_ARCHITECTURE -eq "AMD64") {
    Set-Location "C:\Program Files (x86)\Dell\CCTK\X86_64"
   } ELSE {
    Set-Location "C:\Program Files\Dell\CCTK\X86"
   }
   .\cctk.exe --setuppwd=  --valsetuppwd=REPLACEDBIOSPASSWORD | Out-Host
   & "$strPath$MyModel$strFile" /nopause | Out-Host
  }
 } ELSEIF ($MyModel -eq "OptiPlex 380") {
  $strPath
  $MyModel
  $MyBios
  IF ($MyBios -ne "A07") { $strFile = "\O380-A07.exe" }
  $strFile
  IF ($strFile -Match ".exe") { & "$strPath$MyModel$strFile" /s /p=REPLACEDBIOSPASSWORD /r /l=BiosUpdate.log | Out-Host }
 } ELSEIF ($MyModel -eq "OptiPlex 390") {
  $strPath
  $MyModel
  $MyBios
  IF ($MyBios -ne "A10") {
   IF ($MyBios -eq "A00" -OR $MyBios -eq "A01") {
    Write-Host "A01 requires that you first upgrade to A02"
    $strFile = "\O390-A02.exe"
   } ELSE {
    $strFile = "\O390-A10.exe"
   }
  }
  $strFile
  IF ($strFile -Match ".exe") { & "$strPath$MyModel$strFile" /s /p=REPLACEDBIOSPASSWORD /r /l=BiosUpdate.log | Out-Host }
 } ELSEIF ($MyModel -eq "OptiPlex 740") {
  $strPath
  $MyModel
  $MyBios
  IF ($MyBios -ne "2.2.7") { $strFile = "\O740-227.exe" }
  $strFile
  IF ($strFile -Match ".exe") {
   IF ($env:PROCESSOR_ARCHITECTURE -eq "AMD64") {
    Set-Location "C:\Program Files (x86)\Dell\CCTK\X86_64"
   } ELSE {
    Set-Location "C:\Program Files\Dell\CCTK\X86"
   }
   .\cctk.exe --setuppwd=  --valsetuppwd=REPLACEDBIOSPASSWORD | Out-Host
   & "$strPath$MyModel$strFile" /nopause | Out-Host
  }
 } ELSEIF ($MyModel -eq "OptiPlex 745") {
  $strPath
  $MyModel
  $MyBios
  IF ($MyBios -ne "2.6.6") { $strFile = "\HEIDEN_2.6.6.exe" }
  $strFile
  IF ($strFile -Match ".exe") {
   IF ($env:PROCESSOR_ARCHITECTURE -eq "AMD64") {
    Set-Location "C:\Program Files (x86)\Dell\CCTK\X86_64"
   } ELSE {
    Set-Location "C:\Program Files\Dell\CCTK\X86"
   }
   .\cctk.exe --setuppwd=  --valsetuppwd=REPLACEDBIOSPASSWORD | Out-Host
   & "$strPath$MyModel$strFile" /nopause | Out-Host
  }
 } ELSEIF ($MyModel -eq "OptiPlex 755") {
  $strPath
  $MyModel
  $MyBios
  IF ($MyBios -ne "A22") { $strFile = "\O755-A22.exe" }
  $strFile
  IF ($strFile -Match ".exe") {
   IF ($env:PROCESSOR_ARCHITECTURE -eq "AMD64") {
    Set-Location "C:\Program Files (x86)\Dell\CCTK\X86_64"
   } ELSE {
    Set-Location "C:\Program Files\Dell\CCTK\X86"
   }
   .\cctk.exe --setuppwd=  --valsetuppwd=REPLACEDBIOSPASSWORD | Out-Host
   & "$strPath$MyModel$strFile" /nopause | Out-Host
  }
 } ELSEIF ($MyModel -eq "OptiPlex 760") {
  $strPath
  $MyModel
  $MyBios
  IF ($MyBios -ne "A15") { $strFile = "\O760-A15.exe" }
  $strFile
  IF ($strFile -Match ".exe") { & "$strPath$MyModel$strFile" /s /p=REPLACEDBIOSPASSWORD /r /l=BiosUpdate.log | Out-Host }
 } ELSEIF ($MyModel -eq "OptiPlex 3010") {
  $strPath
  $MyModel
  $MyBios
  IF ($MyBios -ne "A09") { $strFile = "\O3010A09.exe" }
  $strFile
  ##UNTESTED##
  IF ($strFile -Match ".exe") { & "$strPath$MyModel$strFile" /s /p=REPLACEDBIOSPASSWORD /r /l=BiosUpdate.log | Out-Host }
 } ELSEIF ($MyModel -eq "OptiPlex GX520") {
  $strPath
  $MyModel
  $MyBios
  IF ($MyBios -ne "A11") { $strFile = "\A11GX620.exe" }
  $strFile
  IF ($strFile -Match ".exe") {
   IF ($env:PROCESSOR_ARCHITECTURE -eq "AMD64") {
    Set-Location "C:\Program Files (x86)\Dell\CCTK\X86_64"
   } ELSE {
    Set-Location "C:\Program Files\Dell\CCTK\X86"
   }
   .\cctk.exe --setuppwd=  --valsetuppwd=REPLACEDBIOSPASSWORD | Out-Host
   & "$strPath$MyModel$strFile" /nopause | Out-Host
  }
 } ELSEIF ($MyModel -eq "OptiPlex GX620") {
  $strPath
  $MyModel
  $MyBios
  IF ($MyBios -ne "A11") { $strFile = "\A11GX620.exe" }
  $strFile
  IF ($strFile -Match ".exe") {
   IF ($env:PROCESSOR_ARCHITECTURE -eq "AMD64") {
    Set-Location "C:\Program Files (x86)\Dell\CCTK\X86_64"
   } ELSE {
    Set-Location "C:\Program Files\Dell\CCTK\X86"
   }
   .\cctk.exe --setuppwd=  --valsetuppwd=REPLACEDBIOSPASSWORD | Out-Host
   & "$strPath$MyModel$strFile" /nopause | Out-Host
  }
 }

 IF ($strFile -NotMatch ".exe") { Write-Host "Nothing needed" }
 
}
catch{
 $error[0]
 Start-Sleep -s 60
}
Remove-Item C:\DellBiosUpdater.ps1

Answered 12/19/2013 by: Chris.Thomson@Sitel.Com
Yellow Belt

  • That's alot of stuff.
    • Yup...and all 900-ish Dell Desktop systems under my jurisdiction in 3 sites have the latest Bios. There was some trouble with the signed BIOS settings in a few but I hammered those out manually.

      I prefer to do laptops manually and I have a similar process for the HP 6305 models we've started getting.
Please log in to comment
Answer this question or Comment on this question for clarity