[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
How do I get this @#$%^& high-speed modem to work?
First off, cursing at it isn't helping anything. But it's okay if it
makes you feel better.
Most 2400-baud and slower modems are very simple devices at heart.
Data bits go in one end, get converted to tones and sent over the
phone lines, and come out again at the other end. Fast modems, and
modems with error correction and data compression, are not so simple.
The actual data rate is no longer constant. It can go down if you
have noisy phone lines, or up if the data compression is working.
Since data bits aren't going in and out at a steady pace, the modem
needs internal data buffers. To take advantage of data compression,
you need to run the serial port between the computer and modem at a
higher speed than the modem's normal data rate. For example, for a
9600-baud modem, you'd probably run the serial port at 19,200 or even
38,400 baud. But then, when the data rate goes down, you have to be
able to stop sending data before you overflow the modem's buffers.
This is why you need to use hardware flow control. With hardware
flow control, you send data to the modem in bursts, at whatever speed
you like. When the modem's buffer is full, it signals the computer
to stop sending. Later, when the buffer has emptied out enough, it
signals the computer to start again. The same thing can happen in
the other direction (the computer telling the modem to stop giving it
data when the computer's buffer is full), thought this is not as
common a problem.
The usual kind of flow control for modems is RTS/CTS handshaking. To
enable RTS/CTS handshaking in Telepathy, use these commands:
tp_ctrlrts(nPort, 2)
tp_ctrlcts(nPort, 1)
RTS/CTS handshaking is necessary with high-speed, error-correcting,
or data-compressing modems. It does no harm with low-speed modems,
unless you have an external modem and someone has got cheap and given
you a cable that does not have all the right wires connected. For
those reasons, we recommend enabling RTS/CTS handshaking for all
modems.
Some devices use the DTR and DSR signals for handshaking, but most
modems do not. If you enable handshaking using DTR for a modem, it
will usually cause problems, like hanging up in the middle of a file
transfer.
Some computers, particularly Unix machines, do not have provisions
for hardware flow control. For those machines, high-speed modems
have to use XON/XOFF software flow control. If you have a choice, do
not use XON/XOFF, as it can interfere with binary file transfers.
Online resources provided by: http://www.ClipX.Net --- NG 2 HTML conversion by Dave Pearson