Support and help desk professionals are used to fixing IRQ, DMA, and memory address conflicts, but USB is a whole different story. In addition to typical driver problems, each USB device normally requires an array of hardware settings that can create conflicts. Debugging becomes a different process since USB takes Plug and Play to a new level by allowing multiple devices to share a single path into the PC.
Troubleshooting USB diagnostics requires a bit more effort than with other connection methods because the entire bus could be malfunctioning. Examine the troubleshooting scenarios below until you find one that applies to your situation. These scenarios provide general descriptions of possible errors, along with steps you can use to resolve the problem. You’ll also find tips for troubleshooting common causes of USB failures.
USB controllers are known as root hubs. They're integrated on the motherboard in most computers. Current motherboards typically have between two and six root hubs, each with at least two headers for connecting ports. Older computers may only have one hub on the motherboard, or a PC may have an add-on PCI or E/ISA controller card that provides USB service.
First, check the obvious
Before you start troubleshooting a USB problem, double-check your fundamentals. Ensure USB cables are physically connected. Confirm that any USB hubs are properly connected and plugged in to powered electrical outlets. Many failures can be traced to unplugged equipment or devices that are plugged into outlets that are not receiving power.
I'll assume you're familiar with managing hardware on your platform, such as accessing the BIOS, replacing drivers, and applying firmware updates. For troubleshooting, you should have a simple USB device that has tested OK on another computer; a USB mouse should do the trick. You can try using the device on the PC experiencing the problems to verify that the USB port, not a faulty device or cord, is causing the trouble.
Scenario 1: No device ever works
Possible causes: Operating system compatibility, controller/hub compatibility, configurations for USB controllers, controller drivers
If a system is experiencing constant controller failure, make sure the OS in use supports USB; verify that the devices are supported by the controller; and check the controller’s settings and drivers. Integrated controllers will likely require you to enter the BIOS to make changes, while add-on cards will require traditional troubleshooting according to the manufacturer's directions. You can identify integrated USB controllers by the location of the ports—if they are adjacent to the PS/2 ports, the USB service is likely provided by an integrated controller. If the USB ports are located anywhere else on the back of the computer, you're probably dealing with a USB add-on card. Front-mounted USB ports can be either type. You may have to open the PC case and visually inspect the USB ports to see whether they connect directly to the motherboard or to an add-on card.
Scenario 2: All devices occasionally stop working at the same time
Possible causes:Power management, configurations for USB controllers, controller drivers, bandwidth
If the system experiences sporadic controller failure, the primary suspect on the PC/OS side is power management, although it could be either an intermittent conflict or a problem with the USB controller. Try to isolate a particular event common to all the failures, just as you would with any other sporadic hardware conflict. This could lead you back to a power issue if you have bus-powered scanners or hard drives that might be drawing more power than the PC can provide. If the system requires more power, try replacing the PC's power supply with one that provides more watts.
Bandwidth can also be an issue if several active devices are transferring large amounts of data. Potential peripheral bandwidth hogs include printers, scanners, hard drives, and CD, DVD, or CDR/W drives.
Eliminating bandwidth problems might mean replacing a demanding USB device with an integrated replacement or dividing the USB devices between different USB root hubs. See below for more on bandwidth issues.
Scenario 3: Several devices never work, but others are fine
Possible causes: Controller/hub compatibility, configurations for USB controllers, power management, controller drivers, device drivers, bandwidth
Should you experience this issue, move the working devices to another root hub to see if the problem is in a particular root hub or with the devices themselves. Remove external hubs from the equation to see if they are the problem. Try the problematic devices individually on the computer; if they work, it's either a device driver or power issue. If they never work, it's a controller compatibility issue, a device driver problem, or a lack of bandwidth. Solving compatibility issues and driver errors requires updating drivers or obtaining appropriate patches.
Scenario 4: Several devices occasionally stop working at the same time, while others are fine
Possible causes: Power management, device drivers, bandwidth
As you would with any other sporadic hardware conflict, try to isolate the particular event that's common to all failures. The system may be experiencing a sporadic controller failure if your devices are split across root hubs. Try moving the devices to another root hub to see if the problem is in a particular root hub or the devices themselves. Remove external hubs from the equation to see if they are the problem. Try the problematic devices individually on the computer; if they work it's a device driver, power issue, or bandwidth pinch.
Scenario 5: One device never works
Possible causes: Controller/hub compatibility, device drivers, power management
If the device is bus powered and it never activates, lights up, or registers with the operating system, then a power issue may be to blame. Assuming you’ve tested the USB device on another system to verify that it works properly, check with the manufacturer to ensure that it's compatible with your controller. Otherwise, this failure is pretty much a clear-cut driver issue.
Scenario 6: One device occasionally stops working
Possible causes: Device drivers, power management, bandwidth.
Again, it's important to isolate the particular event that's common to all failures. Move the device to another root hub to see if the problem is in a particular root hub or the device itself. Remove external hubs from the equation to confirm they are not the problem. Also, try using the device when no other USB peripherals are connected. More than likely you have a driver problem, but it could be a power or bandwidth issue.
How to fix the problem
The tips below will help you troubleshoot most USB problems.
Operating system compatibility
Several operating systems don't support USB:
- Some Windows 95 releases
- Windows NT
- Mac OS prior to 9
- Linux kernels prior to 2.2.7
If you're using Windows 95, go to USB.org, check the FAQ, and download the USBReady.exe program, which will tell you if your Windows 95 computer is USB compatible. The new USB 2.0 standard may require additional drivers or patches that aren't included with the OS. Check the device's documentation for more information.
USB computers manufactured more than a year ago are limited to USB 1.1 devices. USB 2.0 is much faster and is usually backward compatible with the older 1.1, but it’s possible that a USB 2.0 device could refuse to work on a USB 1.1 controller or external hub, so check to see if there’s a compatibility issue.
Assuming a firmware update is available, you may need access to a USB 2.0-equipped computer to apply it. Check the manufacturer's Web site for information on using your USB 2.0 device in a USB 1.1 system.
Configurations for add-on USB controllers
Check the Windows Device Manager, as shown in Figure A, to see if the USB controller is recognized or is experiencing a conflict. In Windows 2000, click Start | Programs | Control Panel | System, choose the Hardware tab, and then click the Device Manager button. In Windows XP, click Start | Control Panel, select the Systems applet, click the Hardware tab, and then click the Device Manager button.
The Device Manager will likely refer to the USB controller as a USB Root Hub, USB Controller, or USB Bridge. The usual suspects of IRQ addresses and memory address conflicts are the first things to check. PCI devices shouldn’t have many problems, being Plug and Play, but EISA cards may require more adjustment.
|Use Windows' Device Manager to identify conflicts.|
If the hardware appears to work, reinstall the drivers. If that fails to resolve the problem, relocate the card to another slot in case a master/slave configuration error is occurring.
Integrated USB controller settings
If you suspect the trouble is with your USB controller settings, check the Device Manager for a conflict. Depending upon how well integrated the controller is with Windows, you may be able to adjust the IRQ or memory address settings from the Device Manager.
Next, try rebooting the PC and entering the BIOS configuration. USB settings are usually listed in the “peripherals” section. You'll need to check for an entry marked “USB Controller” that is off or inactive. If this entry is already active, check the IRQ and memory addresses. Use the Device Manager to ensure that no other device is using those settings. You may need to reboot a few times to find a valid IRQ/memory address combination that won’t conflict with other devices.
If the hardware settings are fine, reinstall the drivers.
When editing the BIOS, enable "DOS USB Keyboard Support." Enabling this option will allow you to use a USB keyboard when booting a system with a boot disk.
Check the motherboard manufacturer’s Web site for a driver update. Many motherboard suppliers release driver combinations that include a number of hardware drivers. Confirm that you have the latest driver installed. Some operating systems also provide drivers, so make sure you have the latest available software patch as well.
Most computers have some form of sleep mode connected with the screensaver. A controller is not harmed when an energy setting kicks and eliminates its power. However, the OS may fail to power up the controller again. You can eliminate this error by opening Power Options and disabling System Standby, as shown in Figure B. In Windows 2000, access the Power Options applet by clicking Start | Settings | Control Panel | Power Options. In Windows XP, go to Start | Control Panel | Power Options. You'll find the System Standby option on the Power Schemes tab, which opens by default.
|Disable System Standby if you suspect a PC's power saver settings are causing USB problems.|
For portable computers, you probably don't want to disable power management permanently. If the manufacturer doesn't have a patch for the laptop, consider switching to non-USB devices when possible. You could also create two profiles for users: a portable profile with power management enabled and a desktop profile with power management disabled.
Excessive loads on the bus can also cause power problems. The USB controller can power USB devices. Small devices like mice and keyboards aren't a significant drain, but larger devices, such as scanners, hard drives, Web cams, and speakers can draw considerable power. You might be able to eliminate the problem by spreading the power-hungry devices across multiple root hubs. Otherwise, acquire a good self-powered external USB hub.
Inexpensive external hubs sometimes fail to meet the USB power specifications and subsequently cause all devices on the hub to fail. I've personally experienced this with nothing more than a mouse, bus-powered Web cam, and a self-powered scanner on the hub. Upgrading to a USB hub that supplies more power solves this kind of problem.
USB device drivers
The ability to hot-swap USB devices is a great feature, but it relies on a somewhat oversimplified set of general-purpose drivers. Some devices may appear to be general-purpose devices when in fact they are not. This means that you must install the drivers before you connect the device to the PC. Sometimes you need to reboot to give the new drivers priority over the general-purpose drivers. This means that skipping the reboot will break the whole process.
If you think the new drivers aren't receiving priority, completely uninstall the device in question. You may have to leave the device connected to uninstall it properly. At other times you may be able to remove a device's drivers using Control Panel's Add/Remove Programs applet, just as you would with other software.
Sometimes it's necessary to upgrade a device's firmware, which is basically a driver that runs on the peripheral. The more advanced the device, the more likely it is that the firmware can be upgraded. Mice, being simple devices, don't require firmware upgrades. Scanners, hard disks, printers, optical disks, and other sophisticated peripherals likely have upgradeable firmware. Check the manufacturer's site to ensure you've loaded the most recent update.
USB root hubs can each support up to 128 devices, but they can run out of bandwidth, depending on consumption rates. USB 1.1 is limited to 12 Mbps, not counting the bus management overhead. USB 2.0 has 480 Mbps with about 420 Mbps available, so it can support more devices. Combine an Ethernet adapter, a printer, and an external CD-ROM or hard drive on a single USB controller, though, and the PC can quickly exhaust its capacity.
The only solution for bandwidth problems is to either stop using all the devices simultaneously or distribute the load. Make sure you put devices that will always see use, like Ethernet adapters and USB speakers, on different root hubs. You may need to get additional USB controllers, which are inexpensive, typically costing less than $40.