This is only a preview of the June 1998 issue of Silicon Chip. You can view 32 of the 96 pages in the full issue, including the advertisments. For full access, purchase the issue for $10.00 or subscribe for access to the latest issues. Articles in this series:
Items relevant to "Universal High-Energy Ignition System":
Articles in this series:
Articles in this series:
Articles in this series:
Items relevant to "Universal Stepper Motor Controller":
Items relevant to "Command Control For Model Railways; Pt.5":
Purchase a printed copy of this issue for $10.00. |
COMPUTERS
Troubleshooting
Your PC; Pt.2
Installing a new card into your PC can be a
satisfying experience and can save you
money – provided you know what you are
doing. Here’s how to avoid the problems and
keep your sanity.
By BOB DYBALL
Have you been thinking of installing an internal modem only to have a
friend advise you to buy an external
unit instead, because an internal unit
is hard to get working? Getting an
internal modem or some other add-on
card going can be a frustrating experience but it needn’t be if you follow
a few simple rules.
In this article, we’ll take a look at
how add-on computer cards are installed under DOS, Windows 3.x and
Windows 95. Due to the similarities to
Windows 95, users of both Windows
98 and Windows NT 4 should also
4 Silicon Chip
find this information useful.
If you plan on installing a new
card, or are already having problems
with one, you must approach the job
in a logical manner. In particular, it
is important to avoid “resource conflicts” with other cards or peripherals.
In fact, resource conflicts with other
hardware items are one of the most
common reasons for a new card not
working.
Fortunately, there are only a few
simple rules to learn and by applying
these, it’s likely that your new card
will work first time. But first, here’s
some background on how your PC
handles plug-in cards and what fits
where.
IRQ, DMA, huh what?
Computers collect new words and
jargon like a dog collects fleas. You
don’t need to be a rocket scientist to
get a new add-on card going but you
do need to understand some of this
jargon. We’ll begin with the “system
resources”.
The term “system resources” covers
a number or resources in your computer, including Interrupt Requests
(IRQs), Direct Memory Access (DMA)
channels, Input/Output (I/O) Ports
and Memory. In general, no two devices can share the same resources;
if they do, then either one or both
devices will refuse to work. Let’s take
a look at this in greater detail.
Interrupt Requests: an IRQ or “interrupt request” is usually one of the
most important things you need to
consider when installing an add-on
card into your PC. An IRQ is necessary for the add-on card to gain the
attention of the computer. Basically,
it interrupts it, as the name suggests.
For example, a serial mouse is usually connected to serial port COM1
which is normally on IRQ4. Now if
the PC were to continually check the
serial port for mouse movement, it
would waste a lot of time that could
be better spent on other tasks. Instead,
moving the mouse sends data to the
serial port and this in turn generates
an “interrupt” signal to tell the CPU
to process this new data (when it gets
around to it). When the interrupt is
processed, the “buffer” (a small memory holding area) is emptied of the
mouse data and the computer carries
on as before.
Usually, the same IRQ is not shared
between devices; ie, a device using
say IRQ4 will normally expect to be
the only device on IRQ4 and may even
cease working if it isn’t. There are a
couple of exceptions to this rule but
these can vary somewhat from one
machine to another.
For example, although IRQ7 is
normally assigned to parallel port
LPT1, it can also sometimes be shared
with say a sound card or an extra
serial port. Usually, this works fine
if the parallel port mode is set is SPP
(Standard Parallel Port) but it might
not work if the parallel port is set to
EPP (Enhanced Parallel Port) mode
and won’t work at all for ECP (Enhanced Communications Port) mode.
In all, your computer has 16 possible IRQs, most of which are already
reserved for basic system functions
and hardware. Table 1 shows a list of
common IRQ assignments, including
those IRQs that are free for use with
expansion cards.
Direct Memory Access (DMA): this
resource allows data to be moved
between memory and other devices
in your system. The DMA controller
chip receives information on the data
to be sent and its location, and allows
the CPU to do more useful tasks than
repeti
tive data transfers. Most machines have seven DMA channels and
these are usually labelled as DMA 1,
DMA 2, DMA 3 and so on.
Although DMA channels can
sometimes be shared, depending on
the hardware and software drivers
involved, this is best avoided if
possible.
Input/Output (I/O) Ports: these
Table 1: Standard IRQs
IRQ
0
Function
System timer
1
Keyboard
2
Cascade from IRQ9; often free to use
3
Serial port COM2
4
Serial port COM1
5
Reserved for printer port LPT2 (if present); commonly used by sound card
6
8
Floppy disc controller
Printer port LPT1. If port mode set to SPP, can often be shared with serial port,
internal modem or sound card
Real time clock
9
VGA card. Often not needed by VGA card and may be free to use
10
May be free to use
11
May be free to use
12
Used by PS/2 mouse in some PCs; may be free to use
13
Co-processor
14
Primary IDE hard disc controller
15
Secondary IDE hard disc controller; usually free in 486 and earlier PC.
7
Note: additional cards should only be set to those IRQs that may be free to use
allow the CPU to communicate with
other devices (eg, serial and parallel
ports, expansion cards, keyboard,
etc). I/O ports are given an address
in hexadecimal format or “hex” (base
16); eg, 3C0H or 200-20FH can be
assigned to an I/O port.
I/O ports are not shared. This means
that each device must have its own
I/O port or range of ports.
Random Access Memory (RAM):
RAM is where information is
temporarily stored in your PC and is
accessed by referring to its “address”
(every memory location is numbered).
Memory address “ranges” (limits)
have changed over the years, with
newer CPUs allowing more memory
to be addressed. The 8088 and 8086
CPUs, for example, could only address 1Mb (1024 x 1024 or 1,048,576
bytes) of RAM, while the 80286-based
PC/AT could address 16Mb. Note that
the 1Mb and 16Mb limits are referred
to as “address space” and don’t mean
that you can have 1Mb or 16Mb of free
RAM at your disposal. That’s because
special areas of memory are allocated
to special tasks.
Memory addresses cannot be
shared with other devices. There
would be little point in retrieving
information from two different places
with the same address if we don’t
know which is correct.
OK, with that under our belts, let’s
find out how to go about installing
expansion cards without causing
resource conflicts. We’ll start with
the non-PnP (Plug and Play) cards.
Legacy cards
Although most new cards sold
today will be Plug and Play (PnP),
there are still a few that aren’t. And,
of course, there are still lots of older
cards in use, which means that you
may have to mix PnP and non-PnP
cards in the same machine.
If you have a non-PnP card (usually
referred to as a “legacy” card), you
will have to manually set the card so
that it uses the available resources, as
required. This involves either setting
hardware jumpers (or DIP switches)
on the card or configuring the card
using the supplied software (or sometimes both).
(1). Jumpers are small plastic
covered links that are used to short
two pins together. Often, you will
have to set several such jumpers to
hardware configure a legacy card, as
described in the manual. The idea
here is to allocate “free resources”
to the card, to avoid conflicts with
existing devices.
A system with one or more legacy
cards can be difficult to configure if
you don’t have the manuals. Each
June 1998 5
card designates software control or
hardware-jumpered control.
Troubleshooting legacy cards
Fig.1: Microsoft Diagnostic (MSD) is useful for showing which IRQs might be
free to use but note that it may not be 100% accurate. Nor will it show which
IRQs have been assigned to any expansion cards that have been added.
card needs to be removed, reset and
replaced to alter the system resources
it uses. However, if a card’s manual
has been lost, you won’t know what
the jumper settings mean unless a
diagram has been silk-screened onto
the PC board.
The moral here is simple – don’t
lose the manuals as you will probably
need them again one day.
(2). Software configuration allows
you to set the card up by running
a special utility program. This may
be supplied on a floppy disc or on
a CD-ROM, or on some other media.
Typically, the configuration utility
8-Bit Card
will install a special device driver
into config.sys or autoexec.bat. This
will typically set the resources used
by the card at boot up, or may be used
to enable and disable various features
on the card.
The main advantage of software
configuration is that you don’t need
to remove the card from the mother
board to change its settings. This
means that you can quickly change
the settings and try again if you run
into problems.
(3). Some legacy cards provide both
hardware and software configuration.
Usually, a jumper position on the
8-Bit Slot
Jumpers For Setting IRQs, etc
16-Bit Slot
16-Bit Card
The differences between the 8-bit and the wider 16-bit slots and cards is clearly
shown in this photograph. A 16-bit card will give you more IRQs to choose from.
6 Silicon Chip
(1) Conflicts with other software
configured cards: software control
methods for legacy cards vary, as
there is no common standard system. Interactions between cards or
between a card and the motherboard
are not unusual. If you find a card
does not respond to the configuration
utility, try to configure the card with
as few other cards in the PC as possible. Alternatively, try configuring it in
a different PC first to reset it.
(2) IRQ Conflicts: as mentioned
before, shared IRQs should be avoided. If you are short of IRQs, try IRQ 7
after changing the printer port mode
to SPP. Alternatively, try IRQ 2 (9) if
this hasn’t been used by the VGA card.
Don’t be fooled into thinking that a
device that’s not currently in use has
its assigned IRQ free. For example, if
you have nothing connected to COM1
(IRQ 4) and say a mouse on COM2
(IRQ 3), then IRQ 4 is not free to use
on COM3. IRQ sharing problems will
still appear sooner or later due to the
“default interrupt handler” on IRQ 4
for COM1.
In other words, don’t be tempted to
try setting your new internal modem
or extra serial port to COM3 IRQ 4.
If you do, it won’t work. COM 1 is
already assigned IRQ4 and won’t like
having it shared. Instead, you will
need to assign COM3 a different free
IRQ, such as 2, 5, 7, 9, 10, etc.
So how do you know which IRQs are
free? Well, you could try using a diagnostic utility such as Microsoft Diagnostic (MSD) or Norton Utilities. The
MSD utility is supplied with MS-DOS
and most versions of Windows. DOS
and Windows 3.x users should look
in c:\dos or c:\windows directory for
msd.exe. Most releases of Windows
95 also include msd.exe, though you
need go to the \other\msd folder on
the Windows 95 CD to find it.
Don’t assume that the list of IRQs
given by a diagnostic utility such as
Norton Utilities or Microsoft Diagnostic (MSD) is 100% accurate. These
programs guess at what is being used
and the guess is based on standard
IRQs, like those in Table 1. If MSD
or Norton Utilities knew everything,
there wouldn’t be any need for Plug
and Play!
A quick look through config.sys and
Fig.4: double clicking on Computer in the System
Properties dialog box brings up a list of the IRQs
used by the computer and the devices using them.
Fig.2: this window is accessed by double clicking the
System icon in Control Panel, then clicking the Device
Manager tab. It presents you with a list of everything in
your computer – as far as your computer is concerned.
Double clicking on any item with a “+” symbol reveals
the individual devices being controlled. A yellow
exclamation mark next to a device indicates a resource
conflict.
Fig.5: this dialog box shows the I/O address used by
the various devices in the PC.
Fig.3: selecting a device and then clicking the
Properties button and the Resources tab brings up this
dialog box. It shows the resources used by the
particular device (in this case, a sound card) and also
indicates any conflicting devices (none in this case).
Fig.6: you can also view the DMA channel
assignments. Note that any DMA channel used by
legacy cards should be reserved in the system BIOS.
June 1998 7
ROM PCI/ISA BIOS (PI55T2P4)
PNP AND PCI SETUP
AWARD SOFTWARE, INC.
Slot1 (RIGHT) IRQ
Slot 2 IRQ
Slot 3 IRQ
Slot 4 (LEFT) IRQ
PCI Latency Timer
:
:
:
:
:
Auto
Auto
Auto
Auto
32 PCI Clock
DMA 1 Used By ISA : Yes
DMA 3 Used By ISA : No/ICU
DMA 5 Used By ISA : No/ICU
IRQ 3
IRQ 4
IRQ 5
IRQ 7
IRQ 9
IRQ 10
IRQ 11
IRQ 12
IRQ 14
IRQ 15
:
:
:
:
:
:
:
:
:
:
No/ICU
No/ICU
Yes
No/ICU
No/ICU
Yes
No/ICU
No/ICU
No/ICU
No/ICU
NCR SCSI BIOS
USB function
Used By ISA
Used By ISA
Used By ISA
Used By ISA
Used By ISA
Used By ISA
Used By ISA
Used By ISA
Used By ISA
Used By ISA
ISA MEM Block BASE : No/ICU
: AUTO
: Disabled
ESC : Quit
↑ ↓ → ← : Select Item
F1 : Help
PU/PD/+/- : Modify
F5 : Old Values (Shift)F2 : Color
F6 : Load BIOS Defaults
F7 : Load BIOS Defaults
Fig.7: if you install a non-PnP (legacy) card in your PC, then you must reserve
its IRQ assignment in the system BIOS in order to ensure that PnP cards will
function correctly. Here, IRQs 5 and 10 have been reserved for legacy cards.
autoexec.bat will often tell you what’s
free and what’s not. If you cannot
recall what a scanner card or a sound
card is set to for example, look for
the relevant entry in these two files.
Often, it will contain something like
/In or /I:n, where n is the IRQ that
the card has been set to use. Typing
SET at the command prompt will
also usually provide the BLASTER
environment variable. This line will
include In, where n is the IRQ that
the sound card is using.
Still short of IRQs? If your card is
an 8-bit card, check to see if you can
obtain a 16-bit card instead (this will
offer more IRQs to choose from) or,
even better, one that doesn’t require
an IRQ setting but can use other re
sources instead. Check your VGA
card as well. Some VGA cards have
a jumper to disable IRQ use and this
will free up IRQ 9 (IRQ 2).
If you have a 16-bit sound card on
IRQ 5 and find that IRQ 5 is all you
can set your new add-on card to, try
changing the sound card to IRQ 7 or
IRQ 10 to free up IRQ 5. Although a
few older DOS games won’t work on
IRQ 10, most games will work fine on
IRQ 7 or IRQ 10.
What is Plug and Play?
Plug and Play is a standard for automatically recognising and configuring
8 Silicon Chip
just about everything you may wish
to add to your PC (either externally
or internally). In use since 1994,
“Plug and Play” is often abbreviated
to “Plug ‘n Play” or simply “PnP”.
PnP standards have been applied to
many newer ISA cards, PCI cards and
motherboards, as well as to monitors,
joysticks, printers, modems and many
other devices.
The detection system used varies
to fit the type of device. For example,
video monitors use a serial E2ROM
chip that contains all the details of
the monitor (its refresh rates and so
on). PnP modem detection, on the
other hand, relies on the PC sending
the modem a range of ATI commands
(ATI0, ATI1 and so on) and using the
responses it gets to determine the
model.
PnP cards are automatically detected by the PnP BIOS on your motherboard. The card is then assigned the
resources it needs and the operating
system kept informed of the cards
found in the system and their settings.
So why do some people call it Plug
’n Pray? There are a several reasons
for this, although none are really the
fault of the Plug and Play:
(1). The user has a motherboard
with a PnP BIOS, a PnP operating
system (eg, Windows 95) and one or
more older non-PnP cards. With this
mix, it’s all too easy to get conflicts
between non-PnP (legacy) and PnP
cards unless you follow a few simple
rules.
Basically, you have to “tell” the
system about any IRQs that have been
assigned to the legacy cards. You do
that by using the PnP motherboard’s
BIOS to reserve the legacy card IRQs,
so that they cannot later be assigned to
PnP cards (and thus cause conflicts).
This must be done for everything
to work reliably, otherwise you may
as well “Plug and Pray”. To use PnP
correctly, you must remember how it
works. By reserving the legacy card
IRQs in the system BIOS, you let the
operating system know which IRQs
have already been assigned (by you
manually), thereby leaving it free to
assign the remaining IRQs to the PnP
cards itself. If you do that, Plug and
Play will generally work and work
well!
This process of locking out IRQs
can appear in one of two ways. In
some PCs, the BIOS will list all IRQs
from 0-15 and will allow you to toggle
between PnP or Legacy for each IRQ –
see Fig.7. Let’s say, for example, that
you are installing a legacy modem on
COM3 IRQ 9. In that case, you would
toggle IRQ 9 in the list to Legacy, press
Escape, F10 and Y to save the settings
to CMOS – and that’s it.
The other common method of locking out an IRQ is via a list of four or
so available IRQs – ie, 1st available,
2nd available, 3rd available and so on.
Often, the default is 5, 7, 9 & 10. So if
your modem is set to IRQ 9, then you
would need to change 3rd available
to 10 and 4th available to N/A.
If you have to use a legacy card in
an otherwise PnP system, make sure
(after you lock out its IRQ in the system BIOS) that you set up the device
in Windows 95 using the Add New
Hardware wizard (in Control Panel).
This done, double-click the System
icon in Control Panel, click the Device
Manager tab, click the new device
and then click the Properties button.
You should now confirm that the
Automatic settings box is unchecked
and that the I/O port, IRQ and other
resources used by the card are set
correctly.
Change the resource allocations so
that they agree with the settings on the
card if necessary. Sometimes, however, the system won’t let you make
any changes. If that happens, the
Bus Slots For Those Who Missed The Bus
Bus slots allow expansion cards
to be plugged into a PC mother
board. Although some mother
boards have a proprietary bus or
no provision for expansion at all
(to reduce the physical size of the
unit), most have one or more of the
following standard bus systems:
(1). 8-bit ISA slots: released in
1981, the original IBM PC, featured
an 8-bit bus. This ran at the (then)
blindingly fast speed of 4.77MHz
and later became known as the
ISA (Industry Standard Architec
ture) bus.
Early models of the PC had a
separate fixed IRQ allocated to
each slot. This meant that a card
set to IRQ 7, for example, had to
go into the last slot (the IRQs were
numbered 0-7). This was soon
changed to allow any of the IRQs
to be available at each slot.
(2). 16-bit ISA slots: in 1984,
when the 80286-based PC/AT
was introduced, the ISA slot grew
from 8 to 16 bits, the number of
IRQs increased to 16 (0-15), and
the bus speed increased from
4.77MHz to 8MHz. 16-bit ISA slots
are backwards compatible; ie, a
16-bit slot can accept an 8-bit card,
with one section of the slot simply
left unused.
trick is to change the “Setting based
on” option from “Basic configuration
0” to some other setting (eg, “Basic
configuration 5”) and then try again.
You may have to try several settings
before you find one that will let you
make changes. Usually, the first one
or two “basic settings” are preset and
cannot be changed.
(2). The user has an old non-PnP
motherboard and wishes to add new
PnP expansion cards. Older mother
boards with BIOS dates before 1994 or
so won’t have PnP BIOS extensions.
This means that you won’t be able to
reserve IRQs for legacy cards in the
system BIOS, because there is simply
no provision to do so.
The way around this is to configure
any PnP cards in these older PCs as
if they were “software configured
cards”. Usually, there will be a DOS
(3). MCA or Micro-Channel Architecture: introduced in 1987 by IBM,
MCA had no backward compatibility
but featured a 32-bit data bus, a
10MHz clock and auto-configuration
of cards. Although technically brilliant,
it flopped. IBM made MCA proprietary,
thereby forcing prices up, choices
down and users off to EISA bus or
VLB bus instead.
(4). EISA bus: the EISA bus was in
troduced by Compaq to compete with
MCA. Though not widely accepted by
home users, it did have a following in
the server market. It featured a 32bit data bus, a clock speed of 8MHz,
bus mastering, auto-configuration of
cards and backwards compatibility
with ISA. EISA systems tended to be
expensive. The add-on cards were
also expensive and are now about as
rare as MCA cards.
(5). VESA Local Bus, or VLB: the
Video Electronics Standards Associ
ation (VESA) introduced the VLB in
1992. It provided two or three slots
with a 32-bit data bus directly con
nected to the CPU. It was clocked at
the same speed as the CPU, usually
25MHz, 33MHz or 40MHz. Although
bus mastering and automat
ic con
figuration weren’t supported, it was
backwards compatible with 8-bit and
16 bit ISA bus slots.
PnP manager or software setup utility
supplied, so that you can configure
the card manually.
Sometimes, problems can arise
with older motherboards that have
early PnP BIOS extensions. An update
to the ROM BIOS can usually correct
this. This will require a visit to your
supplier (provided they can do the
job), or you might try Mr BIOS on
www.mrbios.com for a third party
update.
(3). The user has a motherboard
with a PnP BIOS and is using PnP
expansion cards but is still running
DOS and Windows 3.x. Neither DOS
nor Windows 3.x support PnP (unlike
Windows 95, Windows 98 and, to
some extent, Windows NT 4). If you
need to keep using your older nonPnP operating system, you will need
to use the DOS PnP manager supplied
The VESA bus was popular in
486-based computers for video and
hard disc controller cards, being ef
fective in reducing data bottlenecks
in the system.
(6). PCI - Peripheral Component
Interconnect: this was designed after
Intel and others got together in 1991
and offers automatic configuration
(PnP) and high-speed operation. PCI
first appeared in some late-model 486
machines and is still the standard bus
used in nearly all PCs today. 64 bits
of data are pushed through a 32-bit
bus which is clocked at 33MHz. PCI
can also pump data in burst mode to
133MHz, with newer versions offering
even more.
(7). Universal Serial Bus, or USB:
although it’s still too soon for wide
choices and low prices, USB is set to
make quite an impact on the market.
With transfer rates up to 12Mb/s, up
to 127 USB devices can be daisy
chained together and “hot swapped”
(no need to turn the PC off first), all
with Plug and Play recognition.
A large number of companies are
getting into USB, with a whole host
of new devices set to come onto
the market. USB re
quires at least
Windows 95b (version 4.00950B or
later) and a recent motherboard with
USB support.
with the card and treat any PnP cards
in your system as if they were plain
software-configured cards.
In order for Plug and Play to work,
it needs to be all or nothing; ie, you
must have a PnP BIOS and a PnP
operating system.
(4). PnP motherboard BIOS, expansion cards all PnP, PnP operating
system. This is my favourite – you
simply plug in the cards and turn it
on. And that’s pretty well all there is
to it! If you are adding a PnP modem,
for example, you let the auto-detection kick in, then insert the modem
“driver” disc when instructed and
the PnP system does the rest. You
don’t have to worry about setting or
reserving IRQs.
Next month, we’ll take a look at
some common modem problems and
SC
tell you how to fix them.
June 1998 9
|