Upgrading Dell BIOS from Linux (Deb-based systems)

An account of my experience upgrading the BIOS on my Dell m1330 notebook on Linux and also a guide to the process on Ubuntu and Debian-based distributions. I found it fixed significant noise problems with my fan.

Greetings all. Today I’d like to tell you about my experience of upgrading the BIOS on my Dell m1330 under Linux. Regular readers of this site will already know that the m1330 notebook is my main machine at the moment. I bought it from Dell last year with Ubuntu pre-installed and did a full review with lots of pictures at the time. It’s almost a year old now and I’m still very happy with the machine, I’ve put countless different distros on there by now but it’s never complained. That was until recently when I noticed the fan had become disturbingly loud; it would run at full blast all the time, doing more in terms of noise pollution than actual cooling. I first noticed this when I installed a new version of Fedora for review a while back, I found when I moved to Ubuntu 8.04 the problem ceased so I put it down to a Fedora quirk but I was wrong. It seems this is actually to do with new temperature management features in the Linux kernel itself and Fedora was just ahead of the game in implementing that new kernel. The same problems occurred when I installed Ubuntu 8.10 and later Linux Mint 6. It came home to me just how noisy it was when a visiting friend heard my laptop whirring away and casually commented “that doesn’t sound happy”, I decided something had to be done.

My machine came with the A08 version of the Dell BIOS for this model and a quick look around the net confirmed that this was far behind the times. I discovered the newest version was actually A14 and I was 6 releases back. I’m always a bit wary of flashing the firmware on devices because of the inherent risk of bricking them and ending up with a very expensive door stop. As a geek saying that it doesn’t do my street cred any good but it’s the truth. I think that’s probably because I haven’t flashed (not like that) a BIOS in a very long time and the process involved sacrificing a lamb and saying the appropriate incantation back then, thankfully things have moved on and I was impressed with just how easy it is now. If you search the main Dell website for firmware upgrades you just end up with a list of .exe files which aren’t much use to me on Linux. I’ve heard some people saying you can use these with WINE but it didn’t sound like a very good idea to me. Again, I had a flashback to very expensive door stops, no pun intended. Fortunately I was told by my friend and colleague Fab there were .deb packages and instructions on the Dell Linux Wiki. There are guides for both Ubuntu and Debian-based systems and OpenSUSE systems. You can read the instructions there of course and they’re very good but here’s the process I went through on my Linux Mint 6 system:

  • Open a terminal window and install the appropriate package from the Ubuntu repositories, it’s in the core repos so you don’t need to add any sources just type sudo apt-get install libsmbios-bin (you may be asked for the root password here)
  • Next you need to get the id code of your system with this command sudo getSystemId (note the capitalization) You should see some output in the terminal similar to the screen shot below.
Getting your system ID (screen shot)
Getting your system ID (screen shot)

The important bit to note is the “System Id” line, you’ll need this to make sure you get the right firmware from the Dell site. In my case this was 0x0209 but yours may be different, don’t worry if it is.

  • Now you need to download the HDR file containing the latest BIOS so head to http://linux.dell.com/repo/firmware/bios-hdrs/ and scroll down till you see a folder named “system_bios_ven_0x1028_dev_SYSTEM_ID_version_BIOS_VERSION“. Not the most intuitive naming scheme but the”SYSTEM_ID” section is the code you got before and you just want the highest version number. The directory is big and it takes a while to scroll down so my advice would be use the “find” function in your browser and enter the code in there. Then you can just make sure you’re at the latest version and enter the folder. Save the .hdr file somewhere convenient, I suggest your home directory but you could just save it somewhere else as long as you can remember it.
Finding your bios on the Dell site (screen shot)
Finding your bios on the Dell site (screen shot)
  • You’ll need to load the dell rbu driver to update the firmware so enter the following command sudo modprobe dell_rbu it won’t print any output but if you don’t see any error messages that means it worked and we can move on.
  • Finally we need to actually use the .hdr file we downloaded earlier, so enter the following command in your terminal sudo dellBiosUpdate -u -f bios.hdr the last bit is just the location of the file, if you saved the file in your home directory as suggested that first command should work.otherwise you’ll need to enter the location you saved to.
The output of the update command (screen shot)
The output of the update command (screen shot)

You should see some output in your terminal like the screen shot to the right. The very last thing you need to do is reboot your machine to complete the update, the easiest thing to do is simply type sudo reboot into the terminal you have open. Make sure you’ve saved any files you have open in other programs as this will obviously close everything and reboot the system. Upon reboot you should see the screen change a little as the new BIOS is installed. It may take a few minutes but for god’s sake don’t switch it off or anything, if you’re running on battery power then plug in and make sure you don’t run out of juice. This is the dangerous part of the process and if you leave it half done you could render your computer useless. In practice it’s very easy and not half as scary as I’m making out 🙂 I found when I did it my screen went funny and instead of seeing any nice Dell install screen I just got a lot of weird colours and no readable text but I left it alone anyway. After a minute or 2 it rebooted again and I could now see “Version A14” displayed on the boot screen. I ran the system for a while to confirm but it does seem to have fixed my fan noise problems. The system isn’t running any cooler, it’ll still burn your legs off if you’re wearing shorts (don’t ask) but at least it’ll do it quietly now.

Upgrading the BIOS was refreshingly easy I thought and while it does require some terminal commands I don’t think it’s too complicated. I’m really impressed that Dell have worked on this and got the tools into the main Ubuntu repos, installing the upgrade seems to be pretty easy in other distros as well and I’ve heard good reports from friends using Arch Linux, this is all very positive. I do wish they made it a bit more obvious for non-Windows users on their main site, I’ve also been told stories of Dell support staff who don’t know there is Linux  software to do this but overall they’re doing a good job I think. I hope this article will serve as a guide to the process for users new and if it helps one person out there then I’ll be satisfied. As always comments and thoughts are welcome so fire away 🙂

Thanks for reading,

Dan

Downgrading Instructions: Thanks to Bobby for his comment about downgrading the BIOS which I must admit I hadn’t thought of. Here’s what he had to say about it – i had the problem and was shocked that the information on bios downgrade is quite miss in any case all you have to do is follow the step up to the last one then instead of sudo dellBiosUpdate -u -f bios.hdr it would be dellBiosUpdate –override_bios_version -u -f ./bios.hdr (presuming you have downloaded the bios.hdr you would like to downgrade to you can get more details here http://bigbrovar.wordpress.com/2008/12/07/upgrade-downgrade-your-dell-bios-on-ubuntu/

26 Comments

    • @Pawpawyoung I’m really glad if it helped even a little bit, that’s the goal 🙂 @Egil Really? I know it doesn’t take long to do the operation and battery power should be fine as long as your battery isn’t nearly flat 🙂 If it did go off during the actual flashing process though it wouldn’t wreck the machine? is that right? Is that to do with the CMOS battery on the board then? I thought it was best to caution new users to be aware of that, it tells you to plug in on the Dell wiki just to be safe. Overkill I know but I figured it couldn’t hurt to pass that on. I wasn’t actually plugged in when I did mine because I knew the battery was almost full but shhh 😉

  1. Gee…m1330 with Mint6 … really familiar … Oh yes! that’s what I have!!

    Great minds…

    Yes, I have noticed the fan running more often, lately. Thank you for the info!!

    God Bless
    Doug

    • @Doug I’m usually a distro hopper as you know but I do find something really comfortable about Mint, I always end up sticking on it the longest. I found going from Mint 5 to 6 the fan went crazy, I mean really crazy, Captain Beefheart crazy 😀 It’s something in the newer Kernels as I said. Hopefully the BIOS update will help you, let me know how you get on.

  2. Great article 🙂

    When purchasing a laptop recently, I was really torn between a Linux lappy from System 76 and getting a new Macbook… and I went with the Macbook.

    I still love Linux and consider it a better OS than Windows, but I have to say, I’m blown away by this Macbook. It’s simply fantastic.

    Longer battery life, a little lighter, and increased compatibility (mostly with the iPhone I hope to purchase soon) sold me, and the Mac apps I’ve used in the last few weeks have solidly hooked me. My wife loves it too (she uses Ubuntu right now) and I suspect she’ll make me buy her one before too long >.>

    • @Matthew I’m glad you’re happy with the Macbook but obviously I’m a little sad you didn’t opt for Linux, System76 do some nice machines, that iPhone lock-in really worked for Apple then 😉 Seriously though good luck with it, you could still dual boot with Ubuntu or something for a Linux fix, I have a few friends who run Ubuntu on Macbooks. I don’t give up easily hehe 🙂

  3. I tried installing Ubuntu :- It failed miserably. So miserably that I ended up having to wipe the drive and reinstall OS X from scratch. It was shocking, in fact, how poorly it went.

    EFI + HFS + Linux… they don’t get along well.

  4. @matthew Oh dear that’s not good I agree, I do know a few people who have Macbooks running Ubuntu so I can ask them what the magic trick is if you like? I’d understand if you don’t wanna risk it again though. Perhaps make a bootable image of the drive before you start with Clonezilla, that thing rocks and it’s all free and open source 😉 http://clonezilla.org/ I just use the LiveCD and make bootable images to my USB hard drive. Supports Windows, Mac and Linux. Works a treat.

  5. you might wanna add a command for people who want to downgrade their bios or roll back to the previous bios. i had the problem and was shocked that the information on bios downgrade is quite miss in any case all you have to do is follow the step up to the last one then instead of sudo dellBiosUpdate -u -f bios.hdr it would be dellBiosUpdate –override_bios_version -u -f ./bios.hdr (presuming you have downloaded the bios.hdr you would like to downgrade to you can get more details here http://bigbrovar.wordpress.com/2008/12/07/upgrade-downgrade-your-dell-bios-on-ubuntu/ .. also upgrading/downgrading bios wont work until you give the machine a cold boot by adding reboot=bios to the kernel line in your menu.lst

  6. Thanks Bobby I will add this information to the post and direct people to check out your instructions for downgrading. I have heard people say about the reboot=bios kernel line but I didn’t need to edit anything on my system, I just did the reboot command in my terminal and it worked. Thanks again for your input, it’s very useful 🙂

  7. You welcome dan .. i owe you alot for your review and recommendation of the dell ubuntu xpx m1330. it is the best laptop i have ever owned. and linux outlaws FTW 🙂

  8. Phew!

    Many many thanks, I´ve been trying to upgrade the BIOS on my Dell 4550 and your way is spot on.

    A01 to A08 and working perfectly!

    I had to go thru´ the all the versions.

    • @Noodle – I’m really glad it worked for you. I was impressed with how much effort Dell have put into making it possible to upgrade your BIOS in Linux. Happy new BIOS 🙂

  9. Many thanks! I can confirm this to work with my Dell Latitude D820 from BIOS version A04 to A09 on Ubuntu Linux 9.10.

  10. I just updated a Latitude D800 running Kubuntu, got a bit stuck with the –reboot option until I worked out it goes last, but yeah worked really well. Thanks for your help, very kind 🙂 Now could anyone tell me how to update an nVidia video BIOS from linux?
    Cheerio, Mark

    • @Mark – Glad it worked well for you. Don’t know how to update the Nvidia BIOS in Linux sorry, but hopefully someone else does. Good luck!

  11. Dan,
    Thank you very much for this tutorial. I have been facing serious issues with my XPS M1330 running Fedora, but now after the BIOS update (which I had no clue how to perform until I ran into your site), every thing is in order. My machine runs like a breeze!
    I just thought I should drop in a word of thanks.

  12. Help! It’s all great up until the point where it tries to actually flash the image, then i get consistency errors with the firmware image.

    I’m on A00 Dell Optiplex 760 hence the need for the update, i’ve tried A01, A03, A04, A07 and A12 with no joy

  13. Thanks a mill.. I’ve been messing around with creating floppy iso image disks on cds for the last 5 hours with no success and then I stumpled onto your method. Updated my Dell Dimension 4550 from Bios A04 to A08 without a glitch and in 15 minutes…

    Great article,
    Pat

  14. Thanks for this article. Just updated my old DELL Latitude D820 from A06 to A10. Worked flawlessly – it was just a little risky because the battery is fooed.
    Barry

  15. Sorry to raise an old thread, but I’d like to follow these instructions to update the BIOS on a Latitude D830 from A15 to A17. The repo site you linked doesn’t show an A17 BIOS for the system ID i have. Any help would be appreciated.

    Results for sudo getSystemId
    Libsmbios version: 2.2.28
    Product Name: Latitude D830
    Vendor: Dell Inc.
    BIOS Version: A15
    System ID: 0x01FE
    Service Tag: 5321ZD1
    Express Service Code: 11068761925
    Asset Tag:
    Property Ownership Tag:

    Results for sudo dmidecode | grep -i -a1 -b1 vendor; sudo dmidecode | grep -i -a1 -b1 “Product Name”
    2880-BIOS Information
    2897: Vendor: Dell Inc.
    2916- Version: A15
    3841- Manufacturer: Dell Inc.
    3866: Product Name: Latitude D830
    3914- Version: Not Specified
    4131- Manufacturer: Dell Inc.
    4156: Product Name: 0HN341
    4178- Version:

  16. Unfortunately Dell removed BIOS files from their server !

    so no updating anymore…

    and I have to admit your tutorial did help me a lot in the past…

    Thank you

Leave a Reply to MatthewCancel Reply

Your email address will not be published. Required fields are marked *

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