This document contains a number of technical terms which are defined
below in the section, "Some Working Definitions." If you own a 486 or
older PC and have determined that you do not have high-speed serial
ports on your machine, and you wish to use remote access software,
then this document is for you. A common problem with older 486 and
386 computers is that they contain serial ports which cannot support
the speed at which data is transmitted in 14,400 or higher modems.
A modem of at least this speed is required to use remote access software
from home (i.e. to connect to the Internet from home).
Some of the problems with the above situation can be described by the
following scenarios. Answers to resolving these scenarios are described
later in this document.
- You do not have a high speed serial port, so you buy an internal modem.
An internal 14,400 baud, or above, modem will almost always include a
high-speed serial interface on the modem. The problem is that this modem
is likely set to use COM port 3 or 4. By default on the PC COM3 conflicts
with your COM1 port, and COM4 conflicts with your COM2 port. Remote access
software will often fail (not always in an obvious manner) if this conflict
exists..
- You do not have a high-speed serial port, so you decide to buy a
high-speed serial card. This card gives you two new high-speed serial ports
(for about $30-40), but you will most likely want these new ports to be your
COM1 and COM2 ports. To do this you will need to disable the on-board COM1
and COM2 ports on your PC.
- You have a high-speed internal modem and it is set to use either COM1
or COM2. Unless you have already disabled COM1 or COM2 on your PC you have
a hardware conflict.
What is interesting to note is that many communication software packages
will work correctly with hardware conflicts (such as simple terminal
emulation software and FAX software), but many remote access software
packages will fail. Thus, the response, "but it works with my Windows
Terminal program," is perfectly valid, but it does not mean that your
particular modem configuration will work with remote access software.
The solution to the hardware conflict issue usually requires disabling a
built-in serial port. In the past, the only way to do this was to take a
screwdriver to the case, open it, and set jumpers on an I/O controller or
logic board, hence the audience was a hardware technician. Most recently,
newer Pentium class computers allow the user to disable a serial port from
the CMOS setup program and therefore, these steps may be taken by a "normal"
computer user.
Our group, called Microcomputer Services, takes calls and drop-in visits
from faculty, staff and students. The most common cause of difficulty for
dial-up users with IBM compatibles are hardware conflict issues. If you
have a hardware conflict that cannot be resolved through setting disabling
COM ports via software on your computer we ask that you take your machine
to a qualified technician to resolve the conflict. Please see the rest of
this document for details on possible methods to resolve serial communication
hardware conflicts.
CMOS Setup: CMOS is memory (built-in to your computer) that stores your
computer's hardware configuration. This includes things like the type and
specifications for your hard disk, display adapter, typomatic rate, system
clock, etc. This "setup" program may also contain information regarding which
serial ports are or are not defined.
BIOS: Basic Input and Output System. Permanent instructions
encoded into your computer governing communication
between the processor and other devices like the display or serial ports.
Serial Port: Sometimes called a COM port (Communications Port),
used to connect up to four external devices like modems, mice and printers.
Most IBM PC compatibles have two of these built in and they are labeled
"COM1" and "COM2." At most, COM's 1 through 4 may be defined. Prior to the
IBM PS/2, the BIOS did not recognize COM ports 3 and 4. COM3 and COM4 (as
they are usually written) are always bad choices for a modem because many
dial-up software packages still assume they cannot be used even though it
has been a long time since the PS/2 BIOS became available.
IRQ: Interrupt Request - A communications channel with the processor.
There are less than 16 of these, and each device attached to your PC requires
one. A hardware conflict happens when there is contention for the same IRQ;
that is, two devices are set to the same IRQ.
The University of Oregon has a site license for Trumpet Winsock (Written
by Peter Tattam) for Windows 3.1 users and we recommend the use of
the Windows 95 and NT Built-In Dialup Networking clients.
The machine may not have both COM1 and COM3 defined at the same time (They
share IRQ 4 by default).
The machine may not have both COM2 and COM4 defined at the same time
(They share IRQ 3 by default).
The machine should not have two of the same COM ports defined at the same
time (i.e. two COM2's). If the hardware allows a COM port to be moved to
another IRQ, the user may then break the rule above. i.e. If COM1 and COM3
are defined, but COM3 is on some alternate IRQ that is not in use, then that
is OK. The software we support requires that the modem NOT be moved to an
alternate IRQ. It expects to find the modem's port at its default IRQ.
So when/if you must redefine a port to an alternate IRQ, do not move the
modem. By defined we mean exists. Ports defined have a hex value like
COM1=03F8. Ports undefined are labeled "N/A." If you are unsure of your
COM port settings try running the MSD program, which comes with Windows
3.1x, at the DOS prompt.
Press "C" after the program starts to see the state of your COM ports.
The machine appears to freeze and no error message is displayed.
The computer reboots itself. The modem cannot be accessed at all by
the software. The software thinks that no modem is installed. In some
cases, the modem works part way, but fails to make the connection.
Anytime standard software fails that we know works on other people's
machines, after checking for configuration errors, we check for
possible conflicts.
Many new machines come with COM1 and COM2 pre-defined (built-in).
Many Vendors include a free internal modem with their computer.
Unfortunately, we find many vendors ship the machine with a conflict.
The internal modem is also set to COM2. The built-in COM2 and the modem
defined as COM2 conflict. The built-in COM2 should have been disabled
(Physically with jumpers or a CMOS setup program) but the vendor did not
do this. Even if nothing is plugged into a built-in COM port, it is still
defined. The other primary cause is very similar to the above example.
COM1 and COM2 are built-in and both are defined. The user then gets an
internal modem, sets it to COM3 and installs it. There is now a conflict
between COM1 and COM3. i.e. COM1 and COM3 share the same IRQ.
Problem: Simple case: Two COM2's defined.
Move one of the devices to an open COM port. This case is most common
with internal modems. If the modem is defined as COM2, then the built-in
COM2 must be disabled.
Problem: Any 3 COM ports are defined (i.e. [1, 2, & 3], or [1, 2, &4])
If the user does not need one of the ports (i.e. they are physically
present but nothing plugged in) then undefine the port that is not in use.
Move remaining ports to COM1 and COM2. If the user does require 3 serial
devices, pick one of them (NOT THE MODEM) and assign it to an IRQ that is
not in use.
In general, it is best to have a modem on COM1 or COM2 (COM2 being
preferred simply because of higher IRQ priority) Before the IBM PS/2,
the IBM BIOS did not address COMs 3 & 4 at all. Many software vendors
wrote their software assuming that modems were on 1 or 2. Many
communications packages still commonly in use today will not work at
all unless the modem is on 1 or 2. This is because they still assume
that 3 & 4 are not available. The best case for the user, is to put
the modem on 1 or 2.
On some new machines one can access a CMOS setup program at startup time.
If you are lucky, you can simply undefine the port from this hardware setup
menu. Most of us have to take the case off our machines and set one or
more jumpers on the mother board or on an integrated card like an IDE
drive controller. One must have the manual for the device in question
to know how to disable the port. If opening a case is necessary, we
usually recommend letting a professional technician do the work for
you. We have found many 386 class machines do not have any way to
undefine the port, and thus machines are rendered unusable in terms
of any remote access software supported by the UO. Simple text-only
terminal emulation programs may continue to work even when a conflict
exists because they have a less robust connection and use Direct Memory
Addressing ignoring the IRQ channels. All of the software we support
DOES use IRQs and thus typically will not work when a hardware conflict
exists (this is generally the nature of remote access software packages).