OK, here is the technical lowdown.
1. Serial Port. This can be the built in port, which goes to
a 9-pin or 25-pin socket in the back of the computer. OR,
it can be an identical port in the modem, the only difference
being that on the modem it goes on to the innards of the modem
rather than to the socket in back. This is true of
conventional
modems; on a WinModem the "serial port" is "simulated."
2. Modems. Modems can have many settings. Not all modems are
created equal. There is a "command set" that can set various
parameters. These commands are known as the "AT" command set,
because when you send a modem an AT command, it will respond.
An example is ATI3. Or, AT and then I3. This command, as well
as other Ix commands make the modem give out some information.
Usually there are commands from ATI0 thru ATI13 or more.
3. AT commands are not the same for all modems. The AT command
set
was loosely defined by Hayes some years ago, but MOST of the
commands in use today are not in the original Hayes set. The
outcome is that while some commands are the same for all
modems,
most are NOT.
4. Usually the commands that have no fancy signs are the same.
Thus, Ix at least for low numbers such as ATI3, are the same
for
all modems. I think up to I5 was Hayes, the rest is whatever
the
particular modem company wants. ATH = Hangup, ATZ = reset.
5. Punctuation commands, like AT&F1, AT&C2 (note the & sign) or
anything with %, # and so on are proprietary.
6. On a WinModem, anything goes. Most AT commands are ignored by
winModems. ON conventional modems there are so many
permutations...
For instance, to initialize a modem to factory conditions may
require this command: AT&F or AT&F1 but may be different.
This
resets the init string from the F register or the F1 register.
There may be many such registers. In the US Robotics Couriers
I
have here you can go to F4. These are "preconfigured factory
configurations."
On the sporster and the courier, you want F1 settings as they
are
most appropiate to Internet use. For data transfer by way of
the
old BBS or XMODEM or YMODEM protocols etc., other settings may
be
more appropiate. Perhaps F2 or F3 etc. I would not know.
You can concatenate commands. For instance, to tell the modem
to
be silent, you set the volume to zero. This the Mx command,
M0.
Just plain M with no number will in some modems reset the
volume
to factory default. The following is a valid USR command:
AT&F1M3
this says: Restore the factory F1 register set for internet
use, except once that is done, I want you to do M3 to set the
volume to the highest setting. Note the Sporster external ahs
a volume knob on the side. The M0 thru M3 set the internal
volume level, but the knob sets the actual maximum volume. If
you
have the knob all the way down you will not hear a thing
regardless
of the M3 setting.
7. Windows 95 and 98 have collected (or the manufacturers have
supplied)
a plethora of initial commands that make their modems work well
on
the internet and have defaults deemed appropiate by the
manufacturer.
For instance, the default may be "best internet" and "low
volume".
This database is not available to Linux users.
The default factory configuration may, or may not be appropiate
to
Internet use. In the vast majority of 14.4K modems this was
the case.
Nowadays, most modems have decent power-on defaults, unless you
change them and save them to an internal user register.
Usually with
the W command. W1 to internal register W1. You can then
recall
this with some AT command. Normally, this is not done inside
the
modem anymore. Usually both Windows and Linux will RESET the
modem, then send it an init string, like "restore factory
configuration"
but "change the following parameters". This means the modem
starts
from a known state and proceeds from there.
In Linux, since there is no modem database, the results can be
less
than optimal. The US Robotics Sporster External data/fax 56K
like
you have coming, will power up to factory defaults which are
fine
for internet use. Note it will not come up on the factory
register,
but user register #1, which has been set to be the same as
factory
register #1. If you want the factory settings to be ensured,
the
init string should be AT&F1.
However, if nothing disturbs the modem settings, then just ATZ
(reset)
will work. But this assumption is seldom valid.
Minicom, for instance, will usually give a modem an AT string
that
sets it up for terminal use, but is terrible for internet use.
If
the setting is recorded in the modem, then it will reset to the
minicom value. This is bad for PPP.
8. There IS a setting in SOME modems for maximum telco line speed.
There IS a setting in SOME modems for minimum telco line speed.
Why would you use that? Let us say you are dialing in to a
weather
station with an old, fixed speed modem of 1,200 baud. If you
use the wrong protocol, or the wrong speed, the weather modem
goes
bananas and dumpss you. It is an old modem and works at a
fixed
speed, and has no intelligence or the capability to change
speeds
or follow along with the other modem. So you would set your
own modem to have a Max and Min speed of 1,200 locking it in.
YOu
may have to set other parameters as well, such a number of
bits,
parity and so on; and perhaps the modulation type such as
V32BIS.
Both Linux and Windows give you this capability IF YOUR MODEM
SUPPORTS IT. Many modems do not. The Sporster has limited
capability in this regard, the Courier has much more. IN the
example I jsut gave, both will do well. Other brands may not.
For instance, in the BOCA modem I have here, the AT commands
fit
in a page and a half. No speed settings are possible. And the
majority of the AT commands are weird to boot.
9. Another possibility is you do not want to use the modem thru
the
phone system. You may want to transmit via just two plain
wires
(a single pair). this may be useful on a factory or a campus,
but you can also rent wire pairs from the phone company. No
dial
tone or anything; its just a wire pair from your house to some
factory somewhere. Range is usually limited to 4 to 8 miles
depending on speed. Most modems NEED a dial tone or they go
nuts
or do not work. Some can handle "leased lines" For instance,
the
USR Couriers and some of the Multitechs, and all the Motorola
commercial grade modems support this feature. Most top out at
14.4K in this mode, but a few, liek the USR and MUltitech will
do
28.8 or 33.6K on a wire pair.
Usage on wire pairs requires a creative set of AT commands to
prepare the modem, or it will complain and fail when it is
asked
to connect and finds no dial tone.
For this mode to work the AT comands are totally different for
different brands of modems. I have some motorolas here, and
the
commands to do so do something unrelated in the USR Courier.
Like
I said, except for some simplistic commands from the 1970's,
the
AT command set is as defined by the particular modem
manufacturer.
10. You have to pay attention to semanthics, and what each
programmer
means. Something that means one thing to you, may mean the
opposite to a programmer or manufacturer. This is particularly
true of one-word names etc. For instance "Connect Speed"
setting
could mean "Connection Speed MODEM to PHONE LINE" to one
person,
or mean "Connection Speed MODEM to SERIAL PORT" to someone
else.
Bummer. IN fact, U.S. Robotics is not clear in their manuals
either. You think you know what they mean in the manual, but
you
are only 85% confident that you have it right. This is very
frustrating. For instance, there are DCE and DTE devices.
Normally the modem is a DCE device, and the TERMINAL it
attaches
to is a DTE device. But when you say: "DTE speed" are you
referring to the Speed on the modem serial port that
communciates
to the DTE device on the end of the cable, or are you referring
to the Speed of the Computer serial port which is the DTE
device?
These semantics can create all sort of ambiguities. The funny
part
is that most programmers and manufacturers are clueless.
Example. You go to work for US Robotics. You learn the
jargon,
you learn the way they do things. To you, DCE means this.
Anything
else is "wrong" to you and you do not conceive of any other way
of
doing it or naming it.
But your buddy, he went to work for Motorola UDS division, and
he
learned a jargon that has IDENTICAL names, but different
meanings.
To him, the Connect Speed may mean something different. Who is
wrong, and who is right?
There is no right way and no wrong way. You need to be savvy
enough
to catch on, or savvy enough to ask exactly what they mean.
I wish I could tell you that "Connection Speed" according to
KPPP
means Serial Port speed. I think it does, but I cannot
guarantee it.
Why? Because I do not use KPPP. IN fact, NONE of my LInux
boxes
here has a modem on it, they all use ethernet. I set up a
Mandrake
5.3 box for my secretary Sara for use at home, but I will be
darned
if I remember any of this, and I am not about to go over there
and
face Cigarette Smoke and Cats all over again. Hehehehe.
So, you are on your own on this one. And, once you learn the
answer, it is probably "trivia" because Mandrake 7.0 is out. I
think it uses KDE 2.0 and KPPP probably been rewritten and most
likely, being GPL, the guy that did the rewriting went ahead
and
changed the meaning of it. Possible? Yes. Probable? Yes too.
Now, I was writing KPPP, I would call the setting not "Connect
Speed",
but "Modem's Serial Port Speed Modem to Computer." That is
very
specific and obvious, as compared to "Computer Serial Port
Speed,
Computer to Modem."
11. To confuse the issue, most serial ports are "Auto Sensing", so
if the Computer is autosensing, and the modem is set to 115.2K,
you
get a 115.2K link. I can assure you that this is NOT A GIVEN.
For instance, with the Multitech ZDXb unit, you can set things
to
115.2K all day long and end up with a 57.6K serial cable link.
this is because both ends are autosensing and the Multitech
then
says:"Gee Whiz, one of us has to go first, so I will try 57.6K
and
see what happens." A few seconds later the two communicate, so
the modem says "Gee, 57.6 worked, I better stay here." INfact,
there are a LOT of modems that will come up on 57.6K and not on
115.2K. YOu have to be careful because using 57.6K on a 33.6K
or 56K modem will have terrible effect on thruput. How do you
fix the problem? You do it with the proper AT command to the
modem to tell it to start at 115.2K. It then will work okay if
the computer is autosensing. But beats me what the AT command
is, and it will be different for different brands.
windows 95/98 has this ALL FIGURED out in the .INF files that
reside in C:\WINDOWS\INF (a hidden directory but you can CD
there).
There you will see hundreds of MDM*.INF files pertaining to
modems,
and each one has had its quirks figured out for Windows 95/98
and
it will come up with the best settings.
With Linux....well, you have to figure this out on your own.
This is one of the reasons that Linux, in 90% of instances will
transfer PPP slower than windows. There are all sorts of
nuances
to this. A lot of it requires proprietary manufacturer info.
In fact, not so much proprietary, but simply that no one asked
the manufacturer for the details, and no one has written a KPPP
or other PPP daemon that has such a database.
I think that it would be fairly easy to write such a PPP or
KPPP
program that could use the INF files from Windows 98. Its a
bunch of text files, after all. The problem here is that they
are probably copyright by Microsoft or the Modem maker and you
cannot distribute them. However, I suppose that the PPP
program
can be Linux distributed with the instructions to "Take a Win95
or Win98 cd and copy over all the MDM*.INF files".
I should mention that the INF files are basically unreadable by
humans. They are text, but go try and figure things out.
What I have found that works is to set your modem properties so
you write a modem log, C:\MODEM.LOG as I recall, and make your
connection to the Internet via Windows 95/98. Then log out.
If the connection was satisfactory, you can then look at the
modem.log file and see exactly what AT commands were sent to
the modem by Windows 98. These are probably exactly what you
want for your Linux box. Take these commands and plug them
in by manually editing the pppd dialog files.
This is all kinda tedious for us Linux users, but it is all
part of the fight against the Evil Empire and their
machinations
and attempts at world domination.
--
Ramon Gandia ============= Sysadmin ============== Nook Net
http://www.nook.net [EMAIL PROTECTED]
285 West First Avenue tel. 907-443-7575
P.O. Box 970 fax. 907-443-2487
Nome, Alaska 99762-0970 ==== Alaska Toll Free. 888-443-7525