System Upgrades 4 — Operating System Upgrading Tips

Last article covered some considerations for upgrading on the hardware side; this article moves on to look at upgrading an operating system.

Here's where the finger-pointing really gets going: if you've upgraded your operating system and pieces of hardware stop working, is it the fault of hardware or software? A hardware engineer I know (who shall remain nameless) once remarked, "If it doesn't smoke, it's a software problem." I'll admit, that's taking a bit of a hard line, but we do frequently see people expecting hardware to magically update itself to work with new software.

The tips below might help this debate by preventing it:

  • Check the availability of device drivers for the operating system you intend to use. Not all hardware has drivers written for every operating system. Upgrading an operating system may mean some hardware will need new drivers to operate. In the case of LAVA I/O cards, check for driver and compatibility information.
  • Check that the devices' functionality will not be impaired by the characteristics of the new operating system. For example, if you need a DOS/legacy address for the card you wish to use (eg. 278h, 378h, 3BCh) you will probably need the ability to modify the resource settings for the card. Doing this could be difficult or impossible with Windows® 2000, XP, or later, O/Ses thatch limit a user's ability to directly modify the resources assigned to a piece of I/O hardware. These operating systems assign IRQs and I/O addresses automatically, and those settings cannot be modified by the user. The reduced role for user intervention means that fewer configuration errors will occur, but it may be difficult to get an expansion card to use a legacy address.
  • Check the operating system vendor's site for patches and service packs. Frequently, operating systems are released with partial implementations of new technologies. Updated or revised I/O support often comes in patches or service packs issued after the operating system has been released. A couple of Windows® examples will illustrate this point. In the first case, Microsoft eventually provided an update package for Windows® 98SE that installs a safe device-removal utility, allowing users to stop an IEEE 1394 (FireWire®) Plug and Play storage device safely, before physically unplugging the device. In a second example, in March 2002 Microsoft published USB 2.0 drivers for Windows® XP, an operating system that was initially released in October 2001.
  • Check that "unsigned" drivers will not cause a problem. This is a moving target with evolving versions of Windows, as Microsoft becomes increasing less tolerant of drivers that have not passed their certification program. More on this in a subsequent article, where we outline specifics and offer some solutions.
  • Check technology associations for news and information, specifications, and occasional test utilities for assessing compatibilities. Technology associations (as well as operating system vendors) set standards and provide assistance that influences operating system upgrades. FireWire® (IEEE 1394) is governed by the Institute of Electrical and Electronic Engineers, who determine the interface specification. News and technology details on IEEE 1394 can also be found at the web site of the 1394 Trade Association. The IEEE also sets the IEEE 1284 standard for parallel port interfaces. USB interface standards are set by the USB Implementers Forum, and serial port standards are set by the Electronic Industries Association/Telecommunications Industry Association (EIA/TIA). For PCI interface cards, the PCI Special Interest Group defines bus standards.

Again, we hope these tips help. The final article in this series on upgrading will point to some standards associations that focus on interfaces. They work really hard at making things interoperate and can be a very good resource for troubleshooting tough upgrading problems.