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?
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)
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.
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.
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
I've loaded the latest beta bios from Asus, and even tried back-revving it several versions, but this motherboard (which is *recommended* by some sites) has BIOS bugs that prevent Linux from installing (yes, I've tried the noapic switch, and downrevving MPS to 1.1 - no joy).
It'll boot dos, but it won't run linux or Win2k.
Good point, The bios vendors themselves are not the best providers of documentation... ( AMI for one ).. However some computer manufacturers do document changes:
0 &org=psg&doc=MIGR-41214
n load/14220.html
/ matrix50451.html
t m 0 10d.pdf
For example:
IBM
http://www-1.ibm.com/support/manager.wss?rs=0&rt=
COMPAQ
http://www.compaq.com/support/files/server/us/dow
HP
http://h20004.www2.hp.com/keeper_rnotes/bsdmatrix
INTEL
http://www.intel.com/design/motherbd/ad/ad_bios.h
ftp://download.intel.com/design/motherbd/ad/P04-0
As far as the bridge offer goes, I'll pass.
X
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.