How to update Dell BIOS firmware regardless of the OS (Linux, Unix, whatever)

My laptop has been randomly freezing in a way that seemed hardware related, so I thought I'd update my BIOS. I run Linux, which Dell doesn't support well for BIOS updates. They used to be better and I remember updating Dell PowerEdge servers using the dellBiosUpdate utility (apt-get install smbios-utils).

Attempted the same on the E6520 laptop but got stuck at extracting hdr file from the exe. Apparently, the firmware-tools package used to provide a utility called extract_hdr, the functionality was later moved to firmwaretool via the --extract option. A recent version of the package firmware-tools-cli (version 2.1.14-0ubuntu1), included firmwaretool, but it didn't provide the --extract option.

Thought maybe OpenManage is the way to go? Sounds like it supports Debian 6, Ubuntu 10.04 and later (see this), but it also seems that OpenManage is only for server hardware (see this).

Then came across this forum discussion.

Here's the BIOS update process that worked for me on Dell Latitude E6520 and should work on any Dell hardware, regardless of the OS it runs (Linux, Unix, whatever).

1. Obtained the Service Tag

Can get it by physically inspecting the machine or via dmidecode or with the smbios-sys-info utility (apt-get install smbios-utils):

$ sudo smbios-sys-info
Libsmbios version:      2.2.28
Product Name:           Latitude E6520
Vendor:                 Dell Inc.
BIOS Version:           A01
System ID:              0x0494
Service Tag:            56NT4Q1
Express Service Code:   11286699049
Asset Tag:              

2. Went to Dell Drivers & Downloads, provided my Service Tag, downloaded the latest BIOS firmware package (A15).

3. Installed UNetbootin (apt-get install unetbootin)

4. Plugged in a USB flash drive, launched UNetbootin, selected:

Distribution: FreeDOS 1.0
Type: USB Drive
Drive: /dev/sdc1      <-- be sure to adjust for your system!

Clicked OK

5. Moved the A15 BIOS firmware file (E6520A15.exe) over to it

6. Rebooted the laptop, hit F12 to get the one time boot menu

7. In boot options, chose USB storage device

8. Got the UNetbootin menu, chose default

9. Chose Option 5: FreeDOS Live CD only

10. This dropped me at the A:\> prompt, typed in C:, hit ENTER

11. Typed in E6520A15.exe (tab completion works), hit ENTER

12. Got the BIOS utility update screen, followed the prompts, got:

You must upgrade to A05 before flashing to this BIOS

13. Went back to Dell Drivers & Downloads > BIOS > Previous Versions > Show ALL Previous Versions, but the earliest version was A08. Downloaded that, added to my USB boot disk, repeated the process, again got:

You must upgrade to A05 before flashing to this BIOS

14. Gave up on dell.com and just googled for "E6520 A05", which gave me a link to it on dell.com. Downloaded, repeated the process and was now able to update BIOS to A05.

15. Once on A05, was able to update to A15.

2 Comments

  • 1. Jurgen replies at 8th August 2014, 6:02 am :

    THANKS! Just the info I needed.

  • 2. Andrew replies at 19th September 2014, 6:09 am :

    Yes it is quite irritating how DELL requires you to patch to the earlier version (I get it… sometimes it’s required) yet they DON’T make it easily available on their web site… I should not have to use 3rd party search tools to find their own information.

    That’s dell though, terrible support. I deal with them daily at work… I’d like to upgrade the processor in a 6520 but dell is holding back the bios update that will make it possible. They won’t release it because in their words “If I want an Ivy Bridge CPU I must get the E6530” Even though the hardware is fully compatible, chipset and all. Sorry dell, that’s how you get me to move elsewhere.

Leave a comment

NOTE: Enclose quotes in <blockquote></blockquote>. Enclose code in <pre lang="LANG"></pre> (where LANG is one of these).