|
Troubleshooting, Maintaining & Repairing PCs Stephen Bigelow $54.95 0-07-913732-6 |
|
| Chapter: 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 |
| Reserve your copy at a Beta Bookstore near you! |
Contact Bet@books © 1998 The McGraw-Hill Companies, Inc. All rights reserved. Any use of this Beta Book is subject to the rules stated in the Terms of Use. |
CHAPTER 32
Modems and fax cards
Long before computers ever became "personal", the mainframe and mini computers of the 1960s and 1970s needed to communicate over large geographic distances which could sometimes stretch across town, and sometimes around the world. Designers faced the problem of wiring the computers together - stringing a cable across even a few miles represents a serious logistical challenge. Instead of installing a network of new cabling, computer designers realized that they already had a sophisticated, world-wide wiring system in place; the public switched telephone network (PSTN). By enabling one computer to "call" another and exchange data, computers could communicate over telephone lines as-needed - anywhere a telephone jack is available (even using cellular facilities).
Of course, computers can not work directly on your telephone line. The digital information processed by computers must be translated (or modulated) into audible sounds that are carried across telephone lines to a remote location. Sound signals returning over the telephone lines must be converted back into digital information (or demodulated) for the computer. This continuous process of modulation and demodulation between a computer and telephone line is performed by a device called a MOdulator/DEModulator - or MODEM. As the number of personal computers has grown into the millions, the demand for faster and more reliable modem communication has resulted in impressive speed and performance. Today's modems have also enabled entirely new developments such as fax and voice capabilities. This chapter is intended to explain the operations, standards, and connections of today's modems, as well as provide you with a compendium of modem symptoms and solutions.
Basic modem construction and operation
In order to understand how a modem works and how to react when things go wrong, you should be familiar with the typical sections of a modem circuit. Although most modems today can be fabricated with only a few ASICs and discrete parts, virtually all computer communication systems contain the same essential parts. First, data must be translated from parallel into serial form and back again. Serial data being transmitted must be converted into an audio signal, then placed on an ordinary telephone circuit. Audio signals received from the telephone line must be separated from transmitted signals, then converted back into serial data. All of these activities must take place under the direction of a controller circuit. Finally, a modem uses non-volatile RAM (NVRAM) to maintain a lengthy list of setup parameters (or "S registers"). For the purposes of this book, there are two types of modems; internal and external.
The internal modem
The internal modem is fabricated as a stand-alone board which plugs directly into the PC expansion bus. You can see each major modem function detailed in the block diagram of Fig. 32-1. The internal modem contains its own universal asynchronous receiver/transmitter (UART) - it is the UART which is responsible for manipulating data into and out of serial form. A UART forms the foundation of a serial port, and this can represent a serious hardware conflict for your PC - when installing an internal modem, be sure that the IRQ line and I/O address chosen for the UART "serial port" does not conflict with other serial ports (a.k.a. COM ports) already in the system. It may be necessary to disable conflicting ports.
Before being transmitted over telephone lines, serial data must be converted into audio signals. This process is carried out by a modulator circuit. The modulated audio is then coupled to the telephone line using a circuit very similar to that used by ordinary telephones to couple voice. Audio signals are made available to a single RJ11-type (telephone line) connector at the rear of the modem. Many modems provide a second RJ11 jack for a telephone - this allows you to check the line and make calls while the modem is idle. Signals received from the telephone line must be translated back into serial data. The telephone interface separates received signals and passes them to the demodulator. After demodulation, the resulting serial data is passed to the UART, which in turn converts the serial bits into parallel words that are placed on the system's data bus.
Besides combining and separating modulated audio data, the telephone interface generates the dual-tone multi-frequency (DTMF) dialing signals needed to reach a remote modem - much the same way as a touch-tone telephone. When a remote modem dials in, the telephone interface detects the incoming ring, and alerts the UART to begin negotiating a connection. Finally, the telephone interface drives a small speaker. During the first stages of modem operation, the speaker is often used to hear dial tone, dialing signals, and audio negotiation between the two modems. Once a connection is established, the speaker is usually disabled.
A controller circuit manages the overall operation of the modem, but in a more general sense, it switches the modem between its control and data operating modes. The controller accepts commands from the modulator which allows modem characteristics and operating parameters to be changed. In the event of power loss or reset conditions, default modem parameters can be loaded from NVRAM. Permanent changes to modem parameters are stored in NVRAM.
The external modem
For all practical intents and purposes, the external modem provides virtually all of the essential functions offered by an internal modem. As you can see by the block diagram of Fig. 32-2, many of the external functions are identical to those of an internal modem. The major difference between modems is that the external modem does not include a built-in UART to provide a serial port. Instead, the external modem relies on a serial port (or COM port) already configured in the PC. A 9-pin or 25-pin serial cable connects the PC serial port to the modem. This often makes external modem setup faster and easier than internal modems, since you need not worry about interrupt lines and I/O address settings - hardware conflicts are rare with external modems.
The other practical differences in an external modem is the way it is powered. Where internal modems are powered from the expansion bus, external modems must be powered from a small AC adapter. In locations where AC outlets are scarce, this may be a problem. On the other hand, external modems provide a series of signal status LEDs. The LEDs allow you to easily check the state of serial communications.
Advanced modem features
Today’s modems do far more than just exchange data between computers. There are a myriad of advanced features built into current modems which you should be aware of - a few of the more notable advancements are listed below:
x2 technology - although the term "x2" is generally trademarked by US Robotics, x2 is often used generically to refer to high-speed modem technology employed for 56KB modems. x2 technology is a new method developed for 56KB downloads from the Internet, corporate networks and online services over regular phone lines. While x2 doesn’t support 56KB uploads, or 56KB transfers between modems, it does offer a powerful enhancement for PC users seeking more speed from the Internet or other online services. You need three elements to support x2 at 56KB downloads; an ISP or other remote x2 compatible server, an "analog loop" between your home/office and the local central office, and an x2 modem (such as a US Robotics Sportster). However, x2 technology is very sensitive to telephone line issues, and must have close to ideal conditions to achieve top speed downloads. When uploading or communicating with other modems, an x2 modem typically runs at 28.8KB.
DSVD - in addition to simply sending and receiving data, some modern modems incorporate a feature called "Dual Simultaneous Voice and Data" (or DSVD). The modem can carry your analog voice as well as computer data. In effect, the modem becomes a "speakerphone" able to transfer real-time voice and data at the same time (though the bandwidth needed to transfer voice information reduces the available bandwidth for data transfers). Note that the DSVD feature can only be used between two DSVD modems. To use DSVD, you need a sound board with a microphone (to digitize your voice), as well as a set of speakers (to play the voice from the other end). DSVD has found a small but powerful niche among on-line computer gamers who wish to communicate in real-time as they play.
Voice mail - some modern modems are providing advanced voice mail features which essentially allow the modem (and PC) to serve as an intelligent answering machine or digital information system. When installed and configured properly, voice mail allows you to create "mailboxes", record voice greetings/announcements for each mail box, record messages to each "mailbox", access each "mailbox" remotely, and even support "fax-on-demand". Voice mail features are particularly popular with small businesses or small-office home-office (SOHO) environments looking to automate messaging and information distribution.
Auto-detection/auto-switching - virtually all current modems can detect the difference between a voice call, a modem call, and an incoming fax, and can automatically employ the proper software tools to record the voice message (used with voice mail systems), start BBS or other electronic messaging software to communicate with the calling modem (ideal for remote access software), or record the fax image to the hard drive.
Distinctive ring - many local phone service areas now support the "distinctive ring" feature which allows several phone numbers to be assigned to the same physical telephone line - each assigned number rings with a different ringing pattern. Modems that are compatible with "distinctive ring" can be placed on the same physical phone line with other devices, but will only answer when a certain ringing pattern is detected.
Caller ID - modern modems are also able to detect the caller’s originating telephone number which is transmitted to the receiving end of the communications link. In its simplest form, caller IC simply provides an "on-screen" display of the caller’s telephone number (used most often when you’re receiving calls with the modem in "speakerphone" mode. In its most enhanced form, database software can trap the caller ID number, then automatically pull up contact information, notes of past phone conversations, or a wide range of other caller-related information. This is an ideal feature for sales or help desk services.
Modem commands
Modems used to be "dumb" devices. It was almost impossible for them to do things like answer the ringing telephone line, dial a number, set speaker volume, and so on. Hayes Microcomputer Products developed a product called a "Smartmodem" which accepted high-level commands in the form of ASCII text strings. This was dubbed the Hayes AT command set, and has been the de-facto standard for modem commands ever since. As a consequence, virtually every modem that is Hayes-compatible is capable of using the AT command set. Ultimately, the AT commands go a long way to simplify the interface between a modem and communication software. Table 32-1 provides an extensive index of the AT commands - this can be particularly helpful when trying to interpret command strings.
Virtually all AT command strings start with the prefix "AT" (Attention). For example, the command string; "ATZE1Q0V1" contains five separate commands; attention (AT), reset the modem to its power-up defaults (Z), enable the command echo to send command characters back to the sender (E1), send command result codes back to the PC (Q0), and select text result codes which causes words to be used as result codes (V1). While this may seem like a mouthful, a typical modem can accept command strings up to 40 characters long. The term result codes are the messages that the modem generates when a command string is processed. Table 32-2 outlines a series of typical result codes. Either numbers (default) or words (using the V1 command) can be returned. When a command is processed correctly, a result code OK is produced, or CONNECT when a successful connection is established.
Many attributes of the Hayes-compatible modem are programmable. To accommodate this feature, each parameter must be held in a series of memory locations (called S-registers). Each S-register is described in Table 32-3. For example, the default escape sequence for the AT command set is a series of three plusses; "+++". You could change this character by writing an new ASCII character to register S2. For the most part, default S-register values are fine for most work, but you can often optimize the modem's operation by experimenting with the register values. Since S-register contents must be maintained after power is removed from the modem, the registers are stored in non-volatile RAM (NVRAM).
Modem initialization strings
One of the most difficult steps to configuring a new modem (or new modem software) is the proper use of "initialization strings". Initialization strings (or init strings as they are sometimes called) are vital in order to set up the modem properly before each use - otherwise, the modem will not behave as expected (if it works at all). Table 32-4 provides a comprehensive listing of modem initialization strings and "BPS" rates (data rates) that you can use to configure your particular modem. There are strings for CCITT and ISDN modems. Keep in mind that these initialization strings are not absolute - except for the "AT" at the start of each line, you can modify each string as required for your own system and telephone line.
NOTE: You may notice that a few of these AT command strings are so long that they "run over" into a second line. When you enter these strings into communication software, you should be sure to enter all of the commands without spaces or carriage returns on the same line.
Modem modes
The modem is always in one of two primary modes; the command mode or the data mode. When first switched on (or reset), the modem starts up in command mode. In this mode, the controller circuit (sometimes called a command processor) is constantly checking to see if you have typed a valid AT command. When the modem receives a valid command, it executes that command for you. While your
modem is in the command mode, you can instruct it to answer the telephone, change an S-Register value, hang up or dial the telephone, and perform any number of other command functions.
The other mode is the data mode. In the data mode, your modem is transmitting all of the data it receives from your computer or terminal along the telephone line to the remote modem. Your modem is constantly checking the state of the Data Carrier Detect (DCD) and Data Terminal Ready (DTR) signals (depending on the system configuration). It is also watching the local data stream for a command mode escape sequence. The default escape sequence the AT command set is; "+++". When the proper escape sequence or a change in the state of the DCD or DTR signal occurs, the modem returns to a command mode where it waits for the next AT command.
Modem negotiation
Now that you have seen the essential elements of a modem and learned about modem signaling, you can use that background to form a picture of how the modem works in actual practice. You see, modem communication is not an event - it is a process whose success depends on not only on your modem, but on the modem and PC you are trying to communicate with. This part of the chapter is intended to familiarize you with an operating session for a typical modem.
Communication begins when you instruct the communication software to establish a connection. Control signals sent to the selected serial port causes the UART to assert the Data Terminal Ready (DTR) signal. This tells the attached modem that the PC is turned on and ready to transmit. The modem responds by asserting the Data Set Ready (DSR) line. The serial port receives this signal and tells the software that the modem is ready - both DTR and DSR must be present for communication to take place.
The communication software then sends an AT initialization string to the COM port (which forwards the string to the modem). In the command mode, the controller circuit interprets the initialization string which tells the modem to go off hook (get dial tone), then dial the telephone number of the destination modem. Dialing may take place in pulse (rotary) or tone mode depending on the initialization string. The modem transmits an acknowledgment back to the COM port - this is often displayed right on the communication software window. The line at the destination end begins to ring. If configured properly, and running communication software of its own, the remote modem will pick up the ringing line and a complete wiring path will be established between the two modems.
When the destination modem picks up the line, your local modem sends out a standard tone (a carrier tone) - this lets the remote modem know it's being called by another modem. If the remote modem recognizes the carrier, it sends out en even higher-pitched tone. You can often hear these tones when your modem is equipped with a speaker. Once your modem recognizes the remote modem, it sends a Carrier Detect (CD) signal to the serial port. These mutual carriers will be modulated to exchange data.
OK, both modems know they are talking to other modems, but now there has to be a mutual agreement on how they'll exchange data. They must agree on transmission speed, the proper size of a data packet, the signaling bits on each end of the data packet, whether or not parity will be used, and if the modems will operate in half or full duplex mode - both modems must settle on these parameters or the data exchanged between them will make no sense. This process is known as negotiation. Assuming that the negotiation process is successful, both modems can now exchange data.
When the communication software attempts to send data, it tells the serial port to assert the Request to Send (RTS) signal. This checks to see if your modem is free to receive data. If the PC is busy doing something else (such as disk access), it will disable the RTS signal until it is ready to resume sending. When the modem is ready for data, it will return a Clear to Send (CTS) signal to the serial port. The PC can then begin sending data to the modem, and receiving data returned from the remote end. If the modem gets backed up with work, it will drop the CTS line until it is ready to resume communication. Since a standard system of tones is used, both modems can exchange data simultaneously. Data can now be exchanged between the two systems simultaneously.
When the time comes to terminate the connection, the communication software will send another AT command string to the serial port that causes it to break the connection. If the connection is broken by the remote modem, the local modem will drop the Carrier Detect line. The communication software will interpret this as a "Dropped Carrier" condition. That is basically all the phases involved in modem communication. If you’re looking for more details on modem connections, Table 32-5 highlights the specific connect-sequences for V.22bis and V.32 modems.
Reading the lights
One of the appealing attributes of external modems is the series of lights that typically adorns the front face. By observing each light and the sequence in which they light, you can often follow the progress of a communication - or quickly discern the cause of a communication failure. The following markings are typical of many modems, but keep in mind that your particular modem may use fewer indicators (or be marked differently):
Understanding signal modulation
Once the modem accepts a bipolar signal from an RS-232 port, the carrier signal being generated on the telephone line must be modulated to reflect the logic levels being transmitted. Several different means of signal modulation have been developed through the years to improve the efficiency of data transfers. This part of the article gives you a brief explanation of each scheme. As you would expect, both modems must be capable of the same modulation scheme
bps vs. baud rate
In the early days of modem communication, each audio signal transition represented a single bit. Each audio signal is known as a baud, and the baud rate naturally equaled the transmission rate in bps (or bits-per-second). Unlike those early modems, newer modem schemes can encode 2, 3, 4, or more bits into every audio signal transition (or baud). This means that modem throughput now equals 2x, 3x, or 4x the baud rate being carried across the telephone line.
For example, a modem operating at 2400 baud (2400 audio signal transitions per second) can carry 4800 bps if 2 bits are encoded onto every baud. The same 2400 baud modem could also carry 9600 bps if 4 bits are encoded onto every baud. Today, the modem's baud rate rarely matches the modem's throughput in bps unless a very old signaling standard is being used. If the modem were operating at 4800 baud and used 3 bit encoding, the modem would be handling 14,400 bps (14.4Kbps), and so on. The concept of encoding is different from data compression since encoding transfers all original data bits from system to system, while data compression replaces repeating sequences of bits with much shorter bit sequences (known as symbols or tokens). You will see much more about encoding schemes and data compression later in this article.
Modulation schemes
To discuss modulation, you must first understand a sinusoidal waveform. There are basically three physical characteristics to any waveform: amplitude, frequency, and phase. Each of these characteristics can be adjusted to represent a bit. Amplitude is simply the magnitude of the wave (usually measured in volts peak-to-peak or volts RMS). Amplitude represents how far above and below the zero axis that waveform travels. Frequency indicates the number of times that a single wave will repeat over any period of time (measured as cycles-per-second, Hertz, or Hz). An 1800Hz signal repeats 1800 times per second. The signal also has a time reference known as phase. Phase is measured in degrees where 90 degrees is the time to travel 25% of a wave, 180 degrees is the time to travel 50% of the wave, 270 degrees is the time to travel 75% of a wave, and so on. Since phase can take on any one of four states (degrees), phase shifts can be made to represent two bits simultaneously. Data between modems is modulated by altering the amplitude, frequency, and phase of a carrier signal.
Frequency Shift Keying (FSK) is very similar to frequency modulation (FM) where only the frequency of a carrier is changed, and is one of the oldest modulation schemes still in service. FSK sends a logic 1 as one particular frequency (usually 1750Hz), and a logic 0 is sent as another discrete frequency (often 1080Hz). Frequencies are typically sent at 300 baud and each baud can carry 1 bit, so FSK can send 300 bps. This early technique resulted in the classical "baud=bps" confusion which is still prevalent today.
Phase Shift Keying (PSK) is a close cousin of FSK, but the phase timing of a carrier wave is altered while the carrier's frequency stays the same. By altering the carrier's phase, a logic 1 or 0 is represented. Since phase can be shifted in several precise increments (i.e. 0, 90, 180, or 270 degrees), PSK can encode 1, 2, 3, or more bits bit per baud. For example, a 1200 baud modem using PSK can transmit 2400 bps over an 1800Hz carrier. PSK can also be used in conjunction with FSK to encode even more bits per baud.
Quadrature Amplitude Modulation (QAM) uses both phase and amplitude modulation to encode up to 6 bits onto every baud, although 4 bits are usually reserved for data. Not only can four phase states represent two bits, but four levels of amplitude can represent another two bits. Most QAM modems use a 1700 Hz or 1800Hz carrier and a base rate of 2400 baud, so they carry up to 9600 bps.
Trellis Coded Quadrature Amplitude Modulation (TCQAM or TCM) also uses an 1800Hz carrier at a 2400 baud base rate, but uses the full 6 bit encoding capability of QAM to handle 14400 bps. Most newer modems using TCM offer high speed and excellent echo cancellation circuitry. TCM is currently the most popular modulation scheme for high-performance modems since data can be checked on-the-fly with much better reliability than using a parity bit.
Signaling standards
Now that you have covered serial concepts and modulation techniques, you can see how modulation is used in conjunction with the many communications standards (or protocols) that have appeared. This part of the chapter details each of the major standards for modems, data compression, and error correction that are now in force today. In addition to simply transferring data, however, current modem standards embrace two other facets of data communication; data compression and error correction.
Most data sent between modems contains some amount of repetitive or redundant information. If the redundant information is located and replaced by a small token during transmission - the data is compressed. A token could be passed much faster than the redundant data, and the receiving modem accurately recreates the original data based on the token. Data compression has become an important technique which allows modems to increase their data throughput without increasing the baud rate or bps. Data compression can occur only when the two communicating modems support the same compression protocol. If modems supports more than one type of compression, the communicating modems will use the most powerful technique common to both.
Modem error correction is the ability of some modems to detect data errors that may have occurred in transit between modems, then automatically resend the faulty data until a correct copy is received. As with modulation standards, both modems must be using the same error correction standard in order to operate together. However, there are few error correction standards, and most modem manufacturers adhere closely to the few that are available.
Bell standards
The old "Bell System" largely dictated North American telecommunications standards before it was broken up into AT&T and seven regional operating companies in 1984. Before that time, two major standards were developed that set the stage for future modem development:
ITU (CCITT) standards
After the "Bell System" breakup, AT&T no longer wielded enough clout to dictate standards in North America - and certainly not to the international community which had developed serious computing interest. It is at this time that the ITU (International Telecommunications Union, formally the CCITT) gained prominence and acceptance in the US. All US modems have been built to ITU standards ever since. ITU specifications are characterized by the symbol V (i.e. V.17). The term "V" simply means standard (rather like the "RS" in RS-232). The subsequent number simply denotes the particular standard. Some standards also add the term "bis" which means the second version of a particular standard. You may also soon see the terms "ter" or "terbo" which is the third version of a standard. The list below provides a comprehensive look at ITU standards. Only the bolded standards relate to modems in particular, but all are related to communications. This index may aid you in understanding the broad specifications that are required to fully characterize the computer communications environment:
MNP standards
The Microcom Networking Protocol (MNP) is a complete hierarchy of standards developed during the mid 1980s which are designed to work with other modem technologies for error correction and data compression. While most ITU standards refer to modem data transfer, MNP standards concentrate on providing error correction and data compression when your modem is communicating with another modem that supports MNP. For example, MNP class 4 is specified by ITU V.42 as a backup error control scheme for LAPM in the event that V.24 can not be invoked. Out of nine recognized MNP levels, your modem probably supports the first five. Each MNP class has all the features of the previous class plus its own:
File transfer protocols
Even with powerful data transfer, compression, and correction protocols, the way in which data is packaged and exchanged is still largely undefined by ITU and MNP standards. You see, a typical modem has no way of knowing the difference between a keyboard stroke or data being downloaded from a hard drive - the modem does not understand a file. Instead, it only works with bytes, bits, timing, and tones. As a consequence, the modem relies on communications software to manage file characteristics such as filename, file size, and content. The software routines that bundle and organize data between modems are called file transfer protocols. Errors that occur during file transfer are automatically detected and corrected by file transfer protocols. If a block of data is received incorrectly, the receiving system sends a message to the sending system and requests the re-transmission. This process is automatic, and essentially transparent to the computer users (except perhaps for a display in the communication software's file transfer status window). The following are some of the more common transfer protocols:
Modem troubleshooting
Okay, the modem is installed (or replaced), the communication software is loaded, the telephone line is connected - and nothing happens. This is an all-too common theme for today's technicians and computer users. Although the actual failure rate among ordinary modems is quite small, it turns out that modems (and serial ports as you will see later in the book) are some of the difficult and time consuming devices to setup and configure. As a consequence, proper setup initially can simplify troubleshooting significantly. When a modem fails to work properly, there are a number of conditions to explore:
Checking the command processor
The "command processor" is the controller which manages the modem's operation in the command mode, and it is the command processor which interprets AT command strings. When the new modem installation fails to behave as it should, you should first check the modem command processor using the procedure outlined below. Before going too far with this, make sure you have the modem's user guide on hand (if possible). When the command processor checks out, but the modem refuses to work under normal communication software operations, the software may be refusing to save settings such as COM port selection, speed, and character format:
NOTE: Under Windows 95, you can use the HyperTerminal applet under Start, Programs, Accessories, and HyperTerminal. Once the HyperTerminal folder opens, double-click the Hypertrm icon, and type "Test1" in the Connection Description dialog. Click OK. When you’re asked to enter a phone number, enter your own number and click OK. When the Connect dialog asks to dial the number, just click Cancel. A text window appears as in Fig. 32-3. Type "AT" and press <Enter>. You should see an "OK" response.
Checking the dialer and telephone line
After you are confident that the modem's command processor is responding properly, you can also check the "telephone interface" by attempting a call - this also can verify an active telephone line. When the telephone interface checks out, but the modem refuses to work under normal communication software operations, the software may be refusing to save settings such as COM port selection, speed, and character format:
Typical communication problems
Even when the modem hardware is working perfectly, the serial communication process is anything but flawless. Problems ranging from accidental loss of carrier to a catastrophic loss of data regularly plague computer communication. To make your on-line time as fool-proof as possible, this section of the chapter shows you how to deal with some of the most pernicious communication problems.
Modem Settings - modem settings are critically important to inter-modem communication. The number of data bits, use of parity, number of stop bits, and data transfer speed must be set precisely the same way on both modems. Otherwise, the valid data leaving one modem will be interpreted as complete "junk" at the receiving end. Normally, this should not happen when modems are set to auto-answer - negotiation should allow both modems to settle at the same parameters. The time that incompatible settings really become a factor is when negotiation is unsuccessful, or when communication is being established manually. A typical example is an avid BBS user with communication software set to 8 data bits, no parity bit, and 1 stop bit trying to use a network which runs at 7 data bits, even parity, and 2 stop bits. The aspect that stands out with incompatible settings is that virtually nothing is intelligible - and the connection is typically lost.
Modems and UART types - whether internal or external, the UART is clearly the heart of a modem system. It is the modem which converts bus data into serial data (and vice versa). However, the UART must be able to keep pace with the modem’s data transfer rate. As modem speeds have increased, UARTs have become faster also. When installing a new external modem on an older PC, the PC’s serial port may simply not be fast enough to deal with the modem. The result is often limited modem performance (if the modem works at all). Today, the 16550A UART is the device of choice. Table 32-6 compares the major UART types. When faced with an older UART, it is often possible to replace the UART IC outright - otherwise, it is a simple matter to disable the existing serial port, and install a newer serial adapter using a new UART.
Line noise - where faulty settings can load the display with trash, even a properly-established connection can loose integrity periodically. Remember that serial communication is made possible by a global network of switched telephone wiring. Each time you dial the same number, you typically get a different set of wiring. Faulty wiring at any point along the network, electrical storms, wet or snowy weather, and other natural or man-made disasters can interrupt the network momentarily, or cut communication entirely. Most of the time, brief interruptions can result in small patches of garbled text. This type of behavior is most prominent in real-time on-line sessions (such as typing in a "chat" message). When uploading or downloading files, file transfer protocols can usually catch such anomalies and correct errors or request new data packets to overcome the errors. When you have trouble moving files or notice a high level of "junk" on-line, try calling back - when a new telephone line is established, the connection might be better.
Transmit and receive levels - other factors that affect both leased and dial-up telephone lines are the transmit and receive levels. These settings determine the signal levels used by the modem in each direction. Some Hayes-compatible modems permit these levels to be adjusted. The range and availability of these adjustments is in large part controlled by the local telephone system. For example, the recommended settings and ranges are different for modems sold in the UK than for those sold in the US. See the documentation accompanying the modem to determine whether this capability is supported.
System processor limitations - some multi-tasking operating systems can occasionally lose small amounts of data if the computer is heavily loaded and cannot allocate processing time to the communications task frequently enough. In this case, the data is corrupted by the host computer itself. This could also cause incomplete data transmission to the remote system. Host processor capabilities should be a concern when choosing software for data communications when the line speed is greater than 9600 bps and the modem-to-DTE connection is 19200 bps or higher (for example, when data compression is used). The modem will provide exact transmission of the data it receives, but if the host PC cannot "keep up" with the modem because of other tasks or speed restrictions, precautions should be taken when writing software or when adding modems with extra high speed capabilities. One way to avoid the problem of data loss caused by the host PC is the use of an upgraded serial port such as a Hayes Enhanced Serial Port card, or a newer modem with a 16550 UART. Such advanced modems are powerful enough to take some of the load off of the PC processor. When processor time is stretched to the limit, try shutting down any unnecessary applications to reduce load on the system.
Call waiting - the "call waiting" feature now available on most dial-up lines momentarily interrupts a call. This interruption causes a click that informs voice call users that another call is coming through. While this technique is dynamite for voice communication, it is also quite effective at interrupting a modem's carrier signal - and may cause some modems to drop the connection. One way around this is to set S-register S10 to a higher value so the modem tolerates a fairly long loss of carrier signal. Data loss may still occur, but the connection will not drop. Of course, the remote modem must be similarly configured. When originating the call, a special prefix can be issued as part of the dialing string to disable call waiting for the duration of the call. The exact procedure varies from area to area, so contact your local telephone system for details.
Automatic timeout - some Hayes-compatible modems offer an automatic timeout feature. Automatic timeout prevents an inactive connection from being maintained. This "watchdog" feature prevents undesired long-distance charges for a connection that was maintained for too long. This inactivity delay can be set or disabled with S-register S30.
System lock up - there are situations where host systems do lock up, but in many cases it is simply that one or the other of the computers has been flowed off - that is, the character that stops data transfer has been inadvertently sent. This can happen during error-control connections if the wrong kind of local flow control has been selected. In addition, the problem could be the result of incompatible EIA 232-D/ITU V.24 signaling. When systems seem to cease transmitting or receiving without warning, but do not disconnect, perform a thorough examination of flow control.
Modem initialization strings - modems rely on initialization strings for proper configuration at start time, or when new communication software is initialized. The initialization string MUST be correct for your particular modem in order to utilize all of the modem’s features or achieve optimum performance. You may be able to use "generic" initialization strings, but may not be able to get full functionality from the modem (i.e. you may be able to use a Hayes-compatible initialization string, but caller ID may not work).
Symptoms
Many of the problems that you will encounter with modem/fax boards are related to its physical and software configuration. The host PC also plays an important role in the modem's overall performance and reliability. Modems themselves are rarely at fault - although they are hardly invulnerable. This part of the chapter presents you with an index of potential troubleshooting problems and solutions. When you determine that the modem itself is at fault, you should replace the modem outright. When replacing the modem, remember that the initialization and operating strings often vary slightly between modem manufacturers - be sure to alter ant AT command strings in the communication software to accommodate the new modem.
Symptom 32-1. The PC (or communication software) refuses to recognize the modem. First, verify that the modem is turned on (external modems only) - for internal modems, see that the modem is installed correctly and completely in its expansion slot. Check your CMOS settings and verify that the COM port for your external modem is even enabled. There may be a COM port (IRQ) conflict in the system. Check the configuration of your internal modem (try the Windows 95 Device Manager) and verify that there are no hardware conflicts. If you have trouble running the modem in "terminal mode" (the modem doesn’t respond to AT commands), make sure that you’re entering everything in either upper-case (AT) or lower-case (at) format - mixing cases can sometimes confuse a modem.
Symptom 32-2. The modem appears to be functioning properly, but you can’t see what you are typing. There are two types of duplex, full and half. Half-duplex systems simply transmit to and receive from each other. Full-duplex systems do that, plus they "receive" what they transmit - echoing the data back to the sender. Since half-duplex systems do not echo, what is being sent is typically not shown on the screen. Most terminal programs have an option to enable LOCAL ECHO so that what is transmitted is also displayed. You can often enable the modem's local echo by typing the "ATE1" command during a direct connection, or add the "E1" entry to the modem’s initialization string. When local echo is not an option, switching to full-duplex mode will often do the same thing. Customer complaints that they can't see what they are typing are solved by turning on local echo, or switching to full-duplex.
Symptom 32-3. The modem appears to be functioning properly, but you see double characters print while typing. By their nature, full-duplex modem connections produce an echo. If local echo is enabled in addition, you’ll see not only what you are transmitting but also that character being echoed, creating a double display - for example, when you hit "A", you’ll see "AA". This can be annoying, but is totally harmless. Customer complaints of double letters are solved by turning off local echo by entering the "ATE0" command during direct connection, or adding the "E0" command to the modem’s initialization string.
Symptom 32-4. The modem will not answer at the customer's site, but it works fine in the shop. Since deregulation of the original "Bell Telephone" company, customers have been allowed to attach devices to phone lines with the proviso that they notify the phone company of each device’s FCC registration and ringer equivalence number (REN). While few customers make it a point of informing their local telephone company how many phones and gadgets are connected to the telephone line, there is a good reason for having it - you see, the amount of ringing voltage supplied to a site is fixed. If you load down the line beyond its maximum rating, not enough voltage will be available to ring all of the bells. The ringer equivalence is the amount of load that the device will place on the line. Modems have to be able to detect a ring signal before they know to pick up. If the ringing signal is too weak, the modem will not detect it properly and initiate an answer sequence.
Have the customer remove some other equipment from their phone lines and see if the problem disappears. With today's fax machines, modems, multiple extension phones and answering machines all plugged into the same line, it would be easy to overload the ringing voltage. The customer should also take a listing of the registration numbers and ringer equivalence numbers on ALL devices connected to phone lines and notify the local phone company of them. The phone company can then boost the ringer voltage to compensate for the added loads.
As a precaution, make sure that your customer is starting the communication software properly before attempting to receive a modem call - the modem will not pick up a ringing line unless the proper software is running, and the modem is in an "auto-answer" mode.
Symptom 32-5. Your modem is receiving or transmitting garbage, or is having great difficulty displaying anything at all. Serial communication is totally dependent on the data frame settings and transfer rate of the receiver and the transmitter being an exact match. The baud rate, word bits, stop bits and parity must all match exactly or errors will show up. These errors can show as either NO data, or as incorrect data (garbage) on screen. You'll see this one crop up a lot when customers switch from calling a local BBS to CompuServe. Local BBS’s are usually set for 8 bit words, no parity and one stop bit. CompuServe, on the other hand, uses 7 bit words, even parity and 2 stop bits. The terminal software must be reconfigured to match the settings of each service being called. Most programs allow for these differences by letting you specify a configuration for each entry in the dialing directory. Also check the method of flow control being used (i.e. XOFF/XON, DTR/DSR, CTS/RTS) and make sure that it is set properly.
Baud rate mismatches most often result in what looks like a dead modem - often, nothing is displayed on either end. Modems will automatically negotiate a common baud rate to connect at without regard to the terminal settings. The modems will normally connect at the highest baud rate available to the SLOWEST modem, so if a 14400 bps modem connects to a 2400 bps modem, both will set themselves to 2400 bps. If the software on the higher speed modem is still set for the higher speed, you'll typically get large amounts of garbage, or nothing at all.
If the problem is a result of being connected to a service such as a BBS, call the SYSOP and find out the settings. You can also let the modem tell you what transfer rate it connects at. Before dialing, set a direct connection and send the command "ATQ0V1" to the modem. This tells the modem to send result codes in plain English. When connected, you'll see a message similar to "CONNECT 2400". The actual number you see is the bps rate, and you can reconfigure your software accordingly. Working out the word, stop and parity bits may be a process of trial and error, but almost all BBS installations use 8 data bits, no parity, and 1 stop bit. If you are forced to attempt trial and error, target one, item to get right at a time. First get the baud rates to match. Next get word bits settled down and then go for parity and stop bits. If you make more than one change you'll never know which change made the difference. It may SEEM slower, but your overall service time will be cut.
Symptom 32-6. The modem is connected and turned on, but there is no response from modem. The communication software’s configuration must match the port settings of the modem. Check to make sure that any modem parameters are entered and saved properly. Establish a direct connection with the modem and enter the "ATZ" command. This will reset the modem. The modem should respond "OK" or "0" (the numerical equivalent of OK). If that doesn't work, change to COM2 and try again, then COM3 and COM4. If none of the combinations work, check the DIP switches or jumpers on the modem for the correct configuration.
Symptom 32-7. The modem will not pick up phone line. The modem is not able to initiate a call or answer an incoming call. Most modems today come with two RJ11 telephone line connectors for the phone lines; one labeled "LINE" (where the outside line enters the modem) and the other labeled "PHONE" (where an extension telephone can be plugged in). Check that the outgoing telephone line is plugged into the LINE jack. Leave the PHONE connector disconnected while the modem is in use.
Test the modem manually by establishing a direct connection and typing a dial command such as "ATDT15083667683". When you enter this command string, the modem should go off hook, draw dial tone, and dial the numbers. If this happens as expected, you can be reasonably sure that the modem is working properly - and the communication software is at fault. Check the modem initialization strings, or try a new communication package. If the modem does not respond during a direct connection, check that the modem is installed and configured properly. You may need to try a new modem.
Symptom 32-8. The modem appears to work fine, but prints garbage whenever it's supposed to show IBM text graphics such as boxes or ANSI graphics. The communication software is probably set for 7-bit words. The IBM text graphic character set starts at ASCII 128 and has to have the eighth bit. Adjust the communication software configuration to handle 8-bit words. You may also be using an unusual ASCII character set during the connection - try setting the character set emulation to ANSI BBS or TTY.
Symptom 32-9. You frequently see strange character groups like "[0m" appearing in the text. These are ANSI control codes attempting to control your display. Popular among BBS software, ANSI codes can be used to set colors, draw ASCII boxes, clear the screen, move the cursor, and so on. DOS provides an ANSI screen driver called ANSI.SYS that can be loaded into the CONFIG.SYS when the computer is rebooted. Most of today's terminal software will offer a setting for this as well. If you are able to select character set emulation in your communication software, try setting to ANSI BBS.
Symptom 32-10. The modem makes audible "clicking" noises when hooked to phone line. There is probably a short in the phone line. The "clicking" is the noise of the modem trying to pick up when it sees the short and hang up when the short clears. Try replacing the line cord going from the modem to the telephone wall jack - line cords don't last very long under constant use and abuse. If problems continue, try using a different telephone line - the physical wiring may be defective between the wall jack and telephone pole. Contact your local telephone company if you suspect this to be the case. Next, try establishing a direct connection to the modem and enter an "AT&F" command which will restore the modem's factory default settings. If that clears the problem, the modem's initialized state may not be fully compatible with the current telephone line characteristics. Check each modem setting carefully and adjust parameters to try and settle its operation down. If factory default settings do not help and the telephone line seems reliable, there may be a problem with the modem's telephone interface circuit - try replacing the modem.
Symptom 32-11. The modem is having difficulty connecting to another modem. The modem is powered and connected properly. It dials the desired number and you can hear the modems negotiating, but they never quite seem to make a connection. This is a classic software configuration problem. You may often see a "NO CARRIER" message associated with this problem. Check each parameter in your communication software - especially the modem's AT initialization string. Make sure that each entry in the string is appropriate for your modem. If the string looks correct, try disabling the modem’s MNP5 protocol. You will have to refer to the modem's manual to find the exact command, but many modems use "AT\N0". If your modem is using MNP5 and the destination modem does not support it, the negotiation can hang up. If problems persist, try lowering the modem’s data transfer rate. While most modems can set the proper transfer rate automatically, some modems that do not support it may also cause the negotiation to freeze.
Another problem may be that your modem is not configured to wait long enough for carrier from the remote modem. You can adjust this delay by entering a larger number for S-register S7. Start the communication software, establish a direct connection (terminal mode), and type "ATS7?" followed by the <Enter> key. This will return the current value of register S7. You can then use the command "ATS7=10" to enter a larger delay (in this case, 10 seconds). That should give the destination modem more time to respond. If all else fails, try a modem from a different manufacturer.
Symptom 32-12. The modem starts dialing before it draws dialtone. As a result one or more of the numbers are lost during dialing making it difficult to establish a connection. Chances are that the modem is working just fine, but the modem does not wait long enough for dial tone to be present once it goes off hook. The solution is to increase the time delay before the modem starts dialing. This can be done by changing the value in S-register S6. To find the current value, start the communication software and establish a direct connection (terminal mode), then type "ATS6?" followed by the <Enter> key. This queries the S-register. You can then enter a new value such as "ATS6=10" to provide a 10 second delay.
Symptom 32-13. The modem has trouble sending or receiving when the system's power saving features are turned on. This type of problem is most prevalent with PCMCIA modems running on a notebook PC. The power conservation features found on many notebook systems often interferes with the modem's operation - proper modem operation typically relies on full processing speed which is often scaled back when power conservation is turned on. Ultimately, the most effective resolution to this problem is simply to turn the power conservation features off while you use the modem (you can reset the power features later). However, it may be possible to correct these types of problems using a BIOS upgrade for the mobile PC, or an updated modem driver.
Symptom 32-14. You see an error such as; "Already on line" or "Carrier already established". These types of errors often arise when you start a communications package while the modem is already on-line. You might also find this problem when the Carrier Detect (CD) signal is set to "always on" (using a command string such as "AT&C0"). To make sure that the CD signal is on only when the modem makes a connection, use a command string such as "AT&C1&D2&W". The &W suffix loads the settings into non-volatile RAM. If this problem arises when you hang up the connection without signing off the modem, you will have to reboot the system to clear CD - "AT&F" and "ATZ" will not clear the signal.
Symptom 32-15. The modem refuses to answer the incoming line. First, make sure to set the communication software to answer the calling modem - or set the modem to auto-answer mode (set S-register S0 to 1 or more. On external modems, you will see the "AA" LED lit when the auto-answer mode is active. Problems can also occur if your external modem does not recognize the DTR signal generated by the host PC. The command "AT&D" controls how the modem responds to the computer's DTR signal. An external modem turns on the TR light when it is set to see the DTR signal. If the TR light is out, the modem will not answer (regardless of whether the auto-answer mode is enabled or not). Use the "AT&D0" command if your serial port does not support the DTR signal, or if your modem cable does not connect to it. Otherwise, you should use the "AT&D2" command.
Symptom 32-16. The modem switches into the command mode intermittently. When this problem develops, you may have to tweak the DTR arrangement. To correct this fault, try changing the modem's DTR setting using the command "AT&D2&W".
Symptom 32-17. Your current modem won’t connect at 2400bps with a 2400bps modem. This is a compatibility issue between vastly different generations of hardware. The modem you’re trying to connect with is almost certainly an older model that doesn’t support error control (i.e. MNP protocols). You can disable error control on your modem with the command "AT&M0" <Enter> and try placing the call to the modem again. When you’re finished, reset your modem with "ATZ" to re-enable the error control features.
Symptom 32-18. The communications software is reporting many cyclic redundancy check (CRC) errors and low characters per second (CPS) transfers. This may simply be a matter of a poor phone connection established through the telephone network. Try making the call again - chances are that the call will be routed differently, and result in a more reliable connection. Next, check the flow control scheme (i.e. XOFF/XON, CTS/RTS, and so on) to verify that it is optimum, or type "AT&F1" from the terminal mode to load the optimum flow control setting. The serial port rate in your communications software may be set too high for your modem’s UART, or your area’s phone lines. Try lowering the serial port rate in your communications software to 38400 bps or 19200 bps (or lower for slower modems). The remote site you are dialing into may have trouble with the file transfer protocol you’ve selected. Try using a different file transfer protocol (such as Ymodem-g rather than Zmodem). Do not use Xmodem if other protocols are available. Finally, there may be a TSR program running in the background and interfering with data communications. Disable any TSR programs running in the background, and try the communication again.
Symptom 32-19. Errors are constantly occurring in your V.17 fax transmissions. As a rule, sending fax transmissions over a modem should present no special problems for a PC, but there are some issues to keep in mind. First, your modem initialization string could be insufficient or incomplete for fax transmissions. Enter the correct initialization string for fax support (i.e. "AT&H3&I2&R2S7=90"). You could also have a disruptive TSR program running in the background. Disable any TSR programs and try the communication again. There could be an outdated comdriver on your system. Load the comdriver that came with your fax software (this may require you to re-install your internal modem). Finally your baud rate may be set too high. Try a lower baud rate of 9600 bps.
Symptom 32-20. During installation, a modem setup program cannot find the internal modem. In virtually all cases, you have a hardware conflict between the modem and another device in the system. Check the hardware installation first. For internal modems, make sure the IRQ and I/O address are set correctly, and see that there are no other devices using the same IRQ or I/O space as your modem. Under Windows 95, the Device Manager can usually display any conflicting devices with yellow icons (exclamation marks). Next, make sure that the modem is inserted properly into its bus slot. If any of the card’s gold "fingers" appear corroded or soiled, clean the fingers gently with a pencil eraser. Try the modem in another bus slot. Finally, check the modem switches. Most external modems use a series of DIP switches to configure its various features. Refer to the modem’s documentation and see that any modem switches are set properly.
Symptom 32-21. After installing a new internal modem, the system mouse driver no longer loads, or the mouse behaves erratically. In virtually all cases, there is a hardware conflict between the new modem and the existing mouse port. Check the hardware installation. If the mouse is connected to a COM port, make sure that your internal modem is set to use a different COM port. You may need to disable COM2 on the motherboard or I/O controller and set up the modem as COM2. Under Windows 95, the Device Manager can usually display any conflicting devices with a yellow icon (exclamation mark).
Symptom 32-22. After installing modem driver software, Windows locks up or crashes. This is almost always the result of a defective or outdated modem driver. Check the software installation. Make sure that the modem driver software you have installed is the proper version for the particular modem, and your version of Windows (i.e. 3.1, 3.11, or 95). You can usually check the driver version on the modem’s manufacturer’s BBS, CompuServe forum, or Internet web site. If you do find that the modem driver is incorrect, run any "uninstall" utility that accompanied the software in order to remove the driver cleanly - otherwise, you’ll have to remove the modem driver references from SYSTEM.INI manually. Under Windows 95, you can often Remove a device from the Device Manager, then allow Windows to re-detect the modem during the next boot (and reinstall the new drivers at that point).
Symptom 32-23. DOS communication software works fine, but Windows communication software will not. You may also see Windows error messages suggesting that certain files are missing. In most cases, the modem drivers (and any required parameters) have not been loaded properly. Check the software installation and make sure that the modem driver software you have installed is the proper version for the particular modem, and your version of Windows (i.e. 3.1, 3.11, or 95). Try uninstalling the modem drivers (if possible), then reload the drivers from scratch - making sure that they are set up properly for your system configuration. Next, check the manufacturer’s BBS, CompuServe forum, or Internet web site for any adjustments or workarounds that may be required for your particular modem and drivers. You may need to make manual adjustments to SYSTEM.INI and WIN.INI files, as well as the Windows 95 Registry files.
Symptom 32-24. You cannot get the modem’s "distinctive ring" feature to work. Some new modems support the "distinctive ring" service provided by many telephone companies. This allows the modem to reside on the same physical telephone line as other devices, but only answer when the proper ringing pattern is received. Improper modem configuration is the most common problem. Try calling the distinctive ring numbers associated to your telephone line and see that each number rings with the required pattern. Note that the "distinctive ring" service is not available from all telephone companies and service areas. Next, check the initialization string for S101. Modems supporting "distinctive ring" usually control the feature through register S101. A typical AT command string may appear such as "AT&FS101=60". A typical setting list is shown below:
NOTE: to specify a particular ring type, you must DISABLE the other ring types with this register.
Next, check the initialization string for -SDR. Rather than using S-register 101, some modems use the -SDR command to configure "distinctive ring" operation. A typical AT command string may appear such as "AT&F-SDR=1". A setting list is shown below:
Symptom 32-25. You cannot get the modem’s "caller ID" feature to work. Some new modems support the "caller ID" service provided by many telephone companies. This allows the modem to identify the telephone number and caller to the computer’s communication software when the ringing line is answered. Improper modem configuration is the most common problem. Before you do anything else, check the "caller ID" service. Connect any "caller ID"-compatible telephone or phone box to the telephone line and make sure that the ID service is working properly. Note that the "caller ID" service is not available from all telephone companies and service areas. Also, remove other "caller ID" devices. It is possible that other "caller ID"-compatible telephones of phone boxes may be interfering with the modem. Try removing any other devices from the phone line. Check the initialization string for %CCID. Modems supporting "caller ID" usually control the feature through a %CCID command. A typical AT command string may appear such as "AT&F%CCID=1". A setting list is shown below:
Finally, check the initialization string for #CID. Rather than using the %CCID command, some modems support "caller ID" using the #CID command. A typical command string may appear such as "AT&F#CID=1". A setting list is shown below:
NOTE: There are two special messages that may be sent instead of Caller ID information. "O" means that the caller is Out of the Caller ID service area - usually a long distance call. "P" is for Private and will be displayed for callers who have made arrangements with their phone company to have their numbers blocked.
Symptom 32-26. You cannot recall previous "caller ID" data. This assumes that normal "caller ID" features are proven to be working correctly. In most cases, your communication software is not sending the correct AT command to your modem. Check the "caller ID" feature and make sure that "caller ID" is enabled using the %CCID or #CID commands as in Symptom 32-25. "Caller ID" MUST be enabled first before data can be recalled. Check the initialization string for %CRID. "Caller ID" data can typically be recalled using the %CRID command such as "AT%CRID=0" (recall formatted data) or "AT%CRID=1" (recall unformatted data).
Symptom 32-27. The modem will not provide synchronous communication. Modems are typically asynchronous devices, but most can be configured for synchronous communication with host systems such as mainframe computers. If your modem will not work in synchronous mode, chances are that the modem is not configured properly. You must configure both the originating modem and the answering modem. The originating modem will be configured for synchronous originate mode and will dial a stored number when a connection is attempted. You will need a dumb terminal or terminal emulation software to configure the modem:
Next, configure the answering modem. The answering modem must be configured for synchronous answer mode. Although the answering modem is usually attached to the mainframe host system, you will first need to connect it to a dumb terminal for configuration. To configure the answering modem:
Now, disable command recognition. After each modem has been configured properly, the command recognition should be disabled as follows:
Finally, establish a synchronous connection. Attach the originating modem to the SDLC or synchronous port and turn the power on. When a connection is attempted, the modem will automatically dial the stored number and attempt to connect to the other modem. Attach the answering modem to the synchronous port on the host system. The modem will answer incoming calls in "&Q1" synchronous mode.
Symptom 32-28. The modem appears to be set up and configured properly, but it is experiencing data loss. Such symptoms may appear as excessive file transfer errors, missing text or characters, and jumbled ASCII text. Though modern modems are capable of data rates up to 230400 bps, data rates over 19200 bps can cause problems for older PCs due to inadequate serial port hardware. Check the UART first - your serial ports should be using 16550A UARTs for optimum performance. If the UART is older, data throughput will be limited. If you cannot upgrade the UART IC directly, you can often disable the existing serial port and install an upgraded I/O board. Any diagnostic program such as MSD can identify the UARTs in your system. Check your modem drivers and make sure that the modem driver software is up to date and optimized for your particular version of Windows (i.e. 3.1, 3.11, or 95). Finally, reduce your data rates. If you cannot resolve the problem through a driver or new UART, try reducing the modem’s data rate in your communication software.
Symptom 32-29. When running modem software, you see an error such as; "Can't run on a Plug and Play ready system". In most cases, the PCMCIA modem is incompatible with a PC’s PnP architecture. Check your PnP driver. You may need to load an alternative PnP driver for your modem. Check with the modem manufacturer’s BBS, CompuServe forum, or Internet web site to obtain any updated driver software. You may need to disable the existing DOS PnP driver in CONFIG.SYS.
Symptom 32-30. The modem appears to be setup and configured properly, but it regularly connects at slower speeds than it is capable of. There are several different factors that can account for such a problem. First, modems can only connect at the maximum speed of the slowest modem. If the remote modem is slower than yours, your connection speed will be limited. Try connecting to a faster BBS or other online connection. Check the modem initialization string next - there may be one or more important commands missing from the command string. Look for the recommended initialization string in the modem’s documentation. Also see that the correct modem is selected in the communication software. Check the modem’s firmware version. Use the ATI3 command to check the modem’s ID information (including the firmware revision). If the firmware is old, it may need to be updated. If the firmware is very new, it may contain a bug that the manufacturer should be made aware of. Finally, try a different phone line. Faulty of noisy telephone connections can reduce effective communication speed. Try the call at an "off time", or try calling on a different phone line.
Symptom 32-31. Windows 95 insists on assigning the modem to COM5. You will need to reconfigure the modem’s port assignment through the Control Panel. First, you’ll need to remove any unused modem entries. Software that has been loaded for previous modems may interfere with the current modem’s software. Remove unused modem hardware references through the Device Manager:
Next, verify the modem on COM5. Check to see that the modem is identified and checks properly before continuing:
1. Select My Computer, double-click on Control Panel, then choose Modems.
2. Select the Diagnostics tab.
3. Highlight COM5 and press the More Info... button.
4. Verify that the modem responds to the "ATI3" command with its proper ID information.
5. Click OK.
Now find an unused COM port. Check the Diagnostics screen and examine the COM ports in use - any ports not in use are available. Next, use REGEDIT.EXE to edit the Windows 95 Registry. You can change the COM port assignment by adjusting the Registry:
NOTE: Before attempting to edit a Windows 95 Registry file, make sure to have a complete backup of the registry files SYSTEM.DAT and USER.DAT.
Finally, check the updated configuration and verify that modem now works on new COM port:
Symptom 32-32. You cannot get the modem to work with a Winsock, but conventional BBS or CompuServe connections work fine. In almost all cases, one or more command strings in your Internet connection configuration files is causing an error with the modem. First, make sure that you are using the Winsock version that is appropriate for your particular Internet connection software. Next, check the configuration file. Contact your modem manufacturer to check on any fixes or workarounds, but some modems may not work with the default command strings provided with their Internet software. For example, the Motorola Power 14.4 PCMCIA modem will not work with Trumpet Winsock because of an error in the LOGIN.CMD file - the $modemsetup= string is wrong.
Symptom 32-33. You are having trouble configuring the modem for hardware and software flow control. This is usually due to invalid command strings. Try some generic command strings. The following two AT command strings can configure most Hayes-compatible modems for hardware or software flow control. Keep in mind that you may need to add additional commands in order to configure the modem completely:
Symptom 32-34. The modem will not establish a connection through a cellular telephone. In most cases, the modem is not configured properly. Check the SCM setting first - make sure that the Station Class Mark (SCM) level is set correctly. Try resetting the modem with an "AT&F1" command. Check the phone type. Make sure that the telephone is set to analog mode - the digital mode may interfere with modem operation.
Symptom 32-35. The modem will not fax properly through a cellular telephone. In most cases, the modem is not configured properly. Check the modem’s initialization string first, and make sure that the initialization string is set correctly. A basic command string may be "AT&F1E1V1&C1&D2\Q3S7=90S10=60" (though this may not work on all modems). Check the data rate next. For faxing, see that the data rate is set to 4800. You may use the command "AT%B4800".
Symptom 32-36. Windows 95 recognizes the modem, but 16 bit communications software will not see it. Windows 95 may not have updated the SYSTEM.INI file to reflect changes to the COM port settings. Check the SYSTEM.INI file. Your COM port base address and IRQs are defined in the [386Enh] section of your SYSTEM.INI file. Check these settings to make sure that they match your modems settings. The following lines need to be added to your SYSTEM.INI file in the [386enh] section:
com1irq=4
com1base=03f8
com2irq=3
com2base=02f8
com3irq=4
com3base=03e8
com4irq=3
com4base=02e8
Symptom 32-37. DOS ICU software is installed, but it will not allow configuring the modem on COM1 or COM2. The ICU software may be inappropriate for your particular modem and system configuration. Check with the modem manufacturer and see if there is a replacement DOS PnP driver or other workaround. If there is alternate PnP software available, you may need to remove the installation of ICU before proceeding:
Symptom 32-38. The modem’s flash ROM update will not install because it cannot recognize the modem’s current firmware version. This is invariably a problem with the flash ROM update software itself. Check the software source. Contact the manufacturer to see if there is a corrected update available, or see if there is a workaround to the problem. There may be one or more command line switches that can override the update’s firmware auto-detection.
Symptom 32-39. The modem establishes connections properly, but it frequently drops connections. Both hardware and software issues can cause this kind of trouble. Problems with the telephone connection itself can cause connection problems. Try connecting to various different places. If problems seem to occur more frequently in one connection over another, the remote location may be suffering from communications problems. Also try using a different local telephone line. Next, check the modem’s initialization string and make sure that the modem is setup properly for data compression and error correction. Finally, check the Windows driver. If you are using Windows-based communications software, it must be able to support high speed. The standard Windows drivers will not support 28.8KB operation unless third-party communications software modifies it (though Windows 95 drivers are more current). To find out what communications driver you are currently using, review the [Boot] section of your SYSTEM.INI file.
Symptom 32-40. When selecting a modem in your communication software, your particular modem is not listed. You will need to obtain the proper driver supplements from the modem manufacturer (or software maker). Try running the modem as a Hayes-compatible - virtually all modems will function as generic Hayes-compatible modems "AT&F&C1&D2".
Symptom 32-41. It seems to take the modem an unusually long time to hang up. The carrier delay time is probably set too long. Check the carrier delay time. Modems can be set to wait (often as long as 25 seconds) after a carrier is lost to see whether it comes back - if you frequently encounter poor signal quality, this can be quite convenient. After a legitimate hang-up, however, the modem may continue to wait. In this case, you may want to set the value of the S10 register to a low number - 10 or less.
Symptom 32-42. The modem is configured as COM4 (IRQ3) under Windows 95, but the modem refuses to work. There may be a hardware acceleration issue. Go into the Windows 95 Control Panel, double-click the System icon, select Performance, and then click Graphics. Set Hardware Acceleration to "None" and try the modem again. Some advanced modem manufacturers have found there to be an addressing conflict with certain graphic accelerator cards. If you configure your Windows 95 graphic driver to basic VGA, and find the modem now works at that setting, then the problem is probably an addressing conflict with your graphics card. You may want to try using one of the more commonly used COM port and IRQ settings such as:
Symptom 32-43. When auto-detect tries to add a new modem at COM2, Windows 95 locks up. Open the Control Panel (System Settings) and deselect COM2. This can be accomplished by selecting COM2 under System Settings, then choosing Properties. There should be a red "X" in a box down towards the bottom of the Properties screen. Click once on the red "X" and it should clear. This disables the COM port in Windows 95. Click OK, then restart the machine. When Windows 95 restarts, it should now find the COM port. This technique can apply to all available COM ports.
Symptom 32-44. HyperTerminal works using PCMCIA support under Windows 95, but no 16-bit communication programs work. Using a text editor, edit the SYSTEM.INI file in your Windows directory. Under the [386Enh] section of your SYSTEM.INI file, change the COMM.DRV line back to its original COMM.DRV. This line should read comm.drv=comm.drv. Also check that there is a line that states device=*vcd. If your SYSTEM.INI has a line that reads device=*vrdd, place a semicolon in front of it. Your 16-bit applications should now work.
Symptom 32-45. A Winmodem installed correctly and responds to AT commands fine, but whenever you call out, the modem makes a 9600 V.34 connection. This is typically due to a problem with the current communications driver. Adding the following line:
ForceBridgeOrRouter=TRUE
to the SYSTEM.INI file may correct this problem by bypassing the current communications driver and going directly to the Winmodem driver. You should also make sure that your Port Rate is set to 19200 in your Control Panel (Port Settings) in Windows 3.1x, and that it is set to 38400 or higher under Windows 95.
Symptom 32-46. Windows 95 never detected the Winmodem. First, make sure that the system has a free COM port or IRQ to use. If the Winmodem was previously installed on the system with Windows 3.1x running, you’ll need to search the SYSTEM.INI and WIN.INI files and remove all Winmodem settings so that Windows 95 can detect the Winmodem properly. Under Windows 95, make sure that the modem is not listed in the Device Manager under Other Devices. If it is, delete it and reinstall. Next, make sure the Winmodem’s key ("USR1001" for the USR Winmodem) is not in the Registry.
Further Study
That’s all for Chapter 32. Be sure to review the glossary and chapter questions on the accompanying CD. If you have access to the Internet, take a look at some of the modem/fax card resources listed below:
Boca Research: http://www.bocaresearch.com
Cardinal: http://www.cardtech.com/
Diamond Multimedia: http://www.diamondmm.com
Hayes: http://www.hayes.com/
ITU: http://www.itu.com
Motorola: http://www.mot.com
Practical Peripherals: http://www.practinet.com/
US Robotics: http://x2.usr.com/
Zoom Telephonics: http://www.zoomtel.com/
Chapter: 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 |
| Reserve your copy at a Beta Bookstore near you! |
Contact Bet@books © 1998 The McGraw-Hill Companies, Inc. All rights reserved. Any use of this Beta Book is subject to the rules stated in the Terms of Use. |