Home Page








Features Contents

25th January 2004


Brian Grainger

email.gif (183 bytes)


We are told that USB makes it easy to use peripheral equipment. Just plug it in and it goes. It is hot pluggable as well, i.e. you do not have to shut down Windows to plug in or out. Unfortunately, this is not strictly true. The purpose of this article is to highlight potential problems you might have when you connect your latest USB device, be it a printer, webcam or whatever.

Back in the dim and distant past before Windows, when MSDOS ruled the PC, installing a new device was quite a handful. There were primarily two problems to overcome. The first was to set the right interrupts and I/O buffers for the device to use and the second was to install the drivers. The problems started to occur when different devices used the same interrupt or I/O range and therefore conflicted with each other.

Some time later Intel decided to solve this problem by introducing Plug and Play chipsets and BIOS manufacturers introduced the capability to detect Plug and Play devices. The idea behind Plug and Play was that when you connected such a device it would be automatically detected and suitable non-conflicting interrupts would be automatically selected. The fact that Plug and Play was usually dubbed Plug and Pray suggests that things did not go entirely to plan. These days the technological advances of hardware and software have meant that the Plug and Play problem has gone away.

However, the second problem of installing new hardware, getting the driver installed, has been tackled in another way. When Universal Serial Bus, USB, came to fruition we were told we simply plugged such devices in and away we went. Windows was altered to cope with USB, starting with Windows 98. The first edition only implemented a subset of functionality, as I have found to my cost when I installed my digital camera. As well as being a digital camera it is supposed to act as a webcam. It doesn't, because the basic Windows 98 does not support that functionality. Full support for USB came with Windows 98SE. For professional versions of Windows, (the NT line), it took till Windows XP before USB was fully supported.

Now, I must admit, I thought the instant connection meant the problem of installing drivers went away and so it appeared when I installed my USB scanner. I did not consciously load a driver. However, when I installed my digicam software it was clear that a driver was being installed, even though I thought nothing of it at the time.

We now fast forward to this last week. I was pondering buying a USB flash drive to transfer some files between my Windows 98 machine and a friend's Windows XP machine. I asked an office colleague, who has used such a device, how easy it was to use. He told me that with XP just plug in and go. However, Windows 98 was a bit more tricky. A driver had to be installed and it was important to install this before plugging the device in. I thought that we had another limitation of Windows 98 USB here. However, serendipity struck.

The next day my colleague came in saying he had the self same problem when he tried to use his new USB printer with his Windows XP machine. He plugged it in and ... it didn't go! Not only that but his webcam, also on the USB, no longer functioned! He eventually solved the problem by getting an XP driver for the printer from the manufacturers web site, as it did not come with one. He then removed all USB device drivers currently installed on his machine and, WITHOUT plugging in the devices first, reinstalled the USB drivers, including his new printer driver. All USB devices now work and you can hot swap as required.

My colleague has reasoned that the source of this problem is probably within Windows XP and its 'I'll try not to bother the user with problems and fix it myself' syndrome. This is what he thinks happened.

  • First and foremost, despite what you may think, a driver is required for USB devices.
  • When the USB printer was plugged in, Windows XP could not find a driver. Instead of telling the user it has a problem, it decides to install what it thinks is a suitable driver from those in its installation setup.
  • This driver does not work! Not only that, it has somehow corrupted the drivers for other USB devices.
  • To solve the problem you have to remove all the existing USB device drivers otherwise Windows will continue to try and use them. You may also have to remove the USB port driver itself.
  • When you come to install the drivers back again do NOT connect any devices or Windows will detect them and try to install the duff drivers again.

If you remove the USB port driver then I guess the first thing that will happen when you restart Windows is that the USB port will be detected and you let Windows install what is necessary. Now you install any custom USB device drivers that are needed, without connecting the equipment. Finally you connect your devices. Windows will now find the custom drivers for that equipment which needs them and install its default drivers for the other USB equipment. All should now be well.

I keep a record of all installations I do on my PC. I checked how I installed my scanner, the first USB device I had. I plugged it in without checking for custom drivers. I guess it did not need any because Windows installed its own usbscan.sys file and all works OK. That is fortunate, because the file properties show it is a Logitech scanner driver and I have an AGFA scanner!

Looking at my installation records for the digicam I note that I installed the software first before plugging the hardware in. In fact I remember the box having a set of installation instructions inside which said plug the hardware in and then install the software. However, there was a separate piece of paper which said you had to install the software first! Now I know why!

What does all this mean for anyone who buys a USB device and wants to avoid problems?

First, check if any drivers come with the device and, if so, check if they include XP drivers.

If it does come with drivers but XP drivers are not included then go to the appropriate web site and see if you can find some XP drivers.

When you have got some XP drivers then INSTALL THESE FIRST.

Now, and only now, can you plug in your new toy to the USB port.

As I have said any number of times before, I hate software that tries to make decisions for me and gets it wrong. Windows XP is the pits.