630 lines
30 KiB
Plaintext
630 lines
30 KiB
Plaintext
|
=======
|
|||
|
PREFACE
|
|||
|
=======
|
|||
|
|
|||
|
If you are reading this, you probably have a modem.
|
|||
|
|
|||
|
Your modem may be equipped with MNP error correction/compression protocols
|
|||
|
(probably MNP 4 or 5 - will be explained soon).
|
|||
|
|
|||
|
MNP can help you work faster. In addition to its error-free connection, it has
|
|||
|
features that increase the effective modem speed beyond its rated value.
|
|||
|
|
|||
|
If you do have MNP, chances are you are NOT using it correctly - you probably
|
|||
|
do not communicate as fast as you can. In other words, you are probably paying
|
|||
|
Bezeq more than you should.
|
|||
|
|
|||
|
Using MNP correctly requires that you set various options in various locations
|
|||
|
(your modem, your communication program and your file transfer protocols).
|
|||
|
You must set ALL options correctly to make MNP work. Moreover, your
|
|||
|
communicating partner (the BBS) must also set all ITS options correctly. The
|
|||
|
defaults that come with your modem and your software do not help - they are
|
|||
|
usually wrong.
|
|||
|
|
|||
|
This article is intended to help you determine these settings so that you can
|
|||
|
utilize your modem to its best.
|
|||
|
|
|||
|
The basic idea is very simple. First, you must get your modem to work in its
|
|||
|
highest speed (in other words, setup MNP correctly); then you must make sure
|
|||
|
that your computer and software do not become a bottleneck and slow the modem
|
|||
|
down. This simple idea is not very easy to implement, however, so read
|
|||
|
carefully.
|
|||
|
|
|||
|
One last remark. There are many brands of MNP modems in the market, and even
|
|||
|
more communication programs and file transfer protocols. I cannot cover all
|
|||
|
of them. The modem discussion will be based mainly on the Everex EV-941,
|
|||
|
which I own and know the best. The software part will discuss Telix, Telemate,
|
|||
|
Puma, Bimodem and DSZ. I will mention some other modems and software packages,
|
|||
|
but your favorite one may not be among them. READ ANYHOW: if you understand
|
|||
|
the basic ideas, you will probably be able to implement them for other
|
|||
|
hardware or software items.
|
|||
|
|
|||
|
|
|||
|
=================
|
|||
|
SOME MODEM BASICS
|
|||
|
=================
|
|||
|
|
|||
|
So that we can all understand each other, let me draw some basic facts. They
|
|||
|
are not necessarily exact, but they are good enough for this discussion. If
|
|||
|
you are familiar with these facts, you can skip this and the following
|
|||
|
section.
|
|||
|
|
|||
|
Let's assume that YOUR computer wants to send some data to MY computer. Here
|
|||
|
is what happens:
|
|||
|
|
|||
|
Your computer sends the data to its own "Serial Adapter" (or "RS232 card").
|
|||
|
It sends the data in parallel - one full byte at a time (all bits together),
|
|||
|
along with some control information.
|
|||
|
|
|||
|
Your serial adapter converts the data from parallel to serial representation.
|
|||
|
In other words, the bits that form the byte (which entered your adapter at the
|
|||
|
computer side together) leave it at the connector side one after the other.
|
|||
|
The adapter is asynchronous, which means that it adds a "Start" bit, "Stop"
|
|||
|
bit(s) and perhaps a parity bit to each sequence of bits that form a byte (I
|
|||
|
will not discuss this any further).
|
|||
|
|
|||
|
Your Serial adapter narrows the eight-bits-per-byte-plus-control computer data
|
|||
|
to a fewer number of lines, but is still creates digital data, which can be
|
|||
|
transmitted over special (and short) lines only. This is why your adapter is
|
|||
|
connected to a modem. The modem translates the digital data to voices that can
|
|||
|
be transmitted over a standard telephone line.
|
|||
|
|
|||
|
On the other side of the phone line, my modem listens to the incoming voices,
|
|||
|
translates them to serial bits and feeds the bits into my serial adapter. This
|
|||
|
adapter converts the sequence of bits into parallel bytes, which are read by
|
|||
|
my computer.
|
|||
|
|
|||
|
To summarize:
|
|||
|
|
|||
|
- Your computer creates parallel bytes;
|
|||
|
- Your serial adapter receives parallel bytes and creates serial bits;
|
|||
|
- Your modem receives serial bits and creates voices;
|
|||
|
- My modem receives voices and creates serial bits;
|
|||
|
- My serial adapter receives serial bits and creates parallel bytes;
|
|||
|
- My computer receives parallel bytes.
|
|||
|
|
|||
|
(By the way, "internal" modems - such as the Everex EV-941 - combine the
|
|||
|
serial adapter and the modem into a single card: they receive parallel data
|
|||
|
and send voices, and vice versa. This is transparent to the software, since
|
|||
|
the single-card modem emulates a serial adapter connected to an external
|
|||
|
modem, and there is no difference on either the computer or the telephone line
|
|||
|
side).
|
|||
|
|
|||
|
|
|||
|
=======================
|
|||
|
SOME MORE MODEM DETAILS
|
|||
|
=======================
|
|||
|
|
|||
|
Let's get closer and examine some points in higher detail.
|
|||
|
|
|||
|
Your serial adapter is "Full Duplex", and so is probably your modem. This
|
|||
|
means that they can receive and transmit data at the same time (the serial
|
|||
|
adapter actually has two physical lines - one for outgoing bits, one for
|
|||
|
incoming - as well as some control lines; the modem usually uses two basic
|
|||
|
frequencies, one for transmitting and one for receiving).
|
|||
|
|
|||
|
Your software, serial adapter and modem must be able to tell when each of them
|
|||
|
is ready to communicate. In other words, there must be a standard method of
|
|||
|
"Handshaking" between all parties. This is done in several methods.
|
|||
|
|
|||
|
First, there are several control lines between the serial adapter and the
|
|||
|
modem (these lines can also be set and/or sensed by the software on the
|
|||
|
computer side of the serial adapter). Of these control lines I will mention
|
|||
|
four:
|
|||
|
|
|||
|
- DSR (Data Set Ready) - Modem-to-computer: Used by the modem to tell the
|
|||
|
serial adapter and the computer that the modem is ready (but not
|
|||
|
necessarily able to receive new data).
|
|||
|
|
|||
|
- CTS (Clear To Send) - Modem-to-computer: Used by the modem to tell the
|
|||
|
serial adapter and the computer that the modem is able to receive new
|
|||
|
data.
|
|||
|
|
|||
|
- DTR (Data Terminal Ready) - Computer-to-modem: Used by the serial
|
|||
|
adapter to tell the modem that the adapter (and computer) is ready (but
|
|||
|
not necessarily able to receive new data).
|
|||
|
|
|||
|
- RTS (Request To Send) - Computer-to-modem: Used by the serial adapter
|
|||
|
to tell the modem that the adapter (and computer) is able to receive new
|
|||
|
data.
|
|||
|
|
|||
|
Not all four lines are used by all modems, but MNP modems usually use all
|
|||
|
four, as I'll explain later.
|
|||
|
|
|||
|
There is an alternate way of handshaking between the communicating parties.
|
|||
|
Instead of relying on extra hardware lines, this method uses special ASCII
|
|||
|
values that are sent as standard data but have a unique meaning. These values
|
|||
|
are usually XON (hex 11), which means "start", and XOFF (hex 13), which means
|
|||
|
"stop". Using XON/XOFF has several disadvantages: it slows down the
|
|||
|
transmission (because handshaking comes in sequence rather than in parallel
|
|||
|
with the data), and more important - the XON/XOFF characters, being used for
|
|||
|
handshaking, are "swallowed" and cannot be transmitted as part of the normal
|
|||
|
data.
|
|||
|
|
|||
|
One more thing you should know about modems is that they usually work in two
|
|||
|
modes. In normal mode, everything you send to the modem is transmitted over
|
|||
|
the phone to the other partner. The modem may also operate in "Command" mode;
|
|||
|
in this case, the data you send to the modem is interpreted as modem commands
|
|||
|
(the switch between normal and command mode will not be explained here, since
|
|||
|
it is usually done for you by your communication program). Most modems use the
|
|||
|
Hayes command language, in which all commands start with the characters "AT".
|
|||
|
The Hayes language is not uniform - every manufacturer has its own implement-
|
|||
|
ation of the language, particularly for such exotic things as MNP control,
|
|||
|
which is what this document is all about. I cannot therefore give exact rules
|
|||
|
that match all modems, and you will have to figure out your own commands if
|
|||
|
your modem is different than mine.
|
|||
|
|
|||
|
|
|||
|
====================
|
|||
|
COMMUNICATION SPEEDS
|
|||
|
====================
|
|||
|
|
|||
|
I said "communication speeds" and not "communication speed" on purpose. Each
|
|||
|
modem has a rated maximum speed. This is somewhat misleading, because there
|
|||
|
are several speeds involved, and the final communication speed depends on
|
|||
|
more than one factor.
|
|||
|
|
|||
|
The modem speed itself is measured in Bits Per Second, or BPS. This is the
|
|||
|
number of bits per second sent or received by the modem over the telephone
|
|||
|
line. The most common speed today is 2400 BPS (1200 is used by older or
|
|||
|
cheaper modems, while 9600 is becoming quite common).
|
|||
|
|
|||
|
(You may also hear the term "modem Baud rate". IGNORE IT. This measures the
|
|||
|
number of modem status changes per second. 2400 BPS modems have usually a
|
|||
|
Baud rate of only 600, and use special techniques such as frequency shifting
|
|||
|
to squeeze in more bits per change in status).
|
|||
|
|
|||
|
The modem speed (BPS) refers to the PHONE side of the modem. The speed on the
|
|||
|
other side, between the modem and the computer, is not necessarily the same.
|
|||
|
MNP modems are usually capable of talking to the computer faster than they
|
|||
|
talk between themselves; we'll soon see why this is necessary.
|
|||
|
|
|||
|
When the modem-to-computer and modem-to-modem speeds are different, some
|
|||
|
handshaking techniques (explained above) must be used to ensure that the
|
|||
|
computer does not "overrun" the modem beyond its actual capabilities and vice
|
|||
|
versa.
|
|||
|
|
|||
|
To complicate things a little more, the BPS speed measures the actual number
|
|||
|
of bits that flow between modems. MNP effective transfer rate can be faster,
|
|||
|
because less bits are needed to transmit the same amount of data.
|
|||
|
|
|||
|
There is one thing you must remember. THE ACTUAL TRANSMISSION SPEED IS THE
|
|||
|
SPEED OF THE SLOWEST COMMUNICATING PARTNER. If your modem can talk 2400 and
|
|||
|
my can talk 1200, the actual speed will be 1200: this is straightforward. What
|
|||
|
is less obvious is that if your modem can talk to my modem at an effective
|
|||
|
speed of 3000 (actually 2400 enhanced by MNP) but your (or my) computer-to-
|
|||
|
modem speed is fixed at 2400, the final speed will only be 2400 - and neither
|
|||
|
of us may be aware of it.
|
|||
|
|
|||
|
Communication is a two-partners game. You may set all your speeds correctly
|
|||
|
on your side, but this is not good enough. I must set my speeds right as well.
|
|||
|
SYSOPS PAY ATTENTION: There is a whole world out there waiting for you to
|
|||
|
setup your communication parameters correctly!
|
|||
|
|
|||
|
|
|||
|
===============
|
|||
|
SOME MNP BASICS
|
|||
|
===============
|
|||
|
|
|||
|
MNP, or Microcom Networking Protocol (today supported by many more brands
|
|||
|
beside Microcom), was originally intended to ensure error-free communication
|
|||
|
between modems regardless of phone line conditions. MNP is divided into
|
|||
|
classes. In the first (and earliest) classes, the error-free communication was
|
|||
|
obtained at a price of reducing the effective speed (which is quite obvious
|
|||
|
if you think about it). Newer classes use special techniques that result in
|
|||
|
error-free data transfer while actually INCREASING the communication speed
|
|||
|
(moderately to considerably).
|
|||
|
|
|||
|
MNP classes 1 and 2 reduce the transfer speed, and are not worth discussing.
|
|||
|
|
|||
|
MNP class 3 is the first class that resulted in an increased transfer rate.
|
|||
|
This was done by communicating between the modems using SYNCHRONOUS "packets"
|
|||
|
without start and stop bits, although the data transfer on the other side of
|
|||
|
the modems (between the modems and the computer) is still synchronous. There
|
|||
|
is still some overhead involved, so the effective transfer rate of MNP 3 is
|
|||
|
about 108%, or up to 260 bytes per second for an 2400 BPS modem, compared to
|
|||
|
240 bytes for non-MNP (assuming 1 start bit, 1 stop bit and no parity). These
|
|||
|
speeds, by the way, are ideal and are never reached because of other limiting
|
|||
|
factors, but you can get quite close.
|
|||
|
|
|||
|
MNP class 4 uses synchronous packets as well, and optimizes these packets by
|
|||
|
eliminating unnecessary data and adjusting to line conditions. The effective
|
|||
|
transfer rate of MNP 4 is up to 120%, or about 260 bytes per second for 2400
|
|||
|
(assuming there are not too many errors - remember that the communication is
|
|||
|
supposed to be error-free as well as faster).
|
|||
|
|
|||
|
MNP class 5 adds data compression to MNP 4. A real-time adaptive compression
|
|||
|
algorithm is used, which means that the modem adjust the algorithm all the
|
|||
|
time to match the data being transferred. Unlike the previous classes, which
|
|||
|
provide a constant speed factor, compression depends of course on the data
|
|||
|
being transmitted. MNP 5 is considered to have an effective rate of 200%,
|
|||
|
which makes a 2400 BPS modem behave like a 4800.
|
|||
|
|
|||
|
There is a catch, however. If your modem does mainly file transfers from a
|
|||
|
BBS, chances are that you will not gain much by compression (to put it in
|
|||
|
other words, if the already-compressed .ZIP or .ICE etc. files in the BBS can
|
|||
|
be squeezed any further, the file compression method should probably be
|
|||
|
changed!). Some publication suggest that you would be better off WITHOUT data
|
|||
|
compression in this case, since compression does have its price, which means
|
|||
|
that you should revoke MNP 5 and go back to using MNP 4. My own experience is
|
|||
|
that MNP 5 does not harm file transfers that much, and you should probably
|
|||
|
keep it on to take care of interactive BBS work, but your case might be
|
|||
|
different - feel free to experiment and let me know the results.
|
|||
|
|
|||
|
This is as far as I will go. There are several further MNP classes (the latest
|
|||
|
one I heard of is MNP 10, which makes a 2400 BPS modem behave like 19200!),
|
|||
|
but the idea is the same, and modems above MNP 5 are still not that common.
|
|||
|
|
|||
|
One thing I didn't say, but should be obvious, is that MNP is a two-way
|
|||
|
business - both communicating modems must use the same MNP level when they
|
|||
|
communicate (the modems may negotiate and agree upon a certain level when they
|
|||
|
make the first connection).
|
|||
|
|
|||
|
|
|||
|
====================================
|
|||
|
HOW TO SPEED THINGS UP - BASIC IDEAS
|
|||
|
====================================
|
|||
|
|
|||
|
Enough with the theory - let's start doing something useful.
|
|||
|
|
|||
|
The things you should do to make your communication faster can be summarized
|
|||
|
as follows:
|
|||
|
|
|||
|
1. PURCHASE AN MNP MODEM (at least MNP 4, probably 5).
|
|||
|
|
|||
|
2. PURCHASE A FAST-ENOUGH COMMUNICATION PROGRAM, that will not cause a
|
|||
|
bottleneck on your computer (notice that I said "purchase", not "steal"
|
|||
|
or "borrow"!).
|
|||
|
|
|||
|
3. MAKE YOUR MODEM USE MNP (4 or 5 - as I said, I don't have a good advise
|
|||
|
here). This is rather easy, but remember that most MNP modems do NOT use
|
|||
|
MNP as a default, so you have to do some manual work.
|
|||
|
|
|||
|
4. MAKE YOUR SERIAL ADAPTER TALK TO THE MODEM AT A HIGHER RATE THAN THE
|
|||
|
MODEM'S NOMINAL RATE. The manuals suggest 4800 for a 2400 modem; I
|
|||
|
myself am more optimistic and use 9600.
|
|||
|
|
|||
|
5. MAKE SURE YOUR MODEM STAYS AT THE HIGH MODEM-TO-ADAPTER SPEED and does
|
|||
|
not revert to the modem-to-modem nominal speed when the connection is
|
|||
|
made.
|
|||
|
|
|||
|
6. MAKE SURE YOUR COMMUNICATION PROGRAM STAYS AT THE HIGH SPEED and does
|
|||
|
not revert to the modem nominal speed when the connection is made.
|
|||
|
|
|||
|
7. USE HARDWARE-LEVEL HANDSHAKING (CTS/RTS) between the modem and your
|
|||
|
communication program. Do NOT use XON/XOFF handshaking.
|
|||
|
|
|||
|
This is all you have to do, but you must make sure you do EVERYTHING specified
|
|||
|
here. If you do a partial job, you'll end up without any gain in speed (the
|
|||
|
better case) or with unreadable garbage on your screen (the worse case).
|
|||
|
|
|||
|
|
|||
|
============================================
|
|||
|
HOW TO SPEED THINGS UP - A PRACTICAL EXAMPLE
|
|||
|
============================================
|
|||
|
|
|||
|
For the hardware part, let me assume that you have purchased an Everex EV941
|
|||
|
modem with MNP 5 (this is NOT a recommendation - there may be better bargains
|
|||
|
in the market). I'll also discuss some other modem setup possibilities.
|
|||
|
|
|||
|
For the software part, you may use the communication program that comes
|
|||
|
bundled with your modem (Everex comes with something called "BitCom"), but
|
|||
|
there ARE much better bargains in the market, and some of them are shareware,
|
|||
|
so you can experiment and purchase the one you like. I'll mention two:
|
|||
|
|
|||
|
- Telix seems like a fairly good choice. It is FAST, not too large, has
|
|||
|
built-in ZMODEM and a powerful script language, and is not too annoying
|
|||
|
to use.
|
|||
|
|
|||
|
- Telemate is considered to be a good choice, since it allows a kind of
|
|||
|
multitasking (you can browse a file while you download so you can decide
|
|||
|
on-the-fly what to download next). If your computer is slow, Telemate
|
|||
|
may not be fast enough and may become a bottleneck (something a
|
|||
|
communication software should never be), and it also eats up too much
|
|||
|
of your precious RAM, but it is still worth considering.
|
|||
|
|
|||
|
I have also experimented with some other packages (including Procomm, Procomm
|
|||
|
Plus which is used at my work but is NOT shareware, Boyan, Qmodem and GT1500).
|
|||
|
Most of them can be used quite easily with MNP.
|
|||
|
|
|||
|
A communication program is not complete without some external file transfer
|
|||
|
protocols. There are about a dozen of them around, but I'll discuss only
|
|||
|
three: Puma, which is fast and elegant; Bimodem, which is quite amazing (it
|
|||
|
is truly full-duplex - allows you to upload and download simultaneously at
|
|||
|
full speed, and even chat with your friend at the same time); and DSZ, which
|
|||
|
contains several protocols including ZMODEM and is preferred by many users.
|
|||
|
|
|||
|
|
|||
|
===========
|
|||
|
MODEM SETUP
|
|||
|
===========
|
|||
|
|
|||
|
In the following lines I'll discuss only those modem settings that are
|
|||
|
important for proper MNP operation. There are more options that I will not
|
|||
|
mention.
|
|||
|
|
|||
|
Commands that have an alphabetic character immediately following the AT code
|
|||
|
are usually common among all modems. Commands that start with AT& are less
|
|||
|
common, and there are some variations. Commands that start with AT\, AT% or
|
|||
|
AT* are unique, and probably have other codes in other modems.
|
|||
|
|
|||
|
ATB1 (Mandatory, default). Selects the Bell 212A protocol.
|
|||
|
|
|||
|
ATE1 (Mandatory, default). Echoes the commands to the screen; some
|
|||
|
communication programs require it, for others it does no harm.
|
|||
|
|
|||
|
ATQ0 (Mandatory, default). Suppresses "quiet" modes, and causes command
|
|||
|
responses to be sent by the modem (most communication programs
|
|||
|
require it to tell when a communication has been made, etc.).
|
|||
|
|
|||
|
ATV1 (Recommended, default). Causes command responses to be displayed
|
|||
|
in English words rather than in numeric codes.
|
|||
|
|
|||
|
ATX4 (Recommended, default). Causes the modem to wait for dial tone
|
|||
|
before dialing, and to detect BUSY and NO ANSWER conditions. some
|
|||
|
modems may not support it.
|
|||
|
|
|||
|
AT&C1 (Mandatory, default). Causes the modem to indicate Data Carrier
|
|||
|
Detect (DCD) only when there is actually a modem on the other
|
|||
|
side (DCD is not explained in this article).
|
|||
|
|
|||
|
AT&D2 (Mandatory, default). Causes the modem to hang up when the DTR
|
|||
|
line is down (DTR is explained above).
|
|||
|
|
|||
|
AT&S1 (Mandatory, NOT default!). Causes the modem to keep the DSR line
|
|||
|
up only when the modem is active (DSR is explained above). BE
|
|||
|
CAREFUL: Other modems use AT&S for other things (Motorola 82240,
|
|||
|
for example, uses it for front switch settings control).
|
|||
|
|
|||
|
AT\C1 (Mandatory, NOT default!). Enables an internal modem buffer to be
|
|||
|
used while the modems negotiate MNP. If not used, the first
|
|||
|
characters in the transmission may be lost.
|
|||
|
|
|||
|
AT\G0 (Mandatory, default). Disables XON/XOFF flow control between the
|
|||
|
two modems. Setting AT\G1 will cause problems with some file
|
|||
|
transfer protocols (such as Bimodem).
|
|||
|
|
|||
|
AT\J0 (Mandatory, NOT default, VERY important!). Turns "baud adjust"
|
|||
|
off. The default (AT\J1) causes your modem to adjust the speed by
|
|||
|
which it communicates with your computer (the RS232 side) to the
|
|||
|
nominal modem-to-modem speed at connect time, which eliminates all
|
|||
|
MNP speed gains (your 2400 modem will talk "effective-4800" to the
|
|||
|
second modem, but only 2400 to your computer!). Setting AT\J0
|
|||
|
keeps the speed between the modem and the serial port constant
|
|||
|
(how to set this speed initially is explained below). Other modems
|
|||
|
use other commands for this, such as AT&I1.
|
|||
|
|
|||
|
AT\K5 (Mandatory, default). Causes a Break signal to be sent and
|
|||
|
received in sequence with the data, which is important for file
|
|||
|
transfers. Other modems use other commands for this, such as
|
|||
|
AT*Y2.
|
|||
|
|
|||
|
AT\N3 (Mandatory, NOT default!). Causes the modem to work in "auto-
|
|||
|
reliable" mode, which means that it will try to use MNP and fall
|
|||
|
back to non-MNP if the other modem is not compatible. The default
|
|||
|
(AT\N1) DISABLES MNP altogether. Other modems use other commands
|
|||
|
for this, such as AT&E4 or AT&E6.
|
|||
|
|
|||
|
AT\Q3 (Mandatory, NOT default, VERY important!). Causes hardware-level
|
|||
|
handshaking (RTS/CTS) between your modem and your computer. If the
|
|||
|
modem and the serial adapter speeds are different (such as when
|
|||
|
AT\J0 is specified), handshaking MUST be enabled. DO NOT use
|
|||
|
XON/XOFF handshaking (AT\Q1), because it will cause problems with
|
|||
|
some file transfer protocols. Other modems use other commands for
|
|||
|
this, such as AT&K2.
|
|||
|
|
|||
|
AT\V1 (Recommended, NOT default!). Causes the modem replies to indicate
|
|||
|
if a reliable (MNP) connection has been made - you should probably
|
|||
|
want to know what kind of connection you have established.
|
|||
|
|
|||
|
AT\X1 (Mandatory, NOT default!). Enables XON/XOFF characters to be sent
|
|||
|
to the other modem as data. The default (AT\X0) will swallow
|
|||
|
XON/XOFF and will cause problems with some file transfer
|
|||
|
protocols.
|
|||
|
|
|||
|
AT%C1 (Up to you - I use it; NOT default). Enables data compression
|
|||
|
(uses MNP 5 rather than MNP 4). If you can prove that MNP 5 slows
|
|||
|
down file transfers considerably, I'll be glad (?) to switch back
|
|||
|
to AT%C0.
|
|||
|
|
|||
|
ATDT (Recommended). This has nothing to do with MNP, but you may be
|
|||
|
able to use touch-tone (DTMF) dialing without being aware of it,
|
|||
|
and it is a real time saver. Even if you can't, try to ask Bezeq -
|
|||
|
you may be surprised.
|
|||
|
|
|||
|
AT&W0 You probably do not want to type all those setup strings every
|
|||
|
time, so save them once with AT&W0, and indicate to your
|
|||
|
communication program that your modem initialization string is
|
|||
|
simply ...
|
|||
|
|
|||
|
ATZ Which is easy to remember and use.
|
|||
|
|
|||
|
AT&V (View setting). Use this to check your non-MNP modem settings.
|
|||
|
|
|||
|
ATI6 (Inquire modem). Use this to check your special MNP modem settings
|
|||
|
(why use two different codes is beyond me).
|
|||
|
|
|||
|
|
|||
|
===========
|
|||
|
TELIX SETUP
|
|||
|
===========
|
|||
|
|
|||
|
If you are using Telix as your favorite communication program, there are
|
|||
|
several things that you should do to make it work properly with MNP.
|
|||
|
|
|||
|
First, bring up the Telix setup menu (Alt-O), and select "Terminal options".
|
|||
|
|
|||
|
Within "Terminal options", select option A and set the default baud rate to
|
|||
|
9600 (!) if your modem is 2400 MNP. This will ensure that the serial-adapter-
|
|||
|
to-modem speed is high enough not to cause a bottleneck.
|
|||
|
|
|||
|
Then select the appropriate options to turn XON/XOFF flow control OFF, CTS/RTS
|
|||
|
flow control ON, and DSR/DTR flow control OFF. Do not use any other
|
|||
|
combination of flow control!
|
|||
|
|
|||
|
Now go back to the configuration menu and select "Modem and dialing". Set the
|
|||
|
modem initialization string to ATZ^M (provided that you have saved your
|
|||
|
setup!), and set Auto Baud detect to OFF.
|
|||
|
|
|||
|
Finally, go to your dialing directory and define ALL entries to have a speed
|
|||
|
of 9600 (even if you know for sure they are only 1200 or 2400).
|
|||
|
|
|||
|
Now start working. You should notice that the speed indication in the status
|
|||
|
line always says 9600, whether you are idle or communicating. If it is (and
|
|||
|
if you manage to work), you probably did everything right.
|
|||
|
|
|||
|
(What happens is that Telix talks to your modem at a constant speed of 9600
|
|||
|
BPS and uses CTS/RTS flow control to avoid overruns; your modem talks to the
|
|||
|
other modem as fast as it can, taking advantage of MNP if available, and is
|
|||
|
not delayed by your computer's hardware or software).
|
|||
|
|
|||
|
There is one small problem. If you upload or download with Telix's internal
|
|||
|
protocols, the estimated transfer time will be incorrect, because it will be
|
|||
|
based on the assumption that your modem is actually 9600 BPS. This is a small
|
|||
|
price to pay in order to be able to work faster.
|
|||
|
|
|||
|
|
|||
|
==============
|
|||
|
TELEMATE SETUP
|
|||
|
==============
|
|||
|
|
|||
|
First of all, use Telemate only if your computer is fast enough and has enough
|
|||
|
free memory - writing programs in C using Vermont Views results in very good
|
|||
|
programs but does not contribute to their size and performance.
|
|||
|
|
|||
|
Go to Telemate's options menu (use your mouse or Alt-O).
|
|||
|
|
|||
|
Select "Dial setup", and turn "Auto Baud detect" OFF.
|
|||
|
|
|||
|
Select "Terminal", and turn XON/XOFF flow control OFF and RTS/CTS flow control
|
|||
|
ON.
|
|||
|
|
|||
|
Select "Communication", and set the modem initialization string to ATZ^M
|
|||
|
(provided that you have saved your setup!). In addition, set the "Baud rate"
|
|||
|
(which by now you know should say BPS, not Baud) to 9600 (!) if your modem is
|
|||
|
2400 MNP. This will ensure that the serial-adapter-to-modem speed is high
|
|||
|
enough not to cause a bottleneck.
|
|||
|
|
|||
|
Do not forget to save your setup.
|
|||
|
|
|||
|
Finally, switch to your dialing directory and define ALL entries to have a
|
|||
|
speed of 9600 (even if you know for sure they are only 1200 or 2400).
|
|||
|
|
|||
|
Now start working. If you left your status line on, you should notice that the
|
|||
|
speed indication in the status line always indicates 9600, whether you are
|
|||
|
idle or communicating. If it is (and if you manage to work), you probably did
|
|||
|
everything right.
|
|||
|
|
|||
|
Unlike Telix, Telemate adjusts its estimated upload/download times as it
|
|||
|
works. Therefore, only the initial estimated transfer time will be incorrect
|
|||
|
(because it will be based on the assumption that your modem is actually 9600
|
|||
|
BPS), but after a few blocks the estimate will be corrected.
|
|||
|
|
|||
|
|
|||
|
==========
|
|||
|
PUMA SETUP
|
|||
|
==========
|
|||
|
|
|||
|
If you are using Puma as an external protocol, you can have MNP speed AND a
|
|||
|
correct estimate of the file transfer time.
|
|||
|
|
|||
|
Run PUMASET to configure Puma, and choose "Change default options". In this
|
|||
|
menu, select the following:
|
|||
|
|
|||
|
- UART Baud - "current" (assuming you always call Puma when your
|
|||
|
communication program is operating).
|
|||
|
|
|||
|
- Effective Baud - 2400 (assuming your modem is 2400). This figure is used
|
|||
|
for estimating the file transfer time.
|
|||
|
|
|||
|
- CTS/RTS handshake - "fast".
|
|||
|
|
|||
|
|
|||
|
=============
|
|||
|
BIMODEM SETUP
|
|||
|
=============
|
|||
|
|
|||
|
Bimodem is a protocol you cannot live without if you plan on being a honest
|
|||
|
person and upload at least once in a while.
|
|||
|
|
|||
|
Like Puma, Bimodem can be configured to use MNP and estimate times correctly.
|
|||
|
|
|||
|
To do this, run BICONFIG (either directly or from BIMENU). Select "Terminal
|
|||
|
options" and set the following:
|
|||
|
|
|||
|
- "Baud (yack!) rate to base estimate on" - type here your nominal modem
|
|||
|
speed (e.g. 2400). This figure is used for estimating the file transfer
|
|||
|
time. Note that if you use MNP, your effective BPS rate will be faster,
|
|||
|
and the estimated time will be too long.
|
|||
|
|
|||
|
- "CTS/RTS hardware flow control" - set to "Y".
|
|||
|
|
|||
|
The next time you are asked why you always download and never upload, do not
|
|||
|
use the "I don't have time" or "I don't have money" excuses - they do not work
|
|||
|
well with Bimodem.
|
|||
|
|
|||
|
|
|||
|
=========
|
|||
|
DSZ SETUP
|
|||
|
=========
|
|||
|
|
|||
|
DSZ is a famous yet not-very-user-friendly file transfer package that supports
|
|||
|
several protocols, most importantly ZMODEM. It is a must if you use a
|
|||
|
communication program that does not have internal ZMODEM, and there are those
|
|||
|
out there who use it even with Telix or Telemate, because DSZ is supposed to
|
|||
|
be faster and better (you can try it and judge for yourself).
|
|||
|
|
|||
|
The following comments are based on the DSZ version dated April 11, 1990
|
|||
|
(known as DSZ0411). They are probably relevant to other versions as well.
|
|||
|
|
|||
|
DSZ is command-line oriented and does not have a separate setup mode. The DSZ
|
|||
|
documentation has the courtesy of stating that it has a "handshake XX"
|
|||
|
command-line option (which can be abbreviated to "ha"), but it does not
|
|||
|
indicate what values this mysterious XX can take (this is part of the
|
|||
|
package's user-friendliness). If you dig deep enough, you find that the value
|
|||
|
relevant to MNP is "handshake cts". The DSZ command for ZMODEM downloading
|
|||
|
should therefore look something like:
|
|||
|
|
|||
|
DSZ ha cts rz -rr <other options>
|
|||
|
|
|||
|
note that there is no hyphen before "ha", and that you must use lowercase
|
|||
|
characters.
|
|||
|
|
|||
|
DSX has another option that may be relevant, called "estimate". If you
|
|||
|
indicate the effective BPS rate to DSZ (such as 2400 when using non-MNP or
|
|||
|
2900 when using MNP), DSZ will show a correct estimated transfer time;
|
|||
|
otherwise the estimate will be based on the RS232 speed (9600) and will be
|
|||
|
incorrect. If your file transfer is long enough, you may have enough time to
|
|||
|
locate where exactly on the screen DSZ gives its estimate - somewhere towards
|
|||
|
the end of its numerous line-mode messages.
|
|||
|
|
|||
|
|
|||
|
=======================
|
|||
|
A FINAL WORD FOR SYSOPS
|
|||
|
=======================
|
|||
|
|
|||
|
As you have probably guessed by now, I am NOT a SYSOP and probably never will
|
|||
|
be (I am too old, too busy and too poor).
|
|||
|
|
|||
|
I therefore have no idea what to do on your side of the game to make MNP work.
|
|||
|
|
|||
|
We users can do everything we can, but if you do not setup your end correctly,
|
|||
|
we will never gain speed.
|
|||
|
|
|||
|
If any of you out there knows what to do with all those Front Doors and Remote
|
|||
|
Accesses an QBBSes and FileDoors and other Buzzwords to make them utilize MNP,
|
|||
|
please share this information with other SYSOPs, so that you and us (who cares
|
|||
|
about you and us? - me!) can save some time and money.
|
|||
|
|
|||
|
|
|||
|
========================
|
|||
|
A FINAL WORD TO EVERYONE
|
|||
|
========================
|
|||
|
|
|||
|
I don't want to have too many mistakes in this document. If you find one, or
|
|||
|
if you want to add your own comments, please let me know.
|
|||
|
|
|||
|
You spent some money on your equipment - I hope this will help you use it
|
|||
|
cheeper and faster.
|
|||
|
|
|||
|
|