Microsoft KB Archive/242062

From BetaArchive Wiki

Article ID: 242062

Article Last Modified on 3/1/2007



APPLIES TO

  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows 2000 Datacenter Server



This article was previously published under Q242062


SUMMARY

This article describes general troubleshooting of Universal Serial Bus (USB) devices in Windows 2000.

MORE INFORMATION

Because USB devices are Plug and Play devices, you have little opportunity to control or configure them. Most of the time, they either work or they do not. Most troubleshooting of these devices boils down to understanding the limitations of the technology and being careful to not overstep those boundaries.

Most USB problems can be traced to one of the following items:

  • Bad hardware
  • Bad or missing device driver
  • Mismatched cabling
  • Out-of-date firmware
  • Improperly configured root hub

Checking each of these items separately with the following troubleshooting tips may help you resolve issues with USB devices.

Bad Hardware

Most often, if a bad hardware device is plugged into the serial bus, it causes the system to stop responding (hang). In the majority of these instances, a bus reset storm has occurred. Resetting the computer does not resolve this; you must physically turn off the system and turn it back on to reset the bus. Identifying a bad hardware device can be more difficult.

If another known working system is available, try plugging the device into that system to see if it encounters the same problem.

If the device is plugged into a secondary hub, try unplugging it from the hub and plugging it directly into the root hub.

Many hardware problems (such as power high/low, bandwidth shortage, bad firmware, and so on) are trapped in the error handling defined in the Open Host Controller Interface (OHCI) transmission specification. Check the event log for error messages relating to these items. This may give you an idea of what went wrong.

Check Device Manager to be certain that the root hub is functioning normally. If it has an exclamation point in a yellow circle, verify that the system BIOS is assigning an IRQ to the root USB controller. This is required for the device driver to load.

If no devices work when they are plugged into the root hub, verify that the power requirements of the bus are not being exceeded. USB devices may draw a maximum of 500 milliamps (mA) per connection. If a device attempts to draw more than this, the specification calls for the ability to disable that specific port until the system power is cycled (this is called "suspending" the port). In addition, if the device draws less than 50 mA, the port never becomes active.

Check the Power tab in USB Root Hub properties to check the power usage of the USB bus.

Bad or Missing Device Driver

Windows 2000 supplies class device drivers for a number of USB devices. When a USB device is plugged in, it should be loaded and configured without ever requesting a device driver (provided that it fits within the defined and supplied class drivers). If it prompts for a device driver, check with the manufacturer of that device to determine if a driver is available. The fact that a device works in Microsoft Windows 95 or Microsoft Windows 98 does not mean that it works with Windows 2000. After you load the device driver, if you receive an error message stating that the driver has not been signed, consider that driver suspect. It means that Microsoft has not been able to verify that the driver you have supplied is fully compatible with Windows 2000. Because of this, Microsoft has no way of fixing the device problem short of getting a signed driver from the manufacturer.

Check the event log for errors relating to any of the following components: Hidclass.sys, Hidusb.sys, Usbhub.sys, Usbd.sys, Uhcd.sys, or Openhci.sys. The device may have attempted to insert replacements to the Windows device driver stack, which could cause the entire bus to become unstable.

Mismatched Cabling

There are two types of USB cables: high speed and low speed. Low-speed cables differ primarily in their shielding. Plugging a high-speed device into a low-speed cable can cause signal distortion over long distances.

Verify the entire USB chain to be certain that a device that requires the ability to draw power from the hub is not plugged into the chain on the other side of a non-powered hub. This causes that hub and all of the devices down the chain to be suspended. If it is a powered hub, verify that the power supply for that hub is configured properly.

Out-of-Date Firmware

The key to all USB devices is the firmware. The firmware contains all the information about the device. A port is not reset until all of the descriptors in the firmware have been loaded and verified by the root hub. This becomes particularly critical as it applies to items such as printers and modems. Make certain that you have the most up-to-date firmware available for both your computer's BIOS and each individual device.

Sometimes, bad firmware exhibits itself in an unusual manner. Normally, when a USB device is removed and then re-added, it simply becomes available again. Sometimes, however, it appears as a second instance of that device and loads itself as such in Device Manager. If you see duplicates of a device, verify that you have the most up-to-date firmware for that device. This is common with USB printers and modems. A similar problem, with the same cause, occurs when you see the device load a device driver and then add a second device for which there appears to be no driver. The second device has an exclamation point in a yellow circle in Device Manager. The device may work correctly, but you cannot remove the "ghost" device short of unplugging the parent that seems to have generated it. You can also generally address this problem by updating the firmware or the device driver for that device.

Incorrectly Configured Root Hub

As mentioned earlier in this article, USB controllers require that an IRQ be assigned. This is done in the system BIOS, and usually results in IRQ 9 being assigned.


Additional query words: Bay Intel

Keywords: kberrmsg kbhardware kbinfo kbtshoot KB242062