Do you find the Support WebCast transcripts helpful?
Let us know!

Microsoft Support WebCast

Troubleshooting Device and Hardware Conflicts

June 12, 2001

Note: This document is based on the original spoken WebCast transcript. It has been edited for clarity.

Karl Swenson: Today we are going to talk about troubleshooting device and hardware conflicts. This is probably one of the most frustrating areas in dealing in any kind of product support, where Windows® (or even computers in general) is concerned. Troubleshooting the hardware conflicts can be really challenging, because there are so many different areas the conflicts can come from.

A brief overview (slide 2) of what we're going to talk about: we'll be briefly going over the Plug and Play system. That's important, because we need to understand exactly how Windows and your computer see the hardware and go about setting up the hardware. We're also going to talk about understanding how and why conflicts happen, and we'll talk about identifying the conflicts, and then we'll go over some of the tools and ways that you can resolve the conflicts.

We're also going to discuss one particular issue that has come up from time to time, which is driver issues that occur when the system is reinstalled without the original drivers. We're going to talk about some of the resources that are available in the Knowledge Base, and then we'll go into the questions and answers.

First of all, we want to understand what a conflict is (slide 3). This is really important, because understanding what a conflict is and isn't is really the key of the entire session. I'm a firm believer that the solution to a problem really revolves around finding out what the root cause is. That can be the biggest and hardest part of dealing with conflicts.

Webster's defines a conflict as to contend or to engage in strife or opposition. Anyone who's had something not work right on their computer can probably relate to that. In real terms, that's exactly what it means, that something isn't working right on the computer. It may be a particular piece of hardware, or it may be a device driver that is not related to any one particular piece of hardware. There's an important distinction there that we'll get to in a little bit.

An overview of the Plug and Play hardware detection system (slide 4) is probably a WebCast in itself, so I'm only going to touch the very basics. It starts out with the computer and the system BIOS — BIOS stands for basic input and output system. The BIOS reads the hardware and stores information about it in the CMOS. It utilizes the BIOS and the CMOS to look at your hardware and set up everything that's on it. ISA and older devices, such as old 8-bit sound cards and things of that nature, are first set up in the hardware setup, along with virtual devices, like COM ports and LPT ports.

After the Plug and Play BIOS of the computer has finished setting up all the available ISA hardware, it also scans for Plug and Play devices, records that information, and passes all of that information on to the Windows Configuration Manager during the operating system startup. At this time, the Windows Configuration Manager sets up and allocates resources for the Plug and Play devices, which also include USB devices, IEEE 1394 (FireWire) devices, and other things of that nature.

It creates what's known as the hardware tree, which is a brief view of all the hardware that's installed on the computer at that time, stored in RAM, to be utilized at all times in the system. It also records an archive of all that information in the registry under the HKEY_LOCAL_MACHINE\Enum key. This is basically a history of every piece of hardware that you've ever had on the system. That can be important later on, because if we find out that a particular device has been set up incorrectly, that information will also be recorded into the registry, and it will be used again and again to try to reset that hardware.

Understanding conflicts (slide 5) is really the beginning of this, and I want to discuss two areas. Hardware conflicts relate to the physical device itself. The definition of hardware relates to a physical input and output device, that would be the actual sound card, or the actual video card, or the actual modem that's installed in your computer. When we're dealing with those, we deal with interrupt requests, which are hardware lines over which the device can send a signal to get the attention of the processor.

We also deal with direct memory access, or DMA, which allows the hardware to have direct access to the memory without having to go through the processor. We deal with input and output ports, which are the channels through which the data transfers between the device and the microprocessor. We also deal with memory addresses, which is the portion of computer memory that can be allocated to a device, or used by a program or the operating system. Finally, we would look at device conflicts, which involve drivers and software, as opposed to involving the physical resources on the computer. The device drivers are probably where the majority of the system conflicts come from.

Let's talk about understanding when conflicts can happen (slide 5). There are basically five ways; I know that only four are listed on the slide. The first one is after new hardware installation. Obviously, if you interpose a new piece of hardware into the system, that would be a common place where you could have a hardware conflict, although not as much now that we have Plug and Play hardware, as opposed to the older legacy hardware. Legacy hardware requires a particular setting on the hardware to set up its resources. Plug and Play hardware allows the system to set the resources up in a dynamic fashion, and it allows for a little bit better control and a little more elimination of the conflicts.

You'll also find that some conflicts happen after program installation. By this I mean if you install a particular program on your system, it can create a device conflict, even though it's not a piece of hardware at all. But it is using system resources, and it does interact with a lot of the other hardware devices or device drivers within the system.

We have also seen conflicts happen during operating system upgrades. In this case, we often find that some of the older drivers are not as compatible now, as far as the operating system, which has newer ways of doing things that are more efficient or more effective, and some of the older drivers don't support that particular technology.

The fourth type would be out of the blue, which is the most frustrating of all — when you turn the computer one day, and suddenly something isn't working. While generally that would lead you to believe that something just died, such as a piece of hardware is no longer functioning, in theory it may not be, because you may have a delayed reaction from one of the other ones that we talked about above, or you could have a random error that would never reoccur.

Finally, there's one that's not listed on the slide, and that's relocation. This is one I've seen several times, where people physically move their computer from one place to another and suddenly find something is not working. Oftentimes during relocations what can happen is hardware cards or memory chips on the system can be jarred in a transfer, and they will not be able to connect to the motherboard properly. And then you have a piece of hardware that's no longer functioning. Relocation can also cause dust or dirt that's inside the case of the computer to be shaken and filtered down into the slot, and then cause the contacts of the card to be unable to get a good contact. Again, you would have a piece of hardware that's not working.

One of the things I recommend to people, if they have moved their computer and then suddenly something is not working, is to either take it to a hardware technician and have them clean it out, or if they feel qualified to clean, blow out the contacts of the cards to make sure everything is connecting properly. I've also seen something as simple as a ribbon cable come loose, and suddenly the IDE channel is now not talking to the motherboard, and the hard drive won't boot.

Again, why this is important is any time something happens to your computer, there's usually a cause-and-effect relationship. When something goes wrong, you need to first take a step back and try to find out what has changed the system to find out where it came from. More than likely, one of these five things is going to be one of the primary sources.

The symptoms (slide 7) are obvious, but we're going to go over some of the more common ones. Obviously the first one, "Device does not function properly," is pretty general, but that can be the first thing that you're going to look at, something isn't working and you need to start looking at why. Other common conflicts would be the sound does not work or the sounds repeat, and I think we've all heard that stuttering sound that may happen on a system at one point or another.

You may have a computer system that will not start up at all. That means that you have a conflict someplace, and unfortunately, a system that won't start up doesn't necessarily indicate a device conflict; it could be a program error somewhere. But it is one of the conflicts that can happen when your hardware is having a problem. You can have a port that will not open or a modem that will not initialize. The two are related. For example, you try to initialize your modem and it says, "I'm sorry, I cannot initialize the port."

Modems in particular can be a very big challenge when you're dealing with this, because the popularity of software-controlled modems has grown in the last few years. You could have a modem that is not properly working, but it may be caused by the software driver, as opposed to the card itself. In addition, with the amount of third-party ISP dialers — programs that are used to connect to an Internet service — there are a lot of different programs that are all competing for the attention of the modem, and any one of them can cause the modem to stop responding.

Next, we'll look at the printer will not print (slide 8). Again, this is a very simple sounding error, but it can be very challenging, because when you're dealing with the printer, if you really follow the chain out with what it takes to print the document from an application, you're dealing with a lot of different pieces of interconnected hardware, and a lot of device drivers that are all interconnected. For example, the printer itself could be bad, the parallel port to the printer could have failed, the cable connecting the two could have gone bad over time. You're also dealing with the printer drivers, and you're dealing with the video driver and the way that it renders the colors for color printing, and things of that nature. Again, it takes a little bit of patience to try to identify exactly where the conflict is, or to look for multiple conflicts that are related and lead you to a particular device.

The next one is fatal events, which are things like fatal exceptions, invalid page faults, and protection errors. Again, this is another area where entire WebCasts have been devoted to trying to decipher what these mean, and there's a lot of good information in the Knowledge Base that can be gleaned just by doing a search of the particular type of error you're having. Any of these fatal errors can indicate not just a program error, but the fact that one piece of your hardware or one of your hardware device drivers is no longer functioning properly.

Another one that I have seen is new devices are not detected, particularly with USB devices. You plug a USB device in, and the computer does not recognize what it is. This can come from conflicts that are within the registry in the archived information about the USB devices; it could come from the BIOS not recognizing the USB port properly. Again, we're seeing that there are a lot of different places that the errors can come from, and it can be very challenging to pin down exactly why it's happening.

The last two are startup and shutdown problems. Again, it's something that's very minor sometimes, especially with shutdown problems, because a lot of people may not shut their computer off on a daily basis, so they may not even see it. But it can be troublesome, and it does indicate that there is a problem that should be attended to.

We also deal with the problems of entering standby and hibernation. This is dealing specifically with your Advanced Power Management (APM), or your ACPI. Basically, your hardware can't go into its powered-down state, perhaps because the driver is not compatible with that version of the APM. This can also relate back to BIOS problems and other things of that nature. Again, we can't go into too much detail with this, because we really want to talk about the overall methods of troubleshooting, not troubleshooting a particular one. There is good information in the Knowledge Base, and of course Product Support Services is available to help with some of those issues as well.

Some of the reasons for conflicts (slide 9), and these are very general, but there may be a driver that needs to be updated. Drivers are frequently released by the manufacturers of pieces of hardware. As a matter of fact, some manufacturers release a new version of a driver on a daily basis. You could have a driver file that's not outdated, but that has been corrupted, maybe by a bad cluster on the computer, or by another program that has over written part of its data. You could have a corrupted registry. Again, there are tools for finding and dealing with problems within your registry. But if you have corrupted information in the registry, then obviously it's not going to be transmitted to the hardware properly.

You could have conflict programs with the driver, and this is a little bit more common than some of the other ones, because the newer programs that are out may not have been tested with the particular driver that you have. You can have an internal conflict happening that was never really researched before. Again, this is another challenging point, and after we go into some of the identification stages, you'll understand how we can find these, even though they seem to be very hard to deal with.

One of the more common ones, especially with older computers, is that you may need to update your BIOS. The newer operating systems and the newer hardware standards have made some of the older BIOSs a little bit more challenging to set up, because they just don't understand, basically, what the new programs are trying to do. BIOS upgrades are available not only as a software flash, but you can also order chip replacements for some motherboards from the manufacturer. Your best source of information on that is the motherboard manufacturer.

A little bit more uncommon, I think, is incompatible hardware (slide 10). It's kind of rare that you would see two pieces of hardware that just don't like each other. There is one interesting case that we have seen occasionally, and that's when the network interface card may be too close to the video card on some motherboards. Move it down one slot, and suddenly you no longer have a conflict. We have also seen cases with network interface cards, where they're required to have a bus mastering slot on the motherboard. Some motherboards don't support bus mastering in all of the slots on the computer, or in any of them. You may have a computer that has three available PCI slots on it, but only one of them supports bus mastering. Unless you contact the manufacturer to find out which one that is, you would have a problem that you couldn't solve by any means.

Failing hardware, of course, is always a possibility. Electronic hardware in computers is just like any other type of electronic hardware — over time, with the start ups and shut downs of the computer and the constant heat from within the computer case, the components can break down and fail. It's not an indication of a defect; oftentimes it's just time and wear. But that is one of the options that we have to look at.

Conflicting resources or insufficient resources are two of the more common ones, because that's where most of the conflicts really manifest themselves. You have one piece of hardware that's interfering with another piece, or they're competing for the same resource. The resource in this case could be RAM, it could be an input/output port, it could be an IRQ or a DMA. Again, we'll show you some of the tools here shortly, for how to identify when you have resources that are in conflict, and how to deal with them.

Last, but certainly not least in the computer market these days, would be the occasional virus. Viruses don't normally attack hardware, viruses normally attack the programs. The problem is that the damage that the virus causes is not always predictable. It may disrupt one particular program's operation, but then you would turn around and find that it corrupted several other files on the side, and that's where your conflict is coming from. We need to remember that scanning for viruses is always a good option on anyone's computer.

Understanding conflicts (slide 11) requires that we understand what the driver files are. The first file that we need to understand is the .inf file, and I know that's out of the order on your slide. The .inf file is your basic information file. It's named .inf to remain somewhat compatible with older .ini files from the original Windows system. The .inf file is a text file that contains information about the driver, and it tells the operating system how to set it up and how to run it.

The next one, the .bin files, which are Drvdata.bin and Drvidx.bin, are binary files that are a complete list of all the .inf files that are in your computer at any given time. These two files are created dynamically whenever that information changes. In other words, the computer, when it starts up, checks the .inf files in the Windows INF directory. If it finds changes, then it will rebuild those two files to incorporate the changes within it. If you've ever started your computer and seen the message "Windows is now updating your configuration information," that's part of what's happening here, these two files are being re-created.

There have been programs that have corrupted the files within that directory, or inserted several thousand blank ones. People wonder why it's taking 45 minutes to update their configuration information, and that's because it's trying to update all of these particular files, even though they have no data. These files can be rebuilt dynamically at any time. If you have information that leads you to believe that your .bin files have corrupted data in them, or if you have an .inf file that has incorrect information, you can replace the .inf file, rename the two .bin files, and then restart your computer, and they will be re-created automatically.

The next one is the .vxd files, which are the virtual device drivers, or the virtualization drivers. There are two sections I want to talk about in here. One is the Vmm32.vxd. This is probably one of the most important and most misunderstood files in your computer. First of all, it's important to understand that this file is created during set up. If it's removed from the computer, the only way to re-create it is to rerun Setup on your computer. You cannot re-extract a copy of this from your Windows .cab files; it has to be re-created during setup. This file contains almost all the .vxd files that are on your computer during the setup process, and they're rolled into one file and loaded automatically.

But it's much more complex than that. It's not just a monolithic file that contains commonly used .vxd files, it also contains the startup — this is where the Configuration Manager is called from. And the Configuration Manager, in conjunction with this, also scans your computer for any changes during the operation of the computer. This is how, when you unplug your USB device and plug a new one in, the computer is able to detect that and then set up the right driver for it.

Your standard .vxd driver is normally loaded dynamically, which means that this file, Vmm32.vxd, can order a file to be loaded in the memory and run, whenever it's needed, and then can order it to be removed from memory when it's done. It's a dynamic process that does not require the computer to be restarted between each change. Static .vxd files, on the hand, run much like the original device drivers in Windows 3.1 or older operating systems. After they're run and put into the system, they stay there. To remove them from the system, it requires a restart of the computer.

Other types of device files would be basically the older types, the .sys files and .drv files. Of particular note would be the .386 files, which are the old Windows 3.1 16-bit device files. Sometimes, when you upgrade a computer, or you have a computer that has been upgraded from Windows 3.1, and you've now upgraded the operating system several times, you may have a few of these floating in the system. They can cause conflicts, because the real-mode drivers and the .vxd files are all running in protected mode, and the two of them just will not talk to each other at the same time.

On the next slide (slide 12), we're looking at how to identify conflicts. Of course the most obvious place is within the Device Manager. The Device Manager can be reached two different ways: one, from Control Panel by double-clicking the System icon, or two, by right-clicking My Computer and selecting Properties. That brings up your System Properties window, and Device Manager is the second tab on the left.

The Device Manager, as we see in this picture, shows you a list of all the different classes of devices that are in the computer: CD ROM, disk drive, display, etc. Whenever there's a conflict, it's going to indicate that conflict with some type of a code or symbol. The first symbol we're looking at here is the yellow sign with the black exclamation mark (!), and that particular symbol is indicating that we have a device that is in a problem state or not functioning properly.

Any time you open your System Properties and the Device Manager, and there's a device that's in conflict, that particular section will be expanded so you can see it immediately. If the sections are not expanded, normally that would indicate that nothing within that class is having a problem. By selecting Properties while that conflicted device is showing, you can see the details of that particular device and find out what's wrong. We'll go into some more detail on that in just a moment.

I want to discuss the other symbols (slide 13) that you might find within the Device Manager. The most common one that you would see in a conflict would be the exclamation mark in a yellow sign. A red X indicates a device that has been disabled by the system or by the user and that is no longer functioning on the system. You can also find a white "I" that's on a blue sign, which indicates that the automatic settings for that particular device have been overridden in the Resources tab, which we'll go into in just a moment. Then there's a yellow question mark (?) that can appear from time to time. That basically is exactly what is says; it's a question mark, because the system has no idea what this particular device is. More often than not, you'll find that under the other devices as an unidentified device. This is when you have a piece of hardware that for some reason is not identifying itself properly to the system, and you need to do a little bit of research to find out what it is and get it set up properly.

There's one more symbol, which shows up in Windows Millennium Edition only, and that's a green question mark. The green question mark indicates that not all of the features of that driver have been enabled. In other words, you have a device that may have functions that the drivers that are installed for it are not allowing it to access. That symbol is only available in Windows Millennium Edition.

When you highlight the device and select Properties, it takes you to the Properties page for that device (slide 14), where you have anywhere from three to five tabs, depending on the device. On the first one, the General tab, it's going to show you the device status, which we've enlarged here for your viewing, where it says "The drivers for this device are not installed (Code 28)." There's a complete list of codes for all of these devices available in Knowledge Base article Q125174 (http://support.microsoft.com/support/misc/kblookup.asp?id=Q125174), and I'll be happy to reference that article again later.

This is really your first stop when you have a device that stops working. You look in the System Properties, you look in the Device Manager, and you find out if it's in a problem state, and if it is, what is the problem state? There are many different types of problems that can happen here. But most of the time that will lead you in a direction that will allow you to find the quickest resolution.

The next one (slide 15) is kind of an unknown feature that is very useful when you're identifying conflicts. Right-click Computer in Device Manager, select Properties, and you can bring up an interesting little window with the resources used. And we're going to switch the slides rather quickly on this, so I can show you what that looks like. Again, I'll be more than happy to reference this later.

On the View Resources tab (slide 16), you have four different choices, Interrupt request, Input/output, Direct memory access, and Memory. This is not going to tell you there's a conflict, but it is going to show you a complete list of what resources are currently being used. This can be very useful not only when trying to identify where a conflict is coming from, but if you have to move a device to a particular resource, you now have a list of what's available. This information is duplicated in other places, and we'll go back to that in just a moment.

Also in the Device Manager, when you go take the properties of a particular device, you can go to the Resources tab (slide 17), which is generally the last tab on that device, and it's going to show you a Conflicting device list. If this particular device has a conflict, it's going to show you a list of where it's having a conflict. It also shows you what resources are set up for that particular device, which in this case is IRQ 04, and an input/output range of 03F8-03FF. Again, this won't always show you where the problem is, but it does show you what you're set up as, and it shows you what's being used, so you can use that information for elimination purposes.

The next slide (slide 18) shows the Microsoft System Information tool, or Msinfo32, which is probably one of the most useful tools that is included within Windows 98 and Windows Millennium Edition. I'm showing you two versions of it, the one on the left is Windows Millennium Edition and the one on the right is Windows 98. This is started by running the executable file msinfo32 at the Run line.

Msinfo32 contains a lot of information that on the surface may not be useful for the average person, but whenever you're trying to troubleshoot something that's not working right, it is very, very useful. It also contains a list of other programs that can be launched from this point that are also useful in finding conflicts. We'll go into some details on that now.

This is the Windows 98 version of Msinfo32 (slide 19), and we see that the conflicts and resources have been highlighted. We have a window there that I've enlarged for you. Basically, this shows any IRQs that are shared or conflicted. Now you'll notice that there are a lot of them that are doubled-up. You have IRQ 5 that is showing a network adapter, and then you have also, say, ACPI IRQ Holder for PCI IRQ Steering. This is not a conflict; this is when the system is sharing that IRQ and it's dynamically reassigning it based on the needs of the system at any given time. You may have several things that are set up on the same IRQ, but are not in a conflicted or problem state.

Looking above that, you see a little menu bar (which you can't really see too well). Your menu options on this are File, Edit, View, Tools, (and Help). The Tools menu option is very useful, and I don't have a screen to show you this, but I will give you a short list of some of the tools that are available directly to you. By pulling down that menu, you have the ability to launch any of these programs. You can launch the Internet Explorer Repair tool if it has been installed. You can launch DirectX® Diagnostics, which we'll be talking about shortly. You can launch the Windows Report Tool, which is very useful for technicians, because you can take a snapshot of the entire system, including the registry and your system loading files, compress it into a file, and send it to somebody in support, so they can troubleshoot remotely.

You have System File Checker, which scans files and verifies their integrity. We'll talk about that later as well. You have the Signature Verification tool, which verifies the files are digitally signed. This can be very useful when dealing with drivers. You have the Registry Checker, which will check the registry for any errors, and then it'll also make a backup copy of it. We're going to talk about registry checking a little bit later on, but we'll be talking about doing it from the command prompt, as opposed to doing it from Windows. From Windows, you can only check the registry and back it up; you cannot restore previous versions of the registry.

You have the Automatic Skip Driver Agent, which can identify drivers that fail to load. Obviously, this can be a very useful thing. It makes two attempts to load a driver. If it can't load it, then it will create a log of what that driver is and that it can't load. And then it may or may not place it into a problem state, depending on the type of driver that it is. By running this tool, you can get a list of anything that's conflicted, or more importantly, that the tool has now been removed from operation on the system because it had a problem.

Also available is Dr. Watson, which identifies and writes failed processes to a log, which is more related to the software side of things than it is to the hardware.

You also have my favorite tool, which is the System Configuration Utility, which we'll be talking about in the next few slides. Last, you also have Scandisk and the Version Conflict Manager. Scandisk, again, is one of those tools that's almost a day-to-day thing for a lot of people, but when dealing with the hardware conflict, it can be very useful. We'll talk about that shortly. The Version Conflict Manager deals more with applications that have upgraded themselves when you have competing versions or files. However, that can be a useful tool with device conflicts, because what if this particular file has overwritten an older version on the system and is causing the conflict in the drivers? It's not as common, but it is a useful tool, and we should know that it's there and available to us.

We're going to look at the Windows Millennium Edition version of Msinfo32 (slide 20). And the tools are fundamentally the same, but there's one major difference on the front page. When you look at the Conflicts and Sharing item on the menu, this shows you not only just the IRQs that are conflicted or sharing, but it also gives you a list right there of any I/O ports, any DMAs, or any memory addresses that are conflicted or sharing. Basically, you have a snapshot of everything in the system that's been identified as either sharing information or as in a conflict state. It's very useful when you're trying to track down a particular resource problem.

Now we're going to talk about Msconfig (slide 21), or your Microsoft System Configuration utility. This was probably one of the most useful and misunderstood tools that has ever been put into the computer. And it's one of my favorites for troubleshooting conflicts, whether it's a program conflict or a hardware conflict. Again, like the System Information tool, there are two versions of it, one for Windows Millennium Edition and one for Windows 98. Fundamentally, they're the same, but they do have a couple of differences, which we'll be discussing. I'm going to put up a full screen shot of just the Windows 98 version (slide 22), so you can get a close-up of what the options on it are.

You have the ability to select your startup mode. Do you want a normal startup, or do you want to diagnostically start it up and interactively load device drivers? Obviously, by interactively doing it, you can select one that you don't want to load and see if that relieves your problem. Then you have what's called selective startup, where you can select or clear the Config.sys, the Autoexec.bat, the System.ini, the Win.ini, or the startup group items, which are the tabs that you see across the top. You can clear those and take that entire system file basically out of the system startup process.

By clearing all of those, we put the computer into what we call a clean-boot situation. And then by slowly introducing those areas back into it, we wait to see when the conflict happens. And we now have a general location of where it's coming from. By selecting the tab on top, you can now look inside that file, and you can disable sections of it all the way down to line-by-line, in the process of elimination, trying to find out where the problem is.

Click the Advanced button and you'll get a lot of information that we're not going to go into a lot of detail on here. Some of the more useful items within that dialog are you can force the computer to display the Safe Mode menu, which is useful when you have a computer that doesn't give you the time to do it at the boot up process. And you can also force the computer into a standard VGA mode for the driver, which can be useful when you're having problems getting the driver to set up properly.

We're going to look at the Windows Millennium Edition version of it now (slide 23), which again, is mostly the same, but there are a few differences. The primary difference is the Windows 98 version has the Create Backup and Restore Backup buttons on it, and the Windows Millennium Edition version does not. It does not support the backup; it instead will give you a button to immediately launch the System Restore tool. It also has a button there that will take you right to extracting files. This button, Extract File, works much the same way the System File Checker. Normally, in Windows 98, you use System File Checker and then you have the ability to extract files. In Windows Millennium Edition, System File Checker is not one of the menu options in Msinfo32, and you have to launch it from here, where it does nothing but extract the files for you, and it does it very effectively.

You'll notice across the top that there are some changes. You have the System.ini, Win.ini, and the Startup tabs, but we've lost the Autoexec.bat and the Config.sys tabs. That's because most of the information in these two files has been incorporated directly into the registry within Windows Millennium Edition, but you do have an Environment tab, which will allow you to set some of those parameters manually. You'll also notice an additional and very useful one, which is called Static VxDs. Windows Millennium Edition will give you the opportunity to take static virtualization drivers and load them interactively, and pick which ones you want to have. Windows 98 did not give you this option. So in Windows Millennium Edition, you have the ability to try to find out if one of those static drivers is loading and interfering with the other ones on the system. It's very useful information when you're trying to identify where your conflict is.

Another tool (slide 24) that you can use to identify where the conflict is would be physically removing the hardware from the computer, which we don't recommend for everyone — this is something that is best left to a qualified technician — or by disabling it within the hardware profile. Disabling it is not quite like removing it from the computer completely. It does still take up some of the resources on the computer, but it's not using the drivers in the same way, and you can disable things interactively to try to find out if that will remove your problem. Again, this is more useful information; this is contained within the properties of this specific device within the Device Manager.

Another very useful tool, which people don't necessarily think of as a tool, is Safe mode (slide 25). When you load in Safe mode, you're not loading any of the drivers that are normally run on the system. You do load several static .vxds, but mostly they're related to the mouse and to the basic video drivers that are loaded within Safe mode. By booting into Safe mode, you can compare the results of that to booting in a clean boot or booting normally, and use that as part of your process of elimination, to try to find out where the conflict is coming from.

In the Device Manager, you'll find what we call ghost devices, where you have, if you look into the CD-ROM classes, three or four different entries, when you only have one CD-ROM. This is basically remnant information of old drivers that were installed, but that are still contained within the system. You can use that information to try to remove those, and make sure that they're not actually acting in a conflicting manner.

One of the best tools that we have is the human mind, which is using linear troubleshooting (slide 26) to try to figure it out. In this case, you could narrow it down to application, hardware, or operating system. That means you have an application that may be doing things with the system, you have the hardware that's actually on the computer that can be having the problem, or the operating system, which would include the device drivers, which could be causing the problem for your hardware. I'm going to show you an example of this on the next slide (slide 27).

Let's say you have a printer that's not functioning when you're using Word. The first thing you could do would be to try printing with another application, and that will tell you whether or not the application itself was having the problem. It will remove even the hardware from your consideration. Assuming that you can print it with another application, you could try printing it in MS-DOS® mode. By dropping to a command prompt with an emergency boot disk, you can force a file to print through the printer. If it does, you've verified the integrity of the physical hardware, and you've more than likely shown that the operating system is having a problem with the drivers, and that may be the first place you need to look.

You can also print using a generic text driver, and we'll talk about some more of the generic drivers in just a moment. This allows you to isolate the actual driver as the problem. By allowing it to print in a generic fashion, you've proven the hardware to be effective and you've proven the operating system is functioning properly. This is obviously not absolute, and every case or every type of device driver is going to be a little different. But by using these types of methods, you can isolate the hardware yourself, much the way a mechanic would do so on a car.

Another very good tool would be the DirectX Diagnostics (slide 28). This is run by running dxdiag at the Run command. This will test all of your DirectX components, which normally relate to sound, multimedia, and video. By running these particular tests, which I have circled, you can tell whether or not you have a problem with DirectX. This can be very useful, especially when dealing with audio and video problems, because some of the older drivers that are out there are not compatible with newer versions, and DirectX, or vice versa. If you find that you have a problem with a video device and the DirectX is having a problem, you can either upgrade DirectX or make sure that the driver for that is DirectX-compatible.

However, if you look in the Device box right there, it also shows you a complete snapshot of what that particular device is — in this case it's a TNT video card. It shows you the driver version, the memory, and the current display mode. This is pretty much duplicated for all your major devices and for the DirectX files themselves, so you can use this as a tool to find out what device drivers are loaded on your system. Again, identifying what you have is your first step in trying to figure out what's wrong.

As I mentioned with the troubleshooting section, minimum functionality drivers can be very useful (slide 29). If you have a particular mouse that's not working, you can try installing a generic mouse driver and see if it functions. That may lead you to believe that the driver for that mouse is where the problem is. The same thing goes with video. You have a standard VGA driver that's available in the Add New Hardware wizard. You have display adapters, basically for generic monitors, as opposed to a particular branded monitor. You can introduce standard modem drivers, and they're just called standard 56-Kbps modem or standard 28.8-Kbps modem. You can also use, as I mentioned before, the generic text-only print drivers to remove the print drivers from consideration.

All of these are available fairly easily. For the print drivers, you would set up a new print driver using the Add Printer wizard, and it's one of the options that are listed in the types of hardware. The others would mostly be done by using your Add/Remove Hardware information; I'll show you some slides on that in just a moment.

Another good tool, but a little time consuming, is called the parallel installation (slide 30). As the slide says, this will reinstall Windows into an isolated folder, so it does not detect the data or the system configuration from the existing installation. This forces a basic configuration, that is only the hardware and operating system, and it removes the possibility of program conflicts, it lessens the possibility that it's a virus issue, and it allows you basically two things: one, it allows you to test out the basic configuration of the computer, and two, it does give you a good launch point if you try to do a reinstallation of your system. The nicest thing, however, is that it's reversible. By following the directions in the Knowledge Base articles, you can restore to your previous configuration and it will be just like nothing had ever happened. See Q277648 (http://support.microsoft.com/support/misc/kblookup.asp?id=Q277648) for Windows Millennium Edition, and Q193902 (http://support.microsoft.com/support/misc/kblookup.asp?id=Q193902) for Windows 98).

Another very good one, which is also a Windows Millennium Edition-only tool, is called System Restore (slide 31). This does not deal with resolving the system conflicts. System Restore is probably one of the most powerful tools that was introduced in Windows Millennium Edition. It allows you to return your computer to a former state. Say you installed a set of devices, or you installed a program, and now suddenly you're having a problem — you can go back a step, and go back to a configuration on the computer from before that problem happened. It restores various system files to return you to that point. System checkpoints are created automatically, either on a time basis or during certain program application installations.

There's more information available on this, and I believe I have the Knowledge Base article for this at the end of the presentation (http://support.microsoft.com/support/misc/kblookup.asp?id=Q267951). If it's not there, again, I'll be more than happy to lead you in the direction for specific information about how System Restore works, when it creates restore points, and how to use it.

Resolving conflicts. Another good one, much like System Restore, but a little more focused, is restoring your registry (slide 32). This can only be done after rebooting with an emergency boot disk and going to command prompt. To restore the registry, you run a program called Scanreg, and you add the /restore switch. It will show you a list of the available registries and the dates that they were created, and it will allow you to pick one registry to restore back to.

Again, this is not something you would normally have to do, but it is a very useful thing if you think you have a corrupted registry. Scanreg can scan the registry itself and try to find errors. If it can't find any, then you can use this to restore back to an earlier one, which will tell you if you have corrupted information, but not a corrupted registry file itself.

Scandisk is available, as I said, in Msinfo32, or it's available under Programs, Accessories, System Tools. Scandisk will scan your disk for any types of errors, including lost clusters or cross-linked files; it'll also do a physical scan of your hard drives to check to see if you have any physical errors on the drive.

This can be very useful, and a lot of people don't think of running Scandisk when they have a hardware problem, because they figure it's the hardware. Let's say you have a piece of hardware that has a driver installed, and the data space underneath that driver has become corrupt because of a physical error. Running Scandisk will identify where that bad cluster is, and if you find out that that's one of the files affected by it, now you know why you had the problem.

Running Scandisk periodically is a good idea for any computer user. Running it to scan the physical surface of the drive is another good idea, although you don't need to do it quite as often as just running a regular Scandisk. One of the first things I would recommend people do when they're trying to restore their registry would be to fall back on Scandisk, and make sure that the integrity of their hard drive is good, to make sure that we just don't have corrupted data from that.

The last one wasn't whimsical; really, rebooting the computer can sometimes make a difference in hardware problems. Sometimes when people have a hardware problem, or they're trying to reboot the computer in a hurry, they'll just do it by the reset button. Sometimes doing a complete shutdown and a cold reboot, by letting the computer sit for a few minutes, will actually do a lot to resolve problems. Yes, it's kind of an outside shot, but it is something that you might want to do to make sure.

This is getting a little bit more technical. We're talking about resource reallocation (slide 33). In the Device Manager, and selecting the Resources tab that I showed you earlier, you may have noticed a box that was checked for Use automatic settings. That means Windows is looking at the resources of the computer and allocating them as it sees fit. By clearing that, in a lot of cases you'll have several different configurations that you can set up to change that. Shown here is the COM port, which is one of the most common, because you can change the IRQ of the COM port, say from IRQ 04 to IRQ 03. Or you can leave it on IRQ 03 or IRQ 04 and utilize a different input and output range. Even if you're not showing a conflicting device in that range, it can be a useful tool to try to find out if that's where the problem's coming from. Other types of PCI devices have the ability to do this, although not all of them will allow you to make as many changes as others; it really varies. It's really recommended for the more experienced user or for hardware technicians to go in there and try to change the resources. I would recommend using automatic settings, unless you have actual knowledge that changing them is going to give you assistance in your problem. It is one of our tools and one of our options.

You can also remove and reinstall the devices in the Device Manager (slide 34), in other words, what you would do is highlight the device you want to remove, click the button that says Remove, and it will take that driver out of the system. Then by clicking the Refresh button, it will launch the Configuration Manager to scan the hardware, it will find the device, and it will run you right back through the Setup device information.

This is kind of a loaded question, because if you have bad information in your .inf file, you're going to get that same bad information the next time. If you find the wrong settings coming up automatically, you can try reinstalling it. If the same information comes back, then you'll know that you need to check on the viability of that particular driver. Sometimes, however, just by forcing the computer to reallocate the resources to accommodate the device, you solve the conflict without even realizing it. It's very good to do this in conjunction with removing ghost drivers out of Safe mode — where you would not only remove the valid device, but also remove all the ghost devices at the same time, reboot the computer, and have it redetect all the hardware, and only pick up the actual, physical hardware that's there.

We talked about removing and reinstalling in Device Manager, and I mentioned earlier updating the BIOS (slide 35). Especially for older computers, and actually anything older than a year or two, you will probably have a BIOS update that's been available for your computer. Updating that BIOS is a scary prospect, but it can be a very, very necessary one, especially when you're dealing with the Advanced Power Management features on a computer.

Updating the BIOS is normally done one or two ways: by flashing the chips (or basically overwriting their settings to the newer settings), or by replacing the chips, which should be done by hardware technicians. For flashing the BIOS, you need to contact the manufacturer of that motherboard and get the exact information on how to do it, and follow that information directly. If you're not confident enough to do that type of work, a hardware technician can certainly do it for you, which of course leads us to our last point, which is the hardware technicians. There are many very good hardware technicians out there who can take your computer, and using diagnostic tools that aren't available to the normal user, find conflicts in a relatively quick fashion.

We're going to talk about how to update and reinstall drivers (slide 36). I think I've alluded to this several times. Sometimes just installing a new driver can be useful. You may have a piece of hardware that's several years old, and you're having problems now in one of the newer operating systems. Checking with the manufacturer, getting a newer driver for it, and then reinstalling that new driver is more often than not going to solve your problem.

Say, for example, you're looking at the COM port here and you want to install a new driver for it. You would start at the properties of the device that you want to reinstall; you would go to the Driver tab and then click the Update Driver button. This will launch the Hardware Detection Wizard, and specifically the Update Device Driver Wizard. The best method, if you have a specific driver that you want to use, would be to check the box, as I've shown here (Slide 37), that says Specify the location of the driver. You can also have it do an automatic search, but sometimes if you have to force it to use a particular driver for a particular reason, it's a good idea to check that and then point it to the right location.

After you select that box and you click Next, it will take you to the next window (slide 38), which gives you the opportunity to tell the computer where it's going to find the driver. Again, it's asking you for permission to search for the driver itself. You can do that and have it search through the removable media or select to specify a location to search (in a drop-down list), above where I have circled. You can also display a list of all the drivers in a specific location, so you can install the driver you want. This one's very useful, and I'll show you why.

When you select that, you get the Manufacturers and Models lists (slide 39). If you have the option selected that says Show compatible hardware, it tells you right there that Windows has determined what the particular hardware is, and what the compatible drivers for it are. So if you have an error — say it's detecting your hardware, but it's telling you it's a different version than it is, you can click Show all hardware. In this case, it shows standard port types, and then it shows different manufacturers of COM ports.

The standard port types are what we were talking about earlier, when I mentioned the minimum functionality drivers. Either in there, or under the section Microsoft, you'll find the generic device drivers that I mentioned, and that's how you would set them up. By selecting that particular generic device and forcing the computer to use it, you now have the ability to test just a generic driver, as opposed to the specific hardware. Be aware, the generic drivers are not really intended for long-term use; they're mostly intended to get you up and running until you can contact your device manufacturer and get the best driver for it. However, this does allow you to look at everything that's installed on the system, or that the system recognizes, and try to find out if you can launch the proper driver for it from here.

Where do you get drivers from? There are several different sources (slide 40). The first, obviously, would be to talk to the manufacturer of your particular device. If you have a modem that you bought from a particular company, contacting their Web page will give usually give you a list of all the available drivers for it, and oftentimes they're listed under specific operating systems. If you have a computer that was pre-assembled for you, you can contact that computer manufacturer's Web site, and they will normally have a list of all the drivers that are available for the hardware that's on your computer. As matter of a fact, in some cases, the version of hardware that they've installed on your computer is a specified version that they have the best driver for. If you have preinstalled or OEM hardware, a good place to start with is the computer manufacturer.

Now there are several third-party driver clearinghouses, and this kind of sounds like a flea market kind of thing, but it's really not. These are Web pages that are devoted to doing nothing more than providing drivers. They operate in several different ways. They'll normally point you to the manufacturer's driver Web page, and they'll have a bulletin board type of system, where people can find a driver that has been found and that works for this particular device and this particular operating system. I don't have a list of those available for you, but if you just did a Web search for "device drivers," you would probably find several of them immediately.

The last one is really a very good place to start with, actually, even though we're talking about it very close to the end of the presentation. That's the Microsoft Hardware Compatibility List, which is accessed at http://www.microsoft.com/hcl/. This is a list of all the hardware that has been tested, either by the Microsoft Hardware Compatibility labs, or based on information that has been given to us by the manufacturers. It'll show you the hardware, which operating systems it's compatible with, and what the level of compatibility is.

There are two different types of listings that you'll see in there. One is a logo, where it says "For Microsoft Windows" or "For Microsoft Windows 98," and that indicates that it's met all of the logo requirements for the program. You can also have one that says it's logoed and the device is available for download. That would mean that they have an actual driver that has been tested with that particular hardware, and it is available for download, right there at the spot. You can also have one that shows a little CD-ROM icon along with it. That indicates that the best driver that has been tested is available on your Windows 98 or Windows Millennium Edition CD. Again, it breaks this down by operating system to give you the best driver available.

It may also say compatible, and what that means is that it does not meet all the logo requirements, but it does work, and that there is a driver available on the Windows CD. It's not to be sneered at, because sometimes the compatible driver may be the best one. As a matter of fact, there may not be any other drivers available. So that's a good place to start your search, when you're trying to find a driver.

What happens if you download a brand-new driver from the Web, just on a routine basis, and suddenly now, after installing the new driver, you have the conflict (slide 41)? Unfortunately, this can happen. Sometimes the drivers contain bad information, sometimes mistakes are made, and sometimes you just get an installation that was imperfect. You can also reinstall your older drivers, using the update wizard that I showed you before, and using the original disks for that driver, or by downloading an older version of it from one of the driver clearinghouses. You could force that driver back into operation on your system, and it will ask you if you want to overwrite the newer files with older ones, in which case you would say yes, to force it to overwrite.

Why is this a good idea, to use older information? You could have had a configuration that was working just fine before, so obviously you have a known driver that's going to give you good information. It will restore you back to that known configuration. If you have a new driver that corrupts one of the .inf files, this will force it to rewrite that .inf file, and again restore you back to a good, known configuration. It will also force it to rewrite the information in the driver data bin at the same time. Again, you're giving the computer good information for something that worked. It's not recommended that you go back to too old of a driver, but again, you have to consider that, especially in the case where you've upgraded a driver, and now suddenly you have a conflict.

What are the cons? They're fairly obvious. One is you have no guarantee that a driver that is too old is going to be compatible. You may lose some functionality with newer devices, or newer operating systems, and you can actually cause conflicts by restoring an older driver. Care should be taken when and where this is the appropriate troubleshooting step.

The last thing I wanted to talk about is an issue that we've seen come up several times (slide 42). Let's say you have a computer that was originally installed with Windows 95. You received it from the manufacturer with Windows 95. Over the course of time, you upgraded it to Windows 98 and upgraded the video drivers in the same time. Now you've updated it to Windows Millennium Edition, and it's working okay; you didn't have to do any kind of driver installs, because Windows Millennium Edition had everything it needed to set up.

You have a generic problem, and you end up deciding that you're going to format and reinstall the operating system. But rather than take all the time to install three different operating systems, you just install it directly to Windows Millennium Edition. Suddenly you find that your video's working, but you don't have all the features you had in the previous installation, and you wonder why.

What's happening is when it was originally installed with Windows 95, and all its drivers were working, on each successive upgrade, some of the information was migrated to the new operating system, and some of it was upgraded at the same time. You ended up with kind of a hybrid installation of drivers, where you had some of the old drivers mixed in with some of the new. It was in a fully workable condition, and actually you had more functionality than you do with the newer drivers. So sometimes it's necessary to go back in and reinstall the old operating systems and go up, if you want the same type of functionality. Minimum functionality is going to be maintained, especially if you have a driver that's working on Windows Millennium Edition. But sometimes the drivers that are provided to Microsoft by the manufacturers don't give you anything more than the minimum functionality. Special features like equalizers and mixers with sound cards, or properties pages that go into more detail than standard property pages, and video display, those will only be available by contacting the manufacturer and getting the specific information.

The other thing is the driver you have may be for a generic chip set that's given out to very many manufacturers for that type of a product, like a video card, for example. The driver that Windows detects and uses on it may be geared just to the generic chip set, but your card may have additional functionality that's only gained by getting the specific driver from the manufacturer. Again, that's why contacting the hardware manufacturer is probably your best bet in finding the best driver for your system.

That pretty much brings us up to the end of our presentation. I'm going to show you a few resource articles (slide 43). The Knowledge Base articles are available on the World Wide Web using the keyword system by typing mskb, a space, and then the article number, so you don't have to go to the Microsoft Web site to find them any more. The articles that I'm going to show you are not intended to be a comprehensive list; there are about a dozen of them, and I found these to be particularly useful in trying to troubleshoot harbor conflicts.

I'm starting with "Troubleshooting Device Conflicts with Device Manager" (http://support.microsoft.com/support/misc/kblookup.asp?id=Q133240). If you want information about Device Manager, that article is invaluable. You've also got a description of that funny green question mark that's only available in Windows Millennium Edition (http://support.microsoft.com/support/misc/kblookup.asp?id=Q275012). "How to Troubleshoot Computer Hangs During Hardware Detection," (http://support.microsoft.com/support/misc/kblookup.asp?id=Q262381), that's some very useful information because that could be where your hardware problem manifests. Then there's "Explanation of Error Codes Generated by Device Manager" (http://support.microsoft.com/support/misc/kblookup.asp?id=Q125174). We'll move on to the next page (slide 44), and I'll be happy to show these again later on, if anyone needs to see them.

We have "Windows Hardware Compatibility List" (http://support.microsoft.com/support/misc/kblookup.asp?id=Q131900), a little more information about the Web site that I told you about. "How to Install New Hardware in Windows" (http://support.microsoft.com/support/misc/kblookup.asp?id=Q142984), which is a good general information article on how to get your hardware set up. Also see "System Configuration Utility Advanced Troubleshooting Settings" (http://support.microsoft.com/support/misc/kblookup.asp?id=Q181966). Now I mention this in passing, because it's really a lot of information that's not going to be used by the general user, but if you did want some information about what advanced settings you can use in the Configuration Manager, this would be the article to use. We also have "Description of the System Restore Utility in Windows Millennium Edition," a very good article, that's http://support.microsoft.com/support/misc/kblookup.asp?id=Q267951, for understanding an operating system restore.

The last four (slide 45) are "Troubleshooting Device Driver Issues by Using the Driver Information Database" (http://support.microsoft.com/support/misc/kblookup.asp?id=Q275499), which would be the Drvdata.bin and Drvidx.bin that I mentioned earlier, when and how to rebuild that database to get the right information to set up. We also have "How to Troubleshoot Using the Msconfig Utility in Windows 98" (http://support.microsoft.com/support/misc/kblookup.asp?id=Q281965) and in Windows Millennium (http://support.microsoft.com/support/misc/kblookup.asp?id=Q281995). We've actually broken that up into two articles, because of the differences between the two tools, to allow you a better understanding of how to use that tool to troubleshoot.

That pretty much ends my presentation. I think we can move on to the question-and-answer session, so I'll turn this over to Heidi.

Heidi Moeller: Excellent, thank you so much, Karl. A couple notes before we do move on. If you'd like to download those slides, you can do so at http://support.microsoft.com/webcasts/. From that location, you can see All Upcoming WebCasts; we do about 8-12 a month. If you go down to the bottom of that page, you can link to all of our archived WebCasts. We have the PowerPoint slides available for you.

We also have Dan Miller joining us today for the Q&A; he is the content lead for the Jenga team.

I want to remind all of you that the Q&A session of the Support WebCast is intended to encourage further discussion of the Support WebCast topic; however, one-on-one product support issues are outside the scope of what we're able to address during our live broadcasts. If you do have an issue that requires support, a specific question, I would encourage you to either phone in to our Support Professionals or submit an incident with Online Support.

With all those details aside, let's jump into the Q&A session.

The first question is: I've been getting a lot of invalid page faults and GPF saying Kernel32. What should I do to correct the problem?

Karl: Dealing with Kernel32 errors, or any error, where it's specifically referencing a file and telling you it's getting invalid page faults, or errors of that nature — again, whole WebCasts have been developed just to talk about those particular issues. You can start by re-extracting a copy of it to find out if maybe the copy you have is corrupted. But that one would really be best answered in a lot more detail than I can present right now. As a matter of fact, doing KB searches for "Kernel32" and "invalid page fault" will give you a lot of the articles about it. I think we should probably get in touch with you directly and give you some more information on that, because I don't think we can really address that in a lot of detail in this forum.

Dan Miller: These types of error messages aren't necessarily hardware issues. These can have several different causes. So this type of error message, general protection faults or invalid page faults, doesn't necessarily mean that you have some sort of hardware problem. They can be caused by virus protection during setup, and all sorts of different things.

Heidi: Does this person need one-on-one product support, or is there some general information we can provide?

Karl: There is some general information we can provide by going into the KB articles, but because there are so many different types of reasons that this can happen, I think they'd probably be better off getting some one-on-one support, because there are a lot of questions that need to be asked about what's happening on their system prior to the errors. What programs have been installed? Is this in conjunction with an operating system upgrade? Again, there are a lot of questions that need to be asked on a one-to-one basis that aren't really something we can address. There's no silver bullet we can shoot that just would make it all better. Really, you need to look into the exact system and get some detailed information about what's happening.

Heidi: Okay, so the next question is with regard to slide 32, "Resolving Conflicts (2)", and the question is: Shouldn't the order be reversed in that slide — start with reboot and then go down the line? Essentially, they're asking if they should put the reboot option at the very top?

Karl: That's a very good point. It's actually a very valid question. Certainly the first thing that you're going to do, probably automatically, when you're having a problem, is restart the computer. So in that sense, yes, I think reboot probably should have been one of the first things. The feeling I was getting at this point, when I was talking about this, was you probably already use a lot of the other tools to identify the problem; in a lot of cases, you probably have already identified and resolved the conflict by time you get to this point. If you've tried to identify the problem and you're still not going, these would be some of the places to go.

To put these in a little bit more of an effective order, I would probably say reboot, then Scandisk, and then run System Restore. I would probably go to System Restore before I would go registry restoration, unless of course you're in Windows 98. Then you don't have a choice, because the System Restore tool is only in Windows Millennium Edition. Yes, I think the user has caught me, and I think this could be re-ordered.

Heidi: Before I move on to the next question, I do want to encourage all of you to take just a couple of moments to submit some feedback to us. We're very interested in your feedback, if you have any comments about today's session or the program overall, and if you have any suggestions for topics you'd like to see us address in the future, please send us some feedback. You can always send us feedback at the alias feedback@microsoft.com. Be sure to include "Support WebCasts" in the subject line.

Okay, on to the next question: What might cause intermittent USB hard lockups when USB is enabled in BIOS settings on a system running Windows 98 Second Edition?

Karl: Again, USB is one of the most wonderful inventions that they've come up with for computers, and I love using USB devices whenever I can. As a rule of thumb, as the technician, when I look at a problem, if it's happening every single time in the same fashion, I would normally look at a software issue. If it was happening intermittently, I would probably be focusing my attention toward the hardware, because hardware can be affected by temperature, it can be affected by humidity, it can be affected by other pieces of hardware. So if you're having intermittent problems, I would be kind of suspicious of the hardware.

In the case of USB, though, if you're getting intermittent lockups, and there's absolutely no pattern to them, I would probably start by trying different USB devices, and see if you have a trend happening with a particular device, or if you have a problem with the USB system itself. You may need to update the drivers for your BIOS, or particularly the USB drivers that come along with the computer. Many chip sets that are available on motherboards have drivers specifically for them, and you can download those from a motherboard manufacturer.

Those would be the two things I would look at: first, try substitutions of USB devices and see if you get the same problems. Second, go to the manufacturer of your motherboard and find out if there's a USB update available for it.

Heidi: What are *.386 files?

Karl: I mentioned this in passing. *.386 files deal with the older drivers that came with Windows 3.1. They're found inside the System.ini file in the [386enh] section. They are real-mode device drivers, but they aren't really effective anymore in Windows 98 and Windows Millennium Edition, with a couple of minor exceptions. Again, identifying what devices are using it would be your first step in finding out whether it's necessary. In normal hardware troubleshooting you check your System.ini section to see if there are any there, because if you have a device that's trying to operate in real mode and in protected mode at the same time, then the device will immediately go into conflict.

You can have an older device on your system that originally was using that .386 file, and then you upgraded. Now, that .386 file still exists in your system, and it's no longer in use, but it can cause a lockup or a use of system resources that would be better spent being given back to the system. Basically, it's an older, legacy device driver that probably shouldn't be in use in your system; but again, consult a specific hardware manufacturer for that particular device, and make sure that it's not useful for some function.

Heidi: The next question is: Is there a KB article or page about .bin files?

Karl: This one was actually answered previously, because I have a slide for this. It was "Troubleshooting Device Driver Issues by Using the Driver Information Database." The article number is Q275499 (http://support.microsoft.com/support/misc/kblookup.asp?id=Q275499). You can also do a KB search of just the name of the file, the Drvdata.bin or the Drvidx.bin. Actually, if you're having problems querying the article database, you can query for the words "How to Query" and you can come up with an article that will just give you some suggestions and keywords on how to look inside the Knowledge Base.

Heidi: Next in line: Would a driver written for Windows 95 always work with Windows 98?

Karl: I don't like using the word "always," because the minute I say that, then of course that will be the time that an exception pops up. In theory, a driver that was written for Windows 95 should work with at least a minimum degree of functionality in Windows 98, but there are specific times when no, they will not — there have been hardware improvements, or improvements in the operating system and in the BIOS that would make that driver try to force the computer to access the hardware in a way that it can't.

If you have a Windows 95 driver on your system and you upgrade to Windows 98, you'll know immediately whether or not that particular driver's going to continue operating. If the only driver that's available for a particular piece of hardware is listed as a Windows 95 driver, oftentimes contacting the manufacturer will give you the message that yes, this driver is acceptable for Windows 98 and Windows 95. Again, the best way to address that would be to talk to the manufacturer of the driver and ask them specifically whether this driver is compatible, because they've probably tested it to find that out.

Heidi: The next question is leaning into Windows XP, so I don't know how much information you have, so I'll preface this by saying if there is anything publicly available, maybe you can share it. Will Msinfo or some sort of equivalent be in any version of Windows XP? I know that you guys don't support Windows XP and that it's not available, but I thought I'd give it a shot.

Karl: Honestly, I don't have a good answer for you. I do know that there are a whole host of troubleshooting tools that are going to be available in Windows XP, so I would imagine there will be something of the same nature, whether it's the same exact program and whether it operates exactly the same way, I honestly don't know. There are some good Web pages out there from a lot of the computer magazines that have done beta testing with Windows XP, and they could probably give you some good information. I don't want to give you information that I don't know to be 100 percent true, so I'm going to have to say I think so, but I'm really not sure exactly what the details are.

Heidi: I thought that might be outside the scope of what you were able to cover, but I thought I'd at least give it a shot. The next question, this is a little bit on the longer side: Sometimes a machine will detect the same device twice, and one loads properly and the other will load with a question mark. When you remove the question-marked device and reboot, it finds it again. I have seen this numerous times with Windows 98. For example, on IBM ThinkPads, it will sometimes find a FIFO controller twice, and you remove the one and reboot, and it finds it again. I have seen this with modems and other devices as well. Do you have any suggestions, or can you make any comments about that?

Karl: There are a couple of things that could be happening. You could be dealing with that .bin file problem that we were talking about, where the information that it's detecting off of that drive has been corrupted by some type of data, so it's trying to set up the wrong device for it, and then it's still noting the fact that the device is there. Say you have a device that needs to have two different drivers set up, and one of them has been corrupted within the .bin files — your best bet would be to contact IBM, in this particular case, and ask them exactly which driver is supposed to be used, or find out if they have an updated driver that will address that issue. More often than not, if it's something like that, then it's a situation where they probably already addressed it, and they probably have a driver that's going to be able to deal with it directly.

Dan: This type of information is stored in a couple of places. One place is the system registry, the other is the .bin files — the Drvdata.bin and the Drvidx.bin files. Karl mentioned Safe mode ghost devices. The reason you see these ghost devices in Safe mode is it keeps track of everything that was or has been installed on your computer, as far as hardware. One thing you might try is to start your computer in Safe mode, go into Device Manager, and remove any duplicate devices that may be present, and then restart your computer normally.

Heidi: The last question is: What is the best way to do a one-on-one for Kernel32 QNEBSOD errors?

Karl: Okay, I'm assuming that the BSOD would be the "blue screen of death" errors, which would be Windows protection errors and things of the nature. The best one-on-one source of information for that would be to contact Product Support Services, open up a Product Support case, and have one of the technicians go through the process with you. We also have Web Response cases that are available. If you don't want to do it on the telephone, you can submit your query through the Web Response (http://support.microsoft.com/directory/onlinesr.asp) site and have a technician contact you either by e-mail or by posting the responses to the Web. If you don't have e-mail available, you can read and post responses directly on the World Wide Web.

Again, these are errors that have so many things that can be going on that you really need somebody who can sit down with you and get as granular as necessary to try to find out the details on what could be causing it, because there are no quick fixes with those type of errors. I certainly wouldn't want to lead you in a direction that's going to give you hope for a fast solution, where you really need to take the time to find out the best possible solutions.

Heidi: With that question answered, we've cleared the queue of all the questions that were submitted during today's broadcast. Once again, if you visit http://support.microsoft.com/webcasts/, you can view information on all upcoming WebCasts. And if you scroll down to the bottom of the page, you can link to all of the archived WebCasts. We do have on-demand streaming media, PowerPoint slides, and transcripts available for all sessions.

We hope you find the content of this session valuable and have an opportunity to join us again in the near future. If you do have a few moments to submit some feedback, we certainly do appreciate it. You can send us feedback at the e-mail alias feedback@microsoft.com. Be sure to include "Support WebCasts" in the subject line. Thanks again for joining us, and have a great day. Good-bye.


Last Reviewed: Monday, July 09, 2001