|
Free Open Book
PC Hacks 100 Industrial-Strength Tips and Tools |
Hack 75 Let Windows Tell You About I/O Card Conflicts
Early SCSI adapters and sound cards arrived in the PC market at about the same time. With only the known IBM PC design reference to go by, and no industry-standards group to keep track of who was developing what devices, none of the designers of various devices knew what the others were doing. In the face of limited available resources, everyone scrambled to establish a foothold and hoped they didn't get trampled. It was not uncommon to encounter a SCSI host adapter and a sound card that both used the same address (often 220h or 330h). Obviously if both adapters used the same address this combination would not work. If software addressed the sound card, it would wrongly get the attention of the SCSI host adapter; if software addressed the SCSI host adapter, it would wrongly get the attention of the sound card. In such battles, the device with more clout wins, and such was the case with the sound card. Many more people were buying sound cards than were investing in expensive SCSI devices, so makers of the SCSI adapters moved off to address 330h and the sound card manufacturers held the ground at 220h. You need to know which devices use which addresses and configure them so there is no direct conflict. To find out if you have any device conflicts and drill down to what they are, open Windows Device Manager. If you see a yellow dot with an exclamation point in it, you have a conflict. If you see a red x, the device is disabled. Figure 8-1 shows a device in Device Manager with no conflicts; this is the picture you want to see. If you see a yellow dot, double-click it to open the Properties dialog for the device and then select the Resources tab. Any conflicts will be shown in the lower text box, identifying the conflicting device. To resolve the conflict, you must change the configuration of one of the devices. Figure 8-1. Properties for an I/O device with no conflicts![]() Sometimes resolving conflicts this way will not solve problems. In addition to making sure things don't collide, be sure to look out for 300h, the problem I/O address, and also make sure you're leaving enough room between addresses. 8.3.1 Avoid I/O Address 300hOf the known IBM I/O devices, one significant but very rare device is often overlooked: the Prototype Card. IBM created and sold this special I/O card for hardware developers to use to hack together new I/O devices. An open PC design and architecture has obviously been good for the existence of the PC business, but a few designers neglected to fully understand the PC design when they created new devices. IBM assigned or reserved I/O address 300h to the Prototype Card and accommodated recognition of the Prototype Card's presence in the BIOS, as did some DOS and Windows software. Engineers that ignored these facts caused no end of trouble for PC installers and users. This bit of trivia usually isn't significant until you try to add an ISA device that uses address 300h, as many early network interface cards do. IBM had not accounted for network cards except their own for connection to Token Ring LANs and mainframes, and those devices did not use address 300h, because IBM knew that address was reserved for the Prototype Card. This problem first came to light in the mid-90s with early Ethernet cards. A technician would install a new network card, unaware of the potential problem between the Prototype Card and the default configuration some of these cards used: address 300. The rest of the network card installation (drivers and related connectivity software) would seem to go well, connectivity with a server and other workstations could be established, and things seemed just fine—for a while. After "a while," some applications or network functions would cease to work and the trouble began; the network that worked once now worked intermittently. Finding the cause of the problem escaped technicians until some other network card, probably using a different default address, was installed. The card that was removed could appear to be OK in another system but ultimately would never work right until its address was changed to something other than 300h. Be wary of and avoid using hardware addresses that are reserved for other devices, follow the configuration rules, and use the de facto standard addresses for your new devices. 8.3.2 Use an I/O Address with Enough RoomMost 8- and 16-bit ISA network adapters allow you to set the base I/O address to 340h. Since most adapters require an address range of only a few bytes beyond the base address, using address 340h is typically not a problem. If your network or other I/O adapter requires more address space, it may overlap onto another card's base address, specifically the LPT1/parallel port at address 378h [Hack #76], which will cause one or both of the adapters to stop working correctly. In the case of most network adapters, you can reconfigure the card to use another base address (but not 300h!) to avoid colliding with another device. 280h is a typical alternative to try. Be sure to research the complete addressing requirements of all your adapter cards and configure them so they do not overlap the address space of other adapters.
|
Main Menu |
| 500 Juegos Gratis | 500 Giochi Gratis | 500 Jeux Gratuits | 500 Jogos Gratis | 500 Kostenlose Spiele |