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

Reply via email to