CCSO User Guide 501: Modem Basics and Setup by Mark S. Zinzow (Tenth composition draft Tuesday, November 1, 1994) Introduction This document provides an introduction to modems and the information necessary to configure them and solve basic problems. It begins with an overview of some of the basic signals the RS-232 serial interface uses to connect an external modem to a computer. The importance of these signals for proper operation of the modem will be discussed in terms of both modem and software configuration. Other modem features and tables of common modem control commands for setting them will be presented, followed by trouble-shooting ideas for common problems, general tips and tricks, and a list of references for further reading. The Modem Plug (RS-232 Interface overview) The EIA (Electronic Industries Association) RS-232 standard specifies signals for serial interfaces used to connect computers and modems. For technical precision, the terms Data Terminal Equipment (DTE) and Data Communication Equipment (DCE) are used to distinguish between the computer and the modem, respectively. This is useful because serial interfaces are used for many things besides computers and modems such as dumb terminals, plotters, scanners, printers, etc. These terms are important because they are used to define the interface signals. A different type of serial cable is needed to connect a modem to a computer (DTE to DCE connections use a modem cable) than is used to, say, connect one computer to another (DTE to DTE connections use a null-modem cable). Null modem cables are used by such PC programs such as Lap-Link, or the MS-DOS INTERLNK command. The standard is based on a 25-pin connector, of which ten connections are commonly used. The names of the signals and the pin designations on a standard DB25 pin connector are: protective (frame) ground 1, transmit data 2, receive data 3, request to send 4, clear to send 5, data set ready 6, signal ground 7, carrier detect 8, data terminal ready 20, and ring indicator 22. Many manufacturers have designed serial connectors that use fewer connections, such as the IBM AT DB9 connector, or the Macintosh DIN 8. To simplify discussion of these signals this document will generally only refer to pin designation numbers for the standard 25-pin connector (DB25). Modem cables for computers with non-standard connectors are usually available which provide a DB25 connector at the modem end with a subset of the 10 connections mentioned above. Three of these connections are absolutely essential: transmit data, receive data, and signal ground. The transmit data line is where data are transmitted from the computer (DTE) to the modem (DCE). The receive data line is where data are received from the modem (DCE) by the computer (DTE). Signal ground is the reference against which all other signals apply voltage. Think of a battery and a light bulb: it is not possible for current to flow without two wires. Signal ground is the second wire for all the other signals. Here is a table with signal abbreviations and descriptions of other important signals: Table 1 RS232C Standard Source Pin-Function Designations Explanation - 1 PG Ground (protective) Ground connection for equip. frame and/or power cord. DTE 2 TD Data (Transmit) Information sent from the computer or terminal (DTE). DCE 3 RD Data (Receive) Information sent from the modem (DCE) to the DTE. DTE 4 RTS Request to Send Originally intended for the DTE to request to send data during half duplex operation (where data can only be sent in one direction at a time), this signal is now used in full duplex (bi-directional communication) to indicate to the DCE that the DTE is ready to receive data and the DCE may send data. This is a signal from the computer telling the modem when to send data. DCE 5 CTS Clear to Send Originally used by the DCE to indicate the DTE may transmit in half duplex mode in response to RTS, it is still used to indicate the DTE may transmit for hardware flow control under full duplex operation. This signal is used by the modem to tell the computer when to send data. DCE 6 DSR Data Set Ready Indicates the DCE is connected and ready to go. - 7 SG Ground (signal) Ground connection to which other signals are referenced. DCE 8 CD Carrier Detector Indicates an acceptable signal received between DCE's. or DCD Data Carrier Detect In essence it says the modem can hear another modem at the other end of the phone line. - 9 Data Set Test - 10 Data Set test - 11 Unassigned DCE 12 SDCD Secondary Carrier Detector DCE 13 SCTS Secondary Clear to Send DTE 14 STD Secondary Data (Transmit) DCE 15 TC Xmit Clock (DCE) DCE 16 SRD Secondary Data (Receive) DCE 17 RC Rcvr Clock (DCE) - 18 Unassigned DTE 19 SRTS Secondary Request to Send DTE 20 DTR Data Terminal Ready Indicates the DTE is connected and ready to go. Dropping this signal is often used to quickly hang up the phone and disconnect a modem. DCE 21 SQ Signal Quality Detector Indicates a low-grade signal on the line. DCE 22 RI Ring Indicator Indicates an incoming call ring signal. DTE/DCE 23 Data Signal Rate Selector DTE 24 Xmit Clock (DTE) - 25 Unassigned Cable Diagram showing direction of signals with arrows -> <- DTE (Computer) 1 FG FG 1 DCE (Modem) 2 TD data -> TD 2 3 RD data <- RD 3 4 RTS flow control -> RTS 4 5 CTS flow control <- CTS 5 6 DSR modem control <- TD 6 7 SG SG 7 8 DCD modem control <- TD 8 20 DTR modem control -> TD 20 22 RI modem control -> TD 22 One can see that these signals provide for more information to be exchanged between a computer and a modem than just the text or other data going between the computers connected by modems. Many modems will not transmit or dial without the DTR signal. Many computers or communications programs will not transmit without the DSR or CD signals. CD is used by the host computer or BBSs to determine if a caller has hung up or been disconnected. Devices such as breakout boxes or data line monitors can be plugged into serial cables to display these signals on LEDs, and can be very useful for diagnosing problems. Flow control is a mechanism for various communication devices to deal with one device sending data faster than the other can receive it. Flow control works by allowing one device to ask the other to pause while it catches up. There are three common types of flow control used: hardware, software, and none. Flow control is not necessary when the transmission speed is very slow, such as 300 baud or 300 bits per second (bps), and the devices at each end are reasonably fast. (Technically baud means signal transitions per second, which is not the same as bits per second (bps) because with higher speed modems a single signal can designate more than one bit of data. Hence a 9600bps modem may technically only transmit at 2400 baud. For this reason bits per second (bps) is the preferred term to use when describing modem speed; however, many people continue to use the term baud when they mean bps.) Software flow control (often called XON/XOFF flow control, or Ctrl-S/Ctrl-Q flow control) uses data characters to indicate that data flow should start and stop. The characters normally (but not always) used are Control-S/Control-Q, also known by the names XON and XOFF for transmission on and transmission off, respectively. It is handy for a human (as well as a device) to hit Ctrl-S to stop text from scrolling on the screen, and then Ctrl-Q to resume the flow of characters. Sometimes a program or line noise can generate a Ctrl-S when the user does not expect it, then if the modem or host computer are using software flow control, things appear to hang until Ctrl-Q is pressed. Software flow control can be used with a serial cable that has only three wires in it, but generally it is slower and less desirable than hardware flow control. It is not suitable for binary file transfers because binary files may contain the flow control characters. A problem with software flow control is that flow control characters generally cannot be sent to the remote host when they are used to control the local modem. Error control protocols provide flow control between the modems without using data characters so configuration options are possible to pass these characters on to the remote host with or without the local modem acting upon them for local flow control. Hardware flow control (also known as RTS/CTS flow control) uses wires in the modem cable, or hardware built into most internal modems. Sometimes the CD/DTR signals are used for flow control when the RTS/CTS signals are not available (or, as on Apple Macintosh Computers, where one handshake in signal and one out are provided that can be used as DTR and CTS for unidirectional modem (DTR) and flow (CTS) control). Hardware flow control should be used with all high speed modems, and with modems that provide data compression. This must be configured both in the communications software and the modem setup. Flow control is very important since there can be three different data rates between two computers (DTEs) connected by modems: the data flow rate between the computer and modem that originates a call, the data flow rate between the two modems, and the data flow rate between the modem and computer that answer the call. In unusual cases one could theoretically have six different rates should the transmit and receive speeds differ! Communications devices that use different transmit and receive rates are common, especially when satellite transmissions are involved. Interactive cable would be another example. The important thing to consider about all these different rates is the one between one's modem and computer. This is often referred to as the DTE rate. With 300, 1200, and 2400bps modems, the convention was that the modem would display a CONNECT message indicating which of these speeds was negotiated when the modems handshaked, and then switch to that rate. The communications software or the user would then have to switch the speed at which the computer's serial port was operating to match. Many modem manuals describe this as "DTE to DCE rate follows link rate". With this convention, flow control was not usually needed or used. With high speed modems and modems that provide data compression, the DTE rate is fixed, usually at a higher rate than the link rate (the actual transmission speed of the modems on the phone line). This rate difference, sometimes called speed buffering, allows a modem to appear faster than it actually is by representing the data in fewer bits between the two DCEs than are used between the DTEs and the DCEs. This re-representation of bits to gain additional speed is called data compression. Because the modem receives bits of data faster than it needs to transmit them, it has a little time to group these bits and apply compression algorithms. Of course the modem on the other end must also have this speed differential for the data compression to result in better end-to-end throughput. For more discussion of modem speeds (modulation protocols), speed buffering, error correction, and data compression, please see any text on data communications, informational literature available from many modem manufacturers, or the document Modem Protocols Explained. URL: gopher://gopher.cc.columbia.edu:71/00/acis/datacom/modem.protocol s (URL stands for Uniform Resource Locator and is used by WWW clients such as Lynx or NCSA Mosaic to find and open documents. For more information on URLs see the URL: http://info.cern.ch/hypertext/WWW/Addressing/URL/Overview.html) Basic Modem Commands This document is not intended as a replacement for your modem owners manual or your communications software documentation, but it may serve as an introduction and perhaps even a supplement. Since many misplace or find their owners manuals daunting, modem command codes for a variety of modems will be listed here. Many believe that a modem advertised as "Hayes compatible" means that a modem uses one set of commands. This is not true. Hayes compatible modems loosely follow the command set of the classic, but dated Hayes SmartmodemTM 300. All modem commands discussed in this manual are for modems that are considered at least in part Hayes compatible. A number of modems have been marketed with completely different command structures that will not be discussed here. When a modem is first turned on it will usually perform a self-test, initialize its features to stored or factory settings, and then start listening to the serial port. Serial communications require that both serial devices communicate at the same speed. Since the modem does not know what speed your computer will be using, it will usually auto-detect the speed and configure its serial port to match. This determines the initial DTE rate. The auto-detection process sometimes works best if the first characters sent to the modem are carriage return (enter) or a capital A. Hayes commands (except A/) begin with the AT command for attention and executed when the return or enter key is pressed. How you type commands to your modem depends on your communications software. In window based packages select the serial port and speed from a menu bar and then type them in the main window. Command based programs will usually require a command to get to the modem rather than the software prompt such as the Connect command (or just C) in Kermit. See the documentation for your software. A typical dialog between a user and a modem could look like this: AT OK ATD 1234567 CONNECT 9600 Some modems are case sensitive and will not respond to lower case "at" instead of "AT". If the AT characters do not appear on the screen but the OK response does, the AT E1 command can be used to tell the modem to echo command characters. The dial command D is usually given as DT for Dial Tone or DP for Dial Pulse. Most modems will default to pulse dialing if the T or P portion of the command is left out. Once enter is pressed after typing the AT D command followed by the phone number, the modem takes the phone line off hook and if it has a speaker one should hear a dial tone. The modem will either respond to the dial tone immediately, or wait the number of seconds specified by S register 6 (S6), usually depending on the result code setting set with the X command. (S registers are locations in the modem where settings are stored or status information can be examined. See Table 3.) Result codes are quite different from one modem to another, but usually configured with the V and X commands. V0 and V1 denote numeric and verbal result codes respectively. The number after the X denotes the amount of detail and sometimes other features. With X0 set a modem will report simply "CONNECT" after connecting. With X1 the speed will be indicated (e.g. CONNECT 1200, or CONNECT 2400). X1 uses blind dialing (after the S6 delay) as opposed to dial tone detection (usually X2 and above, or X and even numbers) Blind dialing is useful in several situations, on a pbx or phone system with an unusual dial tone (e.g. voicemail) that may not be detected by the modem, or when one wishes to dial a phone by hand and then force the modem on hook with the ATO command. Manual dialing is useful on modems that cannot handle extremely long phone numbers and access codes used by some long distance services (due to a 40 character command length limit), or occasionally some modems will break in a way that prevents them from dialing but they can still connect. Dial tone detection is usually preferred because the modem dials faster. AT X1 DT 1234567 AT X1 O The X1 result code is good for reliability, but the larger X numbers usually give more informative messages. Beware however that some of them can prevent a modem from connecting or dialing. For example the X5 or X6 settings on USR Courier HST and DS modems (at least the older models) attempt to detect a VOICE should a modem not answer. V.32bis connections are erroneously interpreted as voice and the connection is dropped (NO CARRIER) For brevity not all common commands will be discussed, but Table 2 is provided for a summary. Commands which are followed by a number assume the 0 value if no number is given. Multiple commands can be given after one AT prefix as in previous examples. Table 2 Common AT modem commands A Answer incoming call A/ Repeat last command. (Don't preface with AT. Enter usually aborts.) D Dial the following number and then handshake in originate mode. Dial Modifiers (These are common but most modems will have more.) P Pulse dial T Touch Tone dial W Wait for second dial tone , Pause for time specified in register S8 (usually 2 seconds) ; Remain in command mode after dialing ! Flash switch-hook (Hang up for a half second as in transfering a call) E Will not echo commands to the computer (also E0) E1 Will echo commands to the computer (so one can see what one types) H On Hook (hang up, also H0) H1 Off Hook (phone picked up) I Inquiry, Information, or Interrogation (This command is very model specific. I0 usually returns a number or code, while higher numbers often provide much more useful information.) L Speaker Loudness (L0 off or low volume) -\ L1 Low volume } Modems with volume control L2 Medium volume (usual default) } knobs will not have these. L3 Loud or high volume -/ M Speaker off (M0) (M3 is also common, but different on many brands) M1 Speaker on until remote carrier detected (until the other modem is heard) M2 Speaker is always on (data sounds are heard after CONNECT) O Return Online (O0 see also X1 as dial tone detection may be active) O1 Return Online after an equalizer retrain sequence Q Quiet mode Q0 displays result codes, user sees command responses (e.g. OK) Q1 Quiet mode, result codes are suppressed, user does not see responses Sn? Query the contents of S-register n Sn=r Store the value r in S-register n V non-Verbal (Numeric result codes V0) V1 Verbal english result codes (e.g. CONNECT, BUSY, NO CARRIER etc.) X Hayes Smartmodem 300 compatible result codes (X0) (Many have more than 4) X1 Usually adds connection speed to basic result codes (e.g. CONNECT 1200) X2 Usually adds dial tone detection (preventing blind dial and sometimes ATO) X3 Usually adds busy signal detection X4 Usually adds both busy signal and dial tone detection Z Reset modem to stored configuration (Z0, Z1 etc. for multiple profiles) (Same as &F (factory default) on modems with out NVRAM (non volatile memory) &C0 Carrier detect (CD) signal always on &C1 Carrier detect indicates remote carrier (usual prefered default) &D0 Data Terminal Ready (DTR) signal ignored (See your manual on this one!) &D1 If DTR goes from On to Off the modem goes into command mode (some modems) &D2 Some modems hang upon DTR On to Off transition. (usual prefered default) &F Factory defaults (Most modems have several defaults &F1, &F2, etc.) &P (&P0) U.S./Canada pulse dialing 39% make/ 61% break ratio &P1 U.K./Hong Kong pulse dialing 33% make/ 67% break ratio &T Model specific self tests on some modems &V View active (and often stored) configuration profile settings (or ATI4) &W Store profile in NVRAM (&W0, &W1 etc. for multiple profiles) Some settings cannot be stored. These often don't show on &V or ATI4 &Zn=x Store number x in location n for AT DS on some modems Table 3 S-registers Register Range Default Function S0 0-255 rings 1-2 Answer on ring number Don't answer if 0 S1 0-255 rings 0 If S0>0 this register counts incoming rings S2 0-127 ASCII 43 + Escape to command mode character S2>127 no ESC S3 0-127 ASCII 13 CR Carriage return character S4 0-127 ASCII 10 LF Line feed character S5 0-32,127 ASCII 8 BS Backspace character S6 2-255 seconds 2 Dial tone wait time (blind dialing, see Xn) S7 1-255 seconds 30-60 Wait time for remote carrier S8 0-255 seconds 2 Comma pause time used in dialing S9 1-255 1/10 sec. 6 Carrier detect time required for recognition S10 1-255 1/10 sec. 7-14 Time between loss of carrier and hang up S11 50-255 millisec. 70-95 Duration and spacing of tones when tone dialing S12 0-255 1/50 sec. 50 Guard time for pause around +++ command sequence Many modems have dozens, even hundreds, of S registers, but only the first dozen or so are fairly standard. They are changed with a command like ATSn=N, and examined with ATSn? (e.g. AT S10=70 S1? would tell the modem not to hang up for seven seconds should it not hear the answering modem, and return the number of times the phone last rang.) Modem Installation External modems are installed by plugging the power cord into a wall outlet or power strip, plugging the serial cable into the serial connectors on the modem and the computer, and plugging the phone cable from the wall into the modem, and often plugging a phone into the modem as well. PC Internal modems can be more complicated. On Intel based or IBM compatible systems one must first decide on the port I/O address and on the IRQ address to configure the modem. Generally the modem should be installed at the next available address. If the system has two serial ports, the modem should be configured for COM3. If one is not familiar with the hardware installed in the system, one can run MSD (if one has MS Windows or a recent MS DOS ) to view the communication port configuration before installing the modem. On older systems the DOS debug command can be used to determine the number of already installed ports as in the following example: C:\>debug -d 40:0 com1 com2 com3 com4 0040:0000 F8 03 F8 02 00 00 00 00-78 03 00 00 00 00 00 00 ........x....... 0040:0010 63 44 FF 80 02 00 08 00-00 00 1E 00 1E 00 79 15 cD............y. -q At the DOS prompt one types the debug command. The D command is used to display memory at segment 40 offset 0 where the BIOS serial port table is kept. Each pair of hexidecimal digits represents an installed port address in low/high byte format. In this case COM1 is installed at address 03F8, and COM2 is at 02F8. This information is provided to DOS during the boot process by the ROM BIOS. Older versions of DOS, and older BIOS software on 286 "AT" systems and previous only supported two comm. ports, so inspection of installed boards and owners manuals is necessary to rule out the possibility of a third comm. port when two are already present on these systems. For information on identifying cards and resolving conflicts see the URL entitled: Apendix A: PC System Resources commonly used by Ethernet Cards http://tampico.cso.uiuc.edu/nas/nash/pc.ethernet/pc.ethernet.html #A Generally the owner's manual and installation guides that come with the computer and modem cover the details of setting the address via jumpers or dip switches. Laptops often have power saving features that disable a modem or serial port until it is activated via software. Sometimes this is an option in the system setup. Other times a utility program is included for this purpose. Mac Apple Macintosh users generally need to use system extensions and/or control panel devices to activate their internal modems. Unix Unix workstations usually require the system administrator to perform several configurations which usually include modifying the files /etc/ttys and /etc/gettytab among others. These files have man pages on most unix systems which usually cross reference other relevant documents. Modem Configuration Modem configuration is often regarded as one of those arcane mysteries to only be understood by computer nerds. Many users ask for optimal initialization strings for their particular modem, and many are posted on BBSs and newsgroups (e.g. comp.dcom.modems). If one takes the time to learn some of the basic features available in most modems, one can see that these strings are merely a series of commands that enable, disable, or specify parameters for these features. Most modem manufacturers chose reasonable default values for these features in hopes that the modem will be usable with little or no configuration. Unfortunately these defaults vary from one brand (or model) of modem to another, and settings will depend on the features of the computer and communications software, as well as those of the system one wishes to call. There are two ways to configure a modem: storing the configuration in the modem or storing initialization strings in one's communications software. The former is generally simpler, but not a feature of all modems. The latter can be more cumbersome, but allows for greater flexibility in allowing different configurations for calling different services. Here are a few examples: AT S0=0 &B1 &H1 &W Set no answer, CTS flow control, fixed DTE rate, and store the configuration on a U.S. Robotics modem such as a Courier or Sportster. AT S0=0 &K3 &W Set no answer, hardware flow control, and store on a modem based on the Rockwell RC144AC chip set such as the Gateway Telepath. Tables 2,3,4 and 5 should prove helpful in selecting the optimal configuration settings for your modem. Some ZyXEL modems require the ATZ command for &W to take effect. A break signal is a special signal (not a character) implemented by inverting the carrier signal for at least the time it would take to transmit two characters and a few extra bits. It is used by Cisco terminal servers to return to a terminal server command prompt when in transparent mode (for file transfers, set with the TERMINAL DOWNLOAD command). Some modems have a special command \Bn to send a break signal, others must be configured to transmit it or use it like DTR to hang up or enter command mode with \Kn. (((Note this table will be flipped so the features are on the left and the modems accross the top and hopefully greatly expanded.))) Table 4 Flow control and related commands Hardware | | Software |None | DTE rate Bidirectional|Unidir. |H&S |Bidirec.|Unidirect. | Modem RTS/CTS|CTS*|RTS*|Both|XON/XOFF|DTE* DCE*| |Fixed Adjusting | | | | | | | | | LineLink 144e &K3| | | | &K4 | | | &K0 | | or \Q3|\Q2 | | | \Q1 |\Q4 | | \Q0 | | | | | | | | | | | Rockwell Chips | | | | | | | | | RC144AC &K3| | | | &K4 | | | &K0 | | RC144DP \Q3|\Q2 | | | \Q1 |\Q4 |\G1| \Q0 | \J0 | \J1 US Robotics &H1&R2&H1&R1 &R2 &H3| |&H2 | |&H0&I0| &B1 &B0 | | | | | | | | | ZyXEL U-Series &H3| | | | &H4 | | | &H0 | &B1 &B0 | | | | | | | | | Your Modem ___|____|___|____| ____ |____|___| ___ | ____ | ____ !! ! !! *Unidirectional flow controls rather than bidirectional. "Transmit Data (TD) Flow Control" CTS The DCE (modem) controls data from the DTE (computer) {Hardware} DTE The DCE (modem) controls data from the DTE (computer) {Software} "Received Data (RD) Flow Control" RTS The DTE (computer) controls data from the DCE (modem) {Hardware} DCE The DTE (computer) controls data from the DCE (modem) {Software} Table 5 Error Control and Data Compression Error Correction Protocols V.42(LAPM & MNP2-4) ... Supra, most Rockwell based modems, ... \A 64 character maximum MNP block size for stream links \A1 128 character maximum MNP block size for stream links \A2 192 character maximum MNP block size for stream links \A3 256 character maximum MNP block size for stream links Data Compression Supra, ... %D0 512 BLTZ Dictionary Size %D1 1024 BLTZ Dictionary Size %D2 2048 (default) BLTZ Dictionary Size %D3 4096 BLTZ Dictionary Size if one-way compression (%M1 or %M2) ... Error Correction and Data Compression Almost more confusing than the actual protocols and modem commands is the terminology used to describe error correction (also called error control). Error correction is similar to file transfer protocols such as Kermit, X, Y, or Zmodem. File transfer protocols break files up into chunks called packets. Error correction does the same thing except the blocks of data are called frames and are generally smaller than those typically used by modern file transfer protocols. In all cases additional information such as a checksum is added to the packet (frame) to verify that the data was undamaged in transit. If the data does not match the checksum the entire packet or frame must be resent. This technique trades off some speed for reliability. Like sliding-windows protocols several frames may be sent before an acknowledgment is required. The maximum data block size and the number of frames allowed before an acknowledgment is required are parameters negotiated by the modems when they connect. MNP (Microcom Networking Protocol) 2-4 and 10 are error correction protocols. V.42 is the standard which uses either LAPM (Link Access Procedures for Modems) error correction protocol or MNP 4, 3, or 2. MNP 5 is a data compression protocol. V.42bis is the standard for the BTLZ data compression protocol which is better than MNP 5. Direct, Normal, and Reliable Connections. Many modems will use these terms to distinguish between several types of modem configurations. A direct connection is the old-fashioned sort with no error correction or data compression. In a direct connection the DTE rate (computer serial speed) and the link rate (modem connection speed) must match. A normal connection uses flow control for speed buffering so the DTE and link rates may differ. A reliable connection uses flow control and will often hang up if error correction and data compression cannot be established. An auto-reliable connection is like a reliable one except the modem will fall back to normal or direct mode automatically rather than hang up. The \N command is common to control this, but it is not standard. Here are some example command summaries for a few common modems using \N: Supra FAXmodem v.32bis Bullet 14.4 \N Normal mode \N0 Normal data link \N1 Direct mode \N1 Direct data link \N2 MNP Reliable mode \N2 MNP reliable link \N3 AutoReliable mode \N3 MNP auto-reliable link \N4 LAPM/MNP Reliable Mode \N4 V.42bis reliable link with phase detection \N5 V.42bis auto-reliable link with phase detection \N6 V.42 reliable link without phase detection \N7 V.42 auto-reliable link without phase detection Software Configuration Generally no parity, eight data bits, one stop bit, and hardware flow control are the most common software settings. Probably the most complicated values to pick can be the DTE rate or serial port speed. This is most easily accomplished by starting at the link rate of the modem and trying successively higher speeds and observing the impact on performance. {Possible topics: Windows.ini or system.ini settings, 16550 buffered UARTs, ...} Common Problems and Solutions Problem: Modem won't dial: Try a regular phone on the modem line and listen for dial tone. If there is no dial tone the problem is the phone line and not the modem. Try X1 to disable dial tone detection. Try pulse dialing ATDP instead of ATDT. Try dialing manually with a phone and then use AT X1 O Problem: Modem dials but won't connect: Try adding commas after the phone number to increase the time the originating modem waits for carrier, or increase the value of S7. (e.g. AT S7=100 DT 1234567 or ATDT 1234567,,,,) Try X1 for simple result codes esp. if VOICE result appears after modem tone is heard. Try configuring for a slower link rate (set a lower port speed in your software or modem). Try disabling MNP 4,5, V.42, and V.42bis protocols each. Problem: Modem hangs up for no reason during a connection: Try \A0 for a 64 character maximum MNP block instead of the default 256 char. block. Disconnect all other phones and answering machines on the same line to see if any of them are interfering. Call your phone company if you can hear static on your lines. It is possible your modem may have a bug in its ROM, call your support line to check on the version of your ROM or for other problems unique to your modem. Problem: Zmodem file transfers don't work: Check parity. X, Y, and Zmodem require none (No Parity). Check flow control. Are the modem and software set the same, preferably RTS/CTS? When using a Cisco terminal server, use the TERMINAL DOWNLOAD command before logging into the host for telnet transparent mode, and use the rlogin command to connect instead of the default telnet protocol used when just the hostname is typed. Use the -l and -L sz options to require acknowledgements and lower the packet size. (See your Zmodem documentation, man sz on Unix systems.) Switch to a more robust protocol like Kermit. Sometimes Ymodem will work when Zmodem will not. Problem: Call waiting disconnects data calls: Disable call waiting with *70 (or *71 in some areas) before the phone number. AT DT *70, 111-2222 or AT DP 1170+ 111-2222 (Pulse) (Note this feature is not always available, call your local telephone company to be sure.) Try increasing the value of S10. References: Your modem owner's manual! CCSO User Guide 101: The CCSO Terminal Servers CCSO User Guide 402: Kermit for File Transfer WWW URLs: http://pclt.cis.yale.edu/pclt/comisdn/default.htm gopher://gopher.cc.columbia.edu:71/00/acis/datacom/modem.protocol s gopher://gopher.uiuc.edu:70/00/Computers/user-gui/ug101 Newsgroups: comp.dcom.modems, comp.answers, news.answers for articles such as: The NetComm Modem FAQ v1.6 by Anthony Rumble Fax/Modems: Practical Peripherals by Dan Birchall ZyXEL modem FAQ List v3.9, Aug 15 by Robert Wong Digicom modem FAQ version 2.03 by Wolfgang Henke (archived at ftp.whnet.com /pub/wolfgang/Digicom.faq) Modem manufacturers that provide free literature or modem information: U.S. Robotics, Inc., 8100 N. McCormick Blvd., Skokie, IL 60076, 1 (800) DIAL-USR