Slashdot Mirror


Do BIOS Upgrades Really Matter?

inkfox asks: "It seems that whenever one buys a motherboard, there's already a BIOS upgrade available by the time you get your hands on it, usually dealing with some degenerate hardware behavior. Given that Linux and Windows 2000/XP replace all BIOS routines once loaded, do these upgrades really matter? If a system is successfully booting, is a BIOS upgrade more a risk than it is preventive maintenance?" This may be true, but what if you are running an OS that depends on the BIOS? If the BIOS is replaced by a specific OS, then BIOS upgrades can't really hurt anything, can they?

28 of 69 comments (clear)

  1. aint broke... by remoford · · Score: 2, Insightful

    if it aint broke dont fix it- first post

  2. It depends... by fok · · Score: 2, Insightful

    What you will get from it.
    In my case, I've got 48bit HD & AthlonXP support

    --
    \m/
  3. More than just code by toastyman · · Score: 5, Informative

    Unfortunately, there's alot of stuff in your BIOS that isn't executable code. If your system has a PCI or Cardbus slot, you've got a "PCI Routing Table" which tells the OS how each slot has its interrupts mapped, and the such.

    If you're using a SMP system, there's a "MP Table" which tells the OS how to configure the APICs, interrupt triggering, etc.

    There also is a little bit of code that many OS's use for power management (suspend, hybernate, sleep, etc), that's a pain in the ass to access from protected mode.

    Also, almost everything on the motherboard is configured during the POST and bootup. All sorts of timing values, drive strengths, etc. The OS generally won't touch any of this. New BIOS's sometimes change these default values to what the manufacturer has discovered to be better settings.

    If you're having PROBLEMS with something, by all means upgrade, even if you don't think your OS is actually calling any code in the BIOS. But if it works, I generally recommend people to avoid playing with it. I've removed ROMs from a few friends' motherboards, just to correct damage they did from flashing the wrong BIOS on them. (Surface mount soldering tools and a eeprom/flash programmer are very handy at times)

    1. Re:More than just code by toast0 · · Score: 2

      Well... if the floppy drive controller is borked too... rescuing from a floppy doesn't work (been there, but came across an identical board later, and screwed it up differently(water+mboard while on != good), and then swapped the socketed chips.

      I can't say I've seen any motherboards at all that had an upgradable bios and didn't have it socketed, that is odd.

    2. Re:More than just code by sigwinch · · Score: 3, Interesting
      If you're having PROBLEMS with something, by all means upgrade, even if you don't think your OS is actually calling any code in the BIOS.
      There's something called System Management Mode used by many modern motherboards, where the CPU is periodically interrupted and runs code from the BIOS. Motherboard designers use it for all kinds of stuff: emulating the keyboard controller, monitoring CPU temperature, etc. In general there's no way to know what SMM is used for; the OS just has to get out of the way and pray.

      OS designers generally regard SMM as a dangerous kluge, and think that the tasks would be better done using a microcontroller integrated into the chipset. The problem is that (brain-damaged) motherboard designers don't see it that way...

      --

      --
      Kuro5hin.org: where the good times never end. ;-)

    3. Re:More than just code by Chasing+Amy · · Score: 2

      If you're sure you've got the right BIOS for your motherboard, and you can follow the manufacturer's flashing instructions, by all means upgrade the BIOS. I don't think "If it ain't broke, don't fix it" really applies much here since /. readers are the kinds of people likely to add new hardware to PCs at some point--and that new hardwae ould cause issues unless you've bothered to upgrade the BIOS; sometimes, those issues are serious.

      Case in point is the bug some VIA chipsets had a year ago--PCI cards that saturate or hog the PCI bus could cause data corruption during file transfers. The most egregious offenders were Soundblaster Live! soundcards, but several other bus-hogging PCI cards produced the same data corruption issues. So, imagine adding a new PCI card to a "not broken" system, and suddenly having your files get currupted right and left. Whereas, immediately flashing to the newest BIOS update, would have prevented that pain.

      That particular bug is one that caused me many headaches on my Windows partitions. It actually corrupted my FAT32 filesystem on a drive storing all my music. The same VIA chipset was also causing instability in my Linux partitions--the CPU drive strength and enhanced chip performance settings in the stock BIOS were causing my Linux installation to behave erratically. But finally after a couple months a new BIOS came out to solve all the instability issues on my Abit KT7-RAID--new PCI timings and more conservative CPU/bus settings stopped all data corruption under Windows and stopped Linux fron giving me inexplicable errors when running intense programs.

      Now, if that BIOS were out when I bought my motherboatrd, and I had flashed it before installing my OSes, I would have had no problems. I say, as long as you know what you're doing, upgrade your BIOS early and often. Since I got a very stable machine I didn't bother to keep up with newer BIOS updates, but since I needed to reinstall WinXP the other day I went to Abit's site first and flashed the newest available BIOS. No harm done, everything's still working; and what's more, the newest BIOS contains support for larger hard drives than the old one did, so I can definitely get that new 120GB Maxtor knowing that drives up to 137GB are officially supported by the new BIOS.

      So, I say, flash early and often, as long as you know what you're doing.

      --

      Chasing Amy
      (We all chase Amy...)
      "The more corrupt the state, the more numerous the laws"-Tacitus
  4. stupid bugs still happen by Pauly · · Score: 3, Insightful

    Am I the only person who had to upgrade bioses to fix y2k issues?
    Oh wait, that's all in the past.
    No one will ever make that kind of mistake again, right?

    1. Re:stupid bugs still happen by Trevelyan · · Score: 2, Funny

      32bit UNIX systems will run out in 2038.
      but by then we'll all be running 64bit right?

    2. Re:stupid bugs still happen by rtaylor · · Score: 3, Funny

      I fixed all my y2k issues sometime in the very early 1900's.

      --
      Rod Taylor
  5. Re:What? The BIOS is "loaded" by the OS? by Anonymous Coward · · Score: 2, Informative
    Uhh, last time I checked, you still needed a BIOS to run an OS, chief. And that BIOS isn't "replaced" by Windows or Loonix or FreeBSD or any OS. Certain parts of the OS might interface with the BIOS (re: ACPI, IRQ tables, etc.), but certainly doesn't "bypass" the BIOS.
    Incorrect.

    The above OS use the BIOS to get initial information, but none of the above rely on the BIOS once running, except in very special cases, such as native APM and keyboard support for unrecognized hardware.

    The PC will not interface with the BIOS for the information you list. These are in standard locations, or are pointed to by values set up in standard registers.

    What you're saying was true for Windows 95 and 98, but never for Linux, FreeBSD or Windows NT and 2000.

  6. Worked wonders for me by mnordstr · · Score: 4, Informative

    When I was running my system (AMD Athlon XP 1700+ with Asus A7V133-C) with the default BIOS on the motherboard (1007) I experienced several problems when trying to run programs. Most of them either Segfaulted or caused a bus error. The crashes where usually related to situations where a program tried to display an animation or a video. Sometimes the system completely froze. I tried to compile the kernel with all kinds of different options, tried with and without athlon ptimization but nothing seemed to work. I thought it might have been related to the "Athlon/AGP bug", but the solutions to fix the bug did not work for my
    system.

    Then one day I happened to check Asus homepage and found a BIOS update for my motherboard. I flashed my BIOS with the new software (1008) and now I haven't had any problems. The BIOS came out 8.3.2002, so it's quite new.

    1. Re:Worked wonders for me by mirabilos · · Score: 2

      I think March is over. I don't know how you
      get to August when you see a European-style
      (dd.mm.yyyy) date as opposed to an
      American-style (mm-dd-yyyy) or japanese-style
      (yy/mm/dd) Date...

      --
      My Karma isn't excellent, damn it! (And /. still does not get UTF-8 right in 2012. Wow.)
    2. Re:Worked wonders for me by darkwiz · · Score: 2

      I had simililar problems with my Epox 8KHA+. Turned out that there appears to be some weird bug in the Via chipsets or the timing setup that causes memory errors (strangely, this was only detected by an old version of memtest86 (2.7), the new bios cleared this up and things are running smoothly). It could be something similar

  7. Not true by photon317 · · Score: 5, Informative


    Even under Linux, or any other OS that avoids the BIOS when at all possible, your BIOS still plays very important roles. I have in the past solved numerous problems on linux boxes with bios upgrades, mostly issues like memory timing, irq routing, PnP support, PCI latency issues...

    Also, don't forget that modern processors are no longer set in stone.... all the newer processors (from the PII-era onwards I believe) from Intel and AMD have some form of updateable microcode on the processor, so that little quirks and bugs can be worked around when they're discovered.

    Your processor uses it's hardware default microcode every time it is rebooted, and then the BIOS updates it with the latest-greatest shortly after each bootup. Keeping your BIOS up to date is therefore the only path to keeping your processor up to date as well (newer BIOS updates contain the newest microcde from the chip vendor).

    --
    11*43+456^2
    1. Re:Not true by unitron · · Score: 2
      "...some form of updateable microcode on the processor..."

      Does that mean that you can flash the processor, or does the OS load that microcode from the hard drive to somewhere in memory where it can override the CPU's original dodgy bits?

      (Why, yes I am discussing something outside of my area of expertise.)

      --

      I see even classic Slashdot is now pretty much unusable on dial up anymore.

    2. Re:Not true by toast0 · · Score: 2

      I believe, but am not certain that the microcode reverts to factory values at power off (or power on depending on how you look at it), and that it would be typically stored in the bios to be updated as soon as practical.

      I know linux has drivers to do stuff with (at least) intel microcode though, so i'd guess its possible to adjust the microcode while running your OS (probably a good time would be after it detected the processor, but it might be important to mount the root partition first :)

      (hopefully this is kind of helpful, I'm taking most of my information from the parent of your post)

  8. what i've heard by AnalogBoy · · Score: 2

    The rule of thumb i follow is only upgrade your bios if it

    a) fixes a bug you are experiencing or
    b) adds functionality you need.

    I've had to upgrade my BIOS all of twice in about 4 different motherboards I've owned, once to add processor support, once to fix a power management bug.

  9. What about other BIOS'es? by fille · · Score: 2, Interesting
    Last week, I had to flash my CD-writer to get it working. Since the thing uses an USB-connection, the risk of destroying the hardware seems far higher then for a motherboard BIOS update. An interruption in the datastream is not that uncommon (yes, I use Windows) but what are the results of that?

    Has somebody of the slashdot crowd nasty experiences with flashing other hardware?

  10. Adding my $1.02 by gphat · · Score: 2, Insightful

    Most people are saying, if it ain't broke, don't fix it. I hate to add to the fire, but that's basically the right thing to do.

    My salvation in this otherwise usless post is that I have examples! Being the long-angry-owner of an Abit KT7A, I can tell you first hand that BIOS upgrades can be a real godsend. My KT7A couldn't run for more than 5 minutes without crashing. Linux ran it pretty well, but Windows BSODed constantly. This is in conjunction to the POS VIA 686B southbridge that pukes when you run an Athlon kernel.

    In summary: Yes, BIOS upgrades are useful, but read the ChangeLog and do the upgrade only if you have something you need to fix.

  11. Re:What? The BIOS is "loaded" by the OS? by mirabilos · · Score: 2

    OpenBSD at least even tries to fix up IRQ
    routing due to several "broken BIOS" issues...

    --
    My Karma isn't excellent, damn it! (And /. still does not get UTF-8 right in 2012. Wow.)
  12. Marketing Hype - 4.0 must be better then 3.0 (duh) by jcasey · · Score: 2, Insightful

    Funny, people like to see higher version numbers - it makes them feel better. Why use product x version 3 when version 4 is available? Version 4 must be better right ? It says "new and improved" - and god forbid if a product is released and never patched..(think again). There seems to be a general misconception that a product with a higher version number or newer release date will work better. Read the mfgr's description of what the product fixes. In fact, if possible, read the entire history of fixes. You may be surprised to see new bugs that did'nt exist in previous versions.. A classic example of this is MS's NT 4 service packs, and Dell's Bios update history - The list goes on... As far as the necessity of bios updates goes - check to see what the update fixes - although windows has its own set of low level services, it still relies on some bios services.

    --
    X
  13. You can put your OS *in* the BIOS.... by Ashurbanipal · · Score: 2, Interesting

    Check out www.linuxbios.org and you'll see that you DON'T need a BIOS to run your OS. Since modern OSes don't use the BIOS anyway, you can replace it with your bootloader and boot your machine in less than 3 seconds.

    The big beowulfs all seem to be moving to this method now (combined with wake-on-lan) to save power.

    Perhaps calling the other guy a moron was a bit, um, premature?

  14. Re:Marketing Hype - 4.0 must be better then 3.0 (d by sigwinch · · Score: 2
    There seems to be a general misconception that a product with a higher version number or newer release date will work better. Read the mfgr's description of what the product fixes.
    Har har. If you believe that BIOS writers actually document the changes they make, I've got a bridge you can buy real cheap.
    --

    --
    Kuro5hin.org: where the good times never end. ;-)

  15. Depends on how the OS works round issues... by Sits · · Score: 2

    I remember that my BIOS created a (VIA motherboard) bug that the kernel stomped on by disabling DMA, so while the bug was fixed I was left with very slow hard drive access.

    Upon upgrading the BIOS this rather horrible solution was lifted and now my hard drives feel more than a little faster :)

  16. Re:Marketing Hype - 4.0 must be better then 3.0 (d by jcasey · · Score: 2, Informative

    Good point, The bios vendors themselves are not the best providers of documentation... ( AMI for one ).. However some computer manufacturers do document changes:

    For example:

    IBM
    http://www-1.ibm.com/support/manager.wss?rs=0&rt=0 &org=psg&doc=MIGR-41214

    COMPAQ
    http://www.compaq.com/support/files/server/us/down load/14220.html

    HP
    http://h20004.www2.hp.com/keeper_rnotes/bsdmatrix/ matrix50451.html

    INTEL
    http://www.intel.com/design/motherbd/ad/ad_bios.ht m
    ftp://download.intel.com/design/motherbd/ad/P04-00 10d.pdf

    As far as the bridge offer goes, I'll pass.

    --
    X
  17. yes they can be by josepha48 · · Score: 2
    in some cases the OS actually gets info from the bios. If this fails or is wrong you ahve problems.

    Example: I have an xerox printer. I upgraded its bios and the problems with it hanging went away. I also upgraded the software that was driving it. As a result it now runs MUCH smoother.

    Once a system boots the OS is not through with the bios. In many cases the OS gets information from the bios like meory size and then uses that the rest of the time. In some OSes (I know linux does) the os allows you to override the bios settings (like mem=123M in linux). If the os does have this capability then they are less important. However BIOS can also be used to set things like com port irq. If they are set in the bios the OS may not necessarily be able to change them.

    --

    Only 'flamers' flame!

  18. Oh, the problems I've seen... by cookd · · Score: 3, Informative

    As to the question of whether a BIOS upgrade matters once the OS has taken over -- here is my experience:

    New motherboard. Via chipset. Soundblaster Live!. Any questions? (Sizzle in the background, smell of eggs frying...)

    I got a new motherboard, set everything up, it POSTed, but kept on booting, crashing, booting in safe mode, acting really weird, crashing... I reinstalled the OS. It took three or four times to actually get it through the install process, and even then not all of the features on my video card (like the DVD decode) were running correctly. And it still crashed a lot. Memory tests, CPU tests, biology tests (actually, it failed the biology test) revealed nothing. Swapping memory didn't fix anything. Upgrading the BIOS did.

    Ok, so now it doesn't crash randomly. But if I ever tried to rip one of my DVDs onto DivX:), there was a 90% chance that my computer would hang in the middle of the process. (A few 6 hour rips cut short with only minutes left can create a lot of frustration.) Nothing on any newsgroups or web sites. Two months later, a new BIOS patch shows up. And fixes the problem.

    And a few months ago, I got a nifty new USB 2.0 hard drive. I hadn't installed my USB 2.0 card yet, but I tried it on the USB 1.1 port of my newest machine (1.2 Ghz). Worked great (slower, but it worked properly). Then I shut down the computer. Came back a few hours later and turned it on. NOTHING. The fan turned on, the cursor appeared on the display, but no POST messages. I played around trying to figure it out for a while, then unplugged the USB 2.0 device. Presto, the machine worked. Checked the motherboard site, and (you guessed it!) there was a new BIOS upgrade. And guess what it fixed?

    Then my older computer - a PII-300 - had some problems with DVD decoding that a BIOS upgrade fixed (but I don't remember the specifics).

    So: assuming that the OS takes over everything, BIOS upgrades are still useful for the boot process (add new hardware and expect it to still boot? better have the newest BIOS!). However, I am pretty convinced by experience alone that the OS depends on the BIOS for something (timings, CPU microcode, chipset support, etc.).

    Of course other posts have explained what that something is, so I won't go into it. But if you know what you are doing, a BIOS upgrade is a great way to keep your machine up-to-date.

    As to whether to upgrade if nothing is broken? That is a good question. I wish BIOS upgrades had better changelogs. (But I guess that would ruin the surprise!) My opinion is that it will rarely hurt (if you know what you are doing), and that it might help (although you'll probably never know about the trouble it saved you). But it is especially important and especially likely to help in the first 18 months that a motherboard has been on the market. After that, the major problems have probably been solved, so upgrades are probably a waste of time.

    --
    Time flies like an arrow. Fruit flies like a banana.
  19. Re:Bios upgrades by toast0 · · Score: 2

    Not to rain on your parade, but if you want to use that to debug kernels (and not to play with bios settings and/or the bootloader), adding that to the bios doesn't help you. You need to add serial console support to your kernel, and turn it on via an appropriate kernel command line. Also, adding stuff to your /etc/inittab would probably be good too (so you can login over serial when the kernel you're debugging makes it that far)