21.5 Troubleshooting Game Controllers

It's impossible to provide comprehensive information about troubleshooting game controllers because both the controllers themselves and the problems you may encounter are so diverse. A cheap game controller is probably going to physically break or otherwise fail sooner rather than later. There's not much we can say about that, except to suggest that you buy a better-quality game controller in the first place. If you experience problems with a good game controller, here are some actions to take:

Make sure the gameport is compatible with the game controller

Not all gameport game controllers are compatible with all gameports. Gameport conflicts frequently cause problems, particularly with digital game controllers connected to some models of PCI sound cards. We have also had reports of conflicts between some game controllers and some AGP video cards on specific motherboards, although we have not personally experienced or verified these. Most game controller vendors have detailed FAQ pages that list known incompatibilities for each model they sell.

Install the latest release of DirectX

DirectX is a work in progress. If you have problems with a game controller, particularly a new model or one you have just installed, download and install the latest version of DirectX from http://www.microsoft.com/windows/directx/downloads/default.asp. Before you install the update, review the DirectX FAQ (http://www.microsoft.com/windows/directx/default.aspx?url=/windows/directx/productinfo/faq/default.htm) carefully to discover issues pertinent to your own configuration. It's also a good idea to review the FAQs posted by the makers of your video card, sound card, game controller, and so on to discover any potential conflicts or interdependencies such as a need to update drivers for those devices.

When you update DirectX, always check for supplementary updates, particularly if your system has a video capture card, an IEEE-1394 interface, or other video capture or digital video hardware or software. For example, after releasing DirectX 8.0, Microsoft released a patch called Digital Video Update for DirectX 8.0 (later renamed Video Capture Update for DirectX 8.0), which fixed various problems. Digital video is plagued by incompatibilities and nonstandardization, making such patches the norm.

If after you install a DirectX update your system seems sluggish or jerky, check the status of the Poll with interrupts enabled checkbox in the DirectX configuration applet. Beginning with DirectX 7.0, for some reason Microsoft enabled this checkbox by default. Clearing the checkbox should restore your system to normal operation.

Install the latest drivers

Some game controllers provide basic functionality using the default drivers provided with Windows. If your game controller appears to be only partially functional, you may need to install a driver to support its enhanced functions. Most game controller vendors frequently update drivers to fix bugs, add support for new games, and so on, so it's a good idea to check the vendor support page frequently.

Update your system BIOS

If you have problems with a game controller connected to an older system, update the system BIOS. For example, on one older system, we installed a joystick that the driver insisted on recognizing as a gamepad. We tried updating the driver software, DirectX, and so on, all to no avail. Then we noticed after updating the main system BIOS for unrelated reasons that the driver now recognized the joystick as a joystick. We reflashed the BIOS to its original level, and the problem recurred. We re-reflashed the BIOS to the updated level, and the problem went away again.

Make sure the game controller is configured for the game

If the game controller appears to work properly for one game but not others, make sure you've used the programmable functions of the game controller to configure it properly to support the other games. Most programmable game controllers include predefined profiles for popular games. If no profile is included for a game you purchase, check the vendor web site to see if an updated profile for that game is available.

Make sure the game is configured for the game controller

The default configuration settings for some games are inappropriate for some game controllers. For example, although many FPS games have freelook/mouselook disabled by default, the Microsoft SideWinder Dual Strike gamepad requires it to be enabled for proper functioning. Each time you install a new game, check the game controller manual or web site to see if there are specific instructions to configure the controller optimally for that game.

The following material describes some specific problems you may encounter and some possible solutions. As always, the best way to troubleshoot problems is to swap components. If you have another system and/or another game controller available, try swapping controllers back and forth between the system to determine if the problem is caused by the system or the controller.

No controller applet appears in the Control Panel

Install the software for your game controller. If you have already installed the controller software, install DirectX manually. Although most controller software installs DirectX, some requires you to install it yourself. Installing DirectX adds the Control Panel applet.

Installing a DirectX update causes problems

Reinstalling the latest version of your controller software after installing the DirectX update almost always fixes the problem. If that doesn't work, visit the controller maker's web site for additional information. If the web site offers no fix and you are using a gameport controller, try uninstalling your sound card drivers completely. Once you've eradicated all traces of the sound card drivers, shut down the system and physically remove the sound card. Then power the system back up (without the sound card) and shut it down again. Reinstall the sound card, restart the system, and reinstall the sound card drivers.

Never try to downgrade DirectX by installing an earlier version over a later version. It just doesn't work, and attempting to do it causes worse problems than the one you're trying to solve. If you absolutely must revert to an earlier DirectX version, the only way we know to do so reliably is to strip the hard drive down to bare metal and reinstall Windows and all applications.

Installing a new sound card or updating sound drivers disables force feedback

Gameport DirectInput force-feedback controllers use MIDI signals to control feedback. If you didn't completely remove all vestiges of the old sound card drivers, the new card or drivers may not be configured to use MIDI correctly. Uninstall the sound card and drivers (as described earlier) and reinstall them.

Controller doesn't work on gameport switch or with extension cables

To make it easier to switch among controllers, some people install a gameport switchbox or extension cables. If you are having problems with a controller connected via a switchbox or extension cable, try connecting it directly to the system. Switches work with most analog controllers, but don't work with analog force-feedback controllers or any digital controller. Extension cables also often cause problems. The controller may not function at all, or it may function sporadically. Either dispense with the extension cables, or buy better-quality cables.

Y-cable doesn't work with two controllers

A Y-cable should allow you to share one gameport between two analog game controllers for head-to-head play. However, the pinouts of Y-cables are nonstandard and a given Y-cable may not work with a particular type of controller. If the controllers are different models, it may be impossible to find a Y-cable that allows you to use both. Even if the Y-cable works properly with the controllers, each controller will be limited to a subset of the functions that it supports when it is the only controller connected. The best solution is to use two identical controllers that have pass-through ports?which allows you to use the full feature set of both controllers?or to use USB controllers.

USB game controller does not work properly

Unfortunately, USB is not quite as Plug-and-Play as the industry would have us believe. If your USB controller is functioning improperly or not at all and installing the latest version of DirectX and the controller drivers doesn't solve the problem, you may experience one of the following hardware problems:

Defective USB port

If you're sure software isn't the problem, first try plugging the controller into a different USB port. We've encountered few bad root USB ports on motherboards, but bad ports are not uncommon on inexpensive USB hubs.

Incompatible USB controller, port, or device

In theory, USB is rigidly standardized, but in practice some implementations are plagued by incompatibilities. Early USB-capable motherboards?particularly Socket 7 and Slot 1 models based on pre-440BX Intel chipsets and all VIA chipsets?are USB-compliant in theory, but are buggy enough that the root hub ports may be useless. Nor is the fault always on the motherboard side. Some early USB devices, including game controllers, were not fully compliant and may or may not function properly when connected to a particular USB port. If the motherboard is at fault, you can solve the problem by replacing the motherboard or by disabling the motherboard USB ports and adding a PCI expansion card that provides two or more USB root ports. If the device itself is the problem, the only solution may be to connect it with an older USB port or to replace the device.

Inadequate USB power

Some USB game controllers draw more power than an unpowered USB hub can supply. If your game controller doesn't work when connected to an unpowered USB hub, try connecting it to a root hub port on the PC or to a powered USB hub port. Note that not all motherboard USB ports are fully powered. For example, some ASUS motherboards provide less current to the USB root hub ports than what some game controllers require. If your controller doesn't work when connected to a motherboard USB port but works when connected to a motherboard USB port on another system, using a powered USB hub will likely solve the problem.

Bad USB cable

Surprisingly often, USB cables are defective, particularly those you find for $3 in a bin at the computer store. But we've encountered defective USB cables of all sorts, including those bundled with motherboards and USB devices. We generally keep a couple of spare Belkin USB cables on hand for such eventualities (http://www.belkin.com).

Game controller fails to work when daisy-chained

The way USB is supposed to work and the way USB actually works are two entirely different things. Although you should in theory be able to daisy-chain USB devices freely, in practice it often doesn't work out that way. If your USB game controller doesn't work when daisy-chained, try connecting it to a root hub port or to a powered USB hub.

USB game controller doesn't work under Windows 95

First, make sure that you're using Windows 95 OSR2 or higher (Windows 95b). Early versions of Windows 95 had no USB support. Later versions had limited USB support, and any given USB game controller may or may not work with Windows 95b. Check the web site of the game controller manufacturer to verify whether the controller is supported under Windows 95b. Otherwise, upgrade to Windows 98SE (not Windows Me), Windows 2000, or Windows XP.

USB game controller doesn't work under Windows NT 4

Windows NT 4 has no direct OS support for USB, and only limited support for ActiveX (V 3.0a). Although it is possible for manufacturers to write custom USB drivers for their devices under NT 4 (e.g., the Iomega Zip Drive), we know of no game controllers for which current NT 4 drivers are available. Upgrade your OS to Windows 2000 or Windows XP.

Windows 98 doesn't shut down properly with a USB controller connected

The first release of Windows 98 had a bug that prevented some systems from shutting down with some USB game controllers connected. Physically disconnect the controller before shutting down or upgrade Windows to fix the problem.

Force-feedback controller does not center properly

With the game controller active, open the controller applet in the Control Panel. Disconnect the controller, recenter it while disconnected, and then reconnect it. Refresh or update the controller in the applet.

Older gameport controller fails on newer systems

Older gameport controllers were designed for the gameports on ISA sound adapters, which use 5V logic. Newer PCI adapters typically deliver only 3.3V to the gameport, which may be inadequate to drive the older controller. The only practical fix is to replace the controller.

Gameport controller works under Windows but fails under DOS

If your controller works properly with Windows games but doesn't work at all with DOS games, it's likely that you don't have DOS drivers installed in autoexec.bat and/or config.sys. Download and install DOS drivers for your sound card and gameport, assuming that they are available.