This is my attempt at listing some Frequently Asked Questions for the
newsgroup comp.os.os2.networking.tcp-ip, which is where IBM tells us
all to look for support and exchange information about OS/2 Warp when
running the Internet Access Kit.

DISCLAIMER:  The information contained within this document was mostly
extracted from posts made to comp.os.os2.networking.tcp-ip and thus
has only the credibility of the original poster, which can range
anywhere from "propagator of ill-founded rumors," right on up to the
"official words of IBM," or even higher. ;-)

     THIS DOCUMENT IS PROVIDED "AS-IS" AND ANY USE HEREOF IS AT THE
     RISK OF THE USER.  ABSOLUTELY NO REPRESENTATION IS MADE AS TO
     THE COMPLETENESS, ACCURACY, TRUTHFULNESS, USABILITY, OR OTHER
     CHARACTERISTIC OF THE INFORMATION CONTAINED HEREIN.  FURTHER,
     ABSOLUTELY NO REPRESENTATION IS MADE AS TO THE OWNERSHIP OF
     ANY RIGHTS TO ANY OF THE INFORMATION CONTAINED HEREIN.  IF YOU
     NEED SOMEONE TO EXPLAIN TO YOU THAT YOU USE THE INFORMATION
     CONTAINED HEREIN AT YOUR OWN RISK, THEN YOU ARE EXPLICITLY
     PROHIBITED FROM USING ANY INFORMATION CONTAINED HEREIN.

All information contained herein is copyright by the various authors
thereof, and on their behalf, I am demanding a royalty of $1,000 per
use for any use by Microsoft Network.  Any such usage is deemed to be
consent to this royalty agreement, and payment shall be immediately
remitted to:

     William A. Schultz          guru@deltanet.com (Bill Schultz)
     P. O. Box 18732
     Irvine, CA  92713-8732

I am actively soliciting comments, clarifications, and requests for
changes to this FAQ.  Either questions, answers, or both may be
submitted.  Of course, the bulk of the information contained herein
has been, and will continue to be, extracted from the newsgroup
discussion threads in comp.os.os2.networking.tcp-ip as time goes by.

This is file number 3 of 12.  It contains the third part of the FAQ.

TABLE OF CONTENTS:

     FAQ PART ONE:

          1.0  GENERAL QUESTIONS
          2.0  GENERAL IBM QUESTIONS
          3.0  GENERAL OS/2 QUESTIONS
          4.0  OS/2 INTERNET ACCESS KIT (IAK) QUESTIONS
          4.1  GENERAL IAK QUESTIONS
          4.2  GENERAL PROXY SERVER QUESTIONS
          4.3  DIAL OTHER PROVIDER QUESTIONS
          4.3.1  GENERAL DIAL OTHER PROVIDER QUESTIONS

     FAQ PART TWO:

          4.3.2  SLIP SPECIFIC QUESTIONS

     FAQ PART THREE:

          4.3.3  PPP SPECIFIC QUESTIONS

     FAQ PART FOUR:

          4.3.4  TIA SPECIFIC QUESTIONS
          4.4  ULTIMAIL/LITE QUESTIONS
          4.5  NEWS READER/2 QUESTIONS
          4.6  SENDMAIL QUESTIONS

     FAQ PART FIVE:

          4.7  WEB EXPLORER QUESTIONS
          4.8  FTP QUESTIONS
          4.9  GOPHER QUESTIONS
          4.10  RETRIEVE SOFTWARE UPDATES QUESTIONS
          4.11  OTHER IAK SOFTWARE QUESTIONS
          4.12  WINDOWS TCP/IP WITH IAK SOFTWARE QUESTIONS

     FAQ PART SIX:

          5.0  OS/2 TCP/IP QUESTIONS

     FAQ PART SEVEN:

          5.0  OS/2 TCP/IP QUESTIONS (Continued)
          6.0  OTHER BONUS PACK SOFTWARE QUESTIONS
          7.0  IBM RESOURCES
          8.0  THIRD PARTY SOFTWARE QUESTIONS
          9.0  OTHER RESOURCES

     FAQ PART EIGHT:

          9.0  OTHER RESOURCES (Continued)

     FAQ PART NINE:

          APPENDIX A - INSTRUCTIONS FOR INSTALLING FIXPACK 5

     FAQ PART TEN:

          APPENDIX B - SLIP CONFIGURATION EXAMPLE

     FAQ PART ELEVEN:

          APPENDIX C - PPP CONFIGURATION EXAMPLE

     FAQ PART TWELVE:

          APPENDIX D - ABBREVIATED SENDMAIL DOCUMENTATION

EDITOR'S NOTE:  This document is very much a work in process.  In fact,
I have not yet completed editing it.  However, because there is so
much useful information available herein, I have decided to go ahead
and post it anyway.  This should result in some comments from all of
you which might save me the trouble of editing this further. (i.e., if
nobody thinks this is a good idea, or that it is way too long. ;-)

4.3.3  PPP SPECIFIC QUESTIONS

Q:  Do I need a REXX command file to connect to my Internet Service
    Provider in PPP mode?

A:  Maybe, maybe not.  In general, if you want to automatically do
    re-dialing on busy signals, or if your provider has any oddball
    command sequences that the default configurations can't handle,
    then you will need either a REXX command file or a response file.
    Which you use is pretty much up to you.

[See FAQ Part 6, Appendix C, for a very long sample PPP script.]

=====

Newsgroups: comp.os.os2.networking.tcp-ip
From: guru@deltanet.com  (Bill Schultz)
Subject: Re: "Invalid fcs" error when using PPP .. seen it?

In <3mf7pj$piq@jan.et.byu.edu>, andrew@cs.byu.edu writes:
>Reply-To: andrew@bert.cs.byu.edu (Andrew Lundgren)

[deleted other user's problem]

>Could also be your slip provider that has the problem. One of my 
providers
>has that error, and the other does not...

By George, this looks hopeful.  Yesterday, my primary Internet Service
Provider (deltanet.com) swapped out their terminal server for my area,
while distributing a newsletter saying that the vendor for the former
terminal server had never been able to get the unit to function 
properly.

Guess what:  Now I get one of these messages during the initial 
connection
sequence (as I almost always have done) and then no more!  Maybe it
really is the ISP's fault.....  (I can dream, can't I???)

=====

From: trall@trall.almaden.ibm.com (Tony Rall)
Newsgroups: comp.os.os2.networking.tcp-ip
Subject: Re: "Invalid fcs" error when using PPP .. seen it?
Date: 20 Apr 1995 07:50:56 GMT
Message-ID: <3n53p0$f3e@fox.almaden.ibm.com>
References: <3lmalg$5mg@atglab10.atglab.bls.com> 
<3mjmet$7ag@newsbf02.news.aol.com>
Reply-To: trall@almaden.ibm.com (Tony Rall)

In article <3mjmet$7ag@newsbf02.news.aol.com>,
QuintonM <quintonm@aol.com> wrote:
>I am getting this messsage as well when I use the IAK.  I must use 
Spry's
>internet in a box until I can get the IAK to work properly.  With 
Internet
>in a box, it will prompt me for a PAP username and PAP password after
>logging into the internet provider's system.  IAK does not do this.  
Am I
>doing something wrong?

PAP will be used automatically if you specify NONE (case sensitive)
in the slippm.exe Login Sequence field.  You won't get prompted for
the userid because you've already entered it.  You can get prompted
for the password if you leave it checked as "required" but don't
supply it in your dial entry, but the prompting will occur before
dialing takes place.

-- 
Tony Rall    trall@almaden.ibm.com

=====

From: trall@trall.almaden.ibm.com (Tony Rall)
Newsgroups: comp.os.os2.networking.tcp-ip
Subject: Re: Looking for ppp/os2 instructions?
Date: 5 Apr 1995 06:30:52 GMT
Message-ID: <3ltdes$meu@fox.almaden.ibm.com>
References: <3ln2ff$sh4@chaos.dac.neu.edu>
Reply-To: trall@almaden.ibm.com (Tony Rall)

Several changes have to be made for scripts to work with ppp:

For many using PPP, simply using "NONE" in the Login Sequence is all
that's needed (not likely to work for SLIP).

If you must use a Rexx script, issue "ppp -?" for help on the 
parameters
required by the ppp driver.  Annex.cmd (or slipup.cmd) would need to be
changed in the following ways:

The arguments are passed differently to ppp scripts than they were for
slip.  They come in as individual parameters which, in Rexx, must be
separated by commas in your script.  (The third parameter is CMD - I
don't know of a use for it, so I discard it.)  The "parse arg"
statement near the beginning of your script must look like this:

     parse arg interface , port , . , dialcmd , username , password

typical values: ppp0       com1       ATDTnnn   userid     password

Change all occurrences of the function calls "slip_..." to "ppp_...".

Assuming your provider supports PPP IP address configuration (this is
dynamic and under the covers), you can remove the parsing of addresses,
configuring the interface, and setting the default route - this will
be taken care of automatically.

Yes, ppp can be invoked from the command line.  Issue "ppp -?" for the
syntax.  If you specify enough parameters, you don't need a ppp.cfg
file and can add the "-nocfg" parameter.

-- 
Tony Rall    trall@almaden.ibm.com

From: trall@trall.almaden.ibm.com (Tony Rall)
Newsgroups: comp.os.os2.networking.tcp-ip
Subject: Re: PPP won't use .cmd script
Date: 10 Apr 1995 05:49:50 GMT
Message-ID: <3magtu$jga@fox.almaden.ibm.com>
References: <1995Apr6.201801.29935@integrity.uucp> 
<3m2ba3$1g75@tequesta.gate.net>
Reply-To: trall@almaden.ibm.com (Tony Rall)

In article <3m2ba3$1g75@tequesta.gate.net>,
Dave Spicer <dspicer@gate.net> wrote:
>In <1995Apr6.201801.29935@integrity.uucp>, jhg@tandem.com (Jim 
Garrison) writes:
>
>>existing scripts nicely.  However, PPP appears to be limited
>>to using a response file only, thus making it impossible to
>>customize for things like redial-on-busy.  What a
>>disappointment!!
>
> I'm using a CMD script with PPP. It must reside in the data directory 
of
>your drive, not the TCPIP or any other directory.

Rexx cmd files work fine in the tcpip\bin directory.

Several changes have to be made for scripts to work with ppp:

For many using PPP, simply using "NONE" in the Login Sequence is all
that's needed (not likely to work for SLIP).

If you must use a Rexx script, issue "ppp -?" for help on the 
parameters
required by the ppp driver.  Annex.cmd (or slipup.cmd) would need to be
changed in the following ways:

The arguments are passed differently to ppp scripts than they were for
slip.  They come in as individual parameters which, in Rexx, must be
separated by commas in your script.  (The third parameter is CMD - I
don't know of a use for it, so I discard it.)  The "parse arg"
statement near the beginning of your script (if it's trying to act
like annex.cmd) must look like this:

     parse arg interface , port , . , dialcmd , username , password

typical values: ppp0       com1       ATDTnnn   userid     password

Change all occurrences of the function calls "slip_..." to "ppp_...".

Assuming your provider supports PPP IP address configuration (this is
dynamic and under the covers), you can remove the parsing of addresses,
configuring the interface, and setting the default route - this will
be taken care of automatically.

Yes, ppp can be invoked from the command line.  Issue "ppp -?" for the
syntax.  If you specify enough parameters, you don't need a ppp.cfg
file and can add the "-nocfg" parameter.

-- 
Tony Rall    trall@almaden.ibm.com

=====

From: lablack@ibm.net
Newsgroups: comp.os.os2.networking.tcp-ip
Subject: Re: "Invalid fcs" error when using PPP .. seen it?
Date: 2 Apr 1995 14:00:16 GMT
Message-ID: <3lmalg$5mg@atglab10.atglab.bls.com>
References: <3k7j1n$2b2@dgsi.cimage.com> <3karo4$1l5@news.dgsys.com> 
<D5ptCz.2Jy@iglou.com> <D61oI1.4vv@postoffice.ptd.net> 
<3l7vra$ig2@ns1.interactive.ne <3lhha1$1bhp@tequesta.gate.net> 
<3lkhqn$rvr@news.primenet.com>
Reply-To: lablack@ibm.net

In <3lkhqn$rvr@news.primenet.com>, dreamer@primenet.com (dreamer) 
writes:
>In article <3lhha1$1bhp@tequesta.gate.net>, alpartis@gate.net says:
>>
>>In <3l7vra$ig2@ns1.interactive.net>, benezra@interactive.net writes:
>>>In <D61oI1.4vv@postoffice.ptd.net>, greno@postoffice.ptd.net writes:
>>>>In <D5ptCz.2Jy@iglou.com>, abennett@iglou.com (Andrew Bennett) 
writes:
>>>>>asii@dgsys.com wrote:
>>>>>: In <3k7j1n$2b2@dgsi.cimage.com>, oneill@cimage.com (Patrick 
O'Neill) writes:
>>>>>: >Just after the login happens I get this error:
>>>>>: >  error  : [NETW] invalid fcs
>>>
>>>>find a refernece to the 'FCS' term.  If anyone has any more info, 
or can bring 
>>>>me up to date on this matter, I would appreciate it.

I had this problem also.  I am running ppp from the command line, using 
a 
modification of the annex.cmd script for connection.  I found that I 
had to insert
a call to sysSleep in the rexx script just before sending the 'ppp' 
command
to the annex box.  It seems that the annex box needs a little time 
before switching
to ppp.

By the way, I had the same problem with slip connections (the errors 
were
different, but the result was the same - no connection) until I put the
pause into the script.

These files are assumed to be in the current directory:
     pppup.cmd
     ppp_options
and tcpip/bin is assumed to be in your path.
Here is how I launch ppp from the OS/2 command line:
[D:\Larry] ppp file ppp_options

ppp_options contents:
----------------------
com3
38400
rtscts
mru 296
connect "pppup.cmd atdt<phonenumber> <userid> *"
modem
notify
netmask 255.255.255.0
defaultroute
--------------
Substitute your phone number and user id.  The * tells pppup.cmd to 
interactively prompt for the password.  You could put your password 
there.
Also, set your netmask appropriately for your network.
I modified the pppup.cmd script for interactive password prompting, as 
my
password cannot be stored in a file.  Because of this, I cannot use the
'Dial other' program, as no interactive input is allowed, so I use the 
command line.

pppup.cmd is basically the annex.cmd script, here is an excerpt:
-------------------------------------
if waitfor(MenuPrompt, 60) = 1 then do
   call flush_receive('echo')
   call LineOut, 'Never got ''' || MenuPrompt || '''. Check your setup'
   exit 1
end
/* wait, as Annex seems to need some time */
call sysSleep 2
/* send the ppp connect to Annex, and exit */
call send 'ppp' || cr
call flush_receive 'echo'
say 'pppup.cmd is complete'
exit 0
--------------------------------------------
// Larry Black, lablack@ibm.net

=====

From: matt@ship.net@direct.ca   (Matt Ion)
Newsgroups: comp.os.os2.apps,comp.os.os2.networking.tcp-
ip,comp.os.os2.misc
Subject: Re: Cron to automatically log you on.
Date: 2 Apr 1995 17:31:53 GMT
Message-ID: <3lmn29$e9f@fun.Direct.CA>
References: <3lfnqg$ob6@henri.mindspring.com>
Reply-To: mion@direct.ca (Matt Ion)

In <3lfnqg$ob6@henri.mindspring.com>, chaos@mindspring.com (Dave 
Frascone) writes:
>
>Could someone please e-mail me the command line necessary to have PPP 
connect 
>to a normal system?

Get a file called PPPFAKE (PPPFK*.ZIP at
hobbes.nmsu.edu/os2/network/tcpip) and follow the included 
instructions.
This will capture the command line given to PPP.EXE by the dialer, and
create a batchfile MYPPP.CMD to call PPP.EXE with the same parameters.

I just set this up yesterday... worked GREAT except for one glitch: my
provider requires <name>%p input for a PPP login... had to put %%p in
the batchfile, lest it thing "%p" was a variable :)


  ---------------------------------------------------------------------
------
  Opinions expressed      /         ROCK-IT SCIENCE Mobile Audio and 
Security
  do not necessarily     /| ...the   1040 MIDI & Music BBS Technical 
Services
  reflect those of any  [ SOUNDMAN    !!TEAM-OS/2!!   FidoNet  
1:153/7040.106
  marginally sane human  \|           !!TEAM-OS/2!!   Internet  
matt@ship.net
  being anywhere.         \         FAX: (604)253-8312    DATA: 
(604)736-6330
  ---------------------------------------------------------------------
------

=====

From: mjordan@qmi.mei.com
Newsgroups: comp.os.os2.networking.tcp-ip
Subject: Q: PPP command file options
Date: 1 Apr 1995 20:44:12 GMT
Message-ID: <3lkdus$d4e@news.moneng.mei.com>
Reply-To: mjordan@mail.mei.com


I use the following 2 ppp configuration files to communicate
between my office and my home machine.  Fortunatly I am using
Warp now in both places :).  It took me a little effort but now
ppp is working fine for me (without the pm applet).  I use 
"ppp file \tcpip\etc\pppanswer.cfg" in startup.cmd at work and 
"ppp file \tcpip\etc\pppcallout.cfg" at home.  I had to
add a static entry to my route table at the office to access the 
internet.
We are using tcp/ip 2.0 at work.

I think I understand most of these commands (via ppp help), but I would 
like
to know more about them and others that may be available.  Such as
asyncmap, auth, domain, exit, fcs, local, login, name, passive, 
remotename,
restart, silent, user, and usehostname.

Also, is it possible to configure the IAK ppp to dial/connect 
automatically when 
an ip address needs to be routed to the other side?

Can anyone help me out?  Or point me toward more IBM ppp documentation?

These may be useful to someone, they work fine.  Replace *stuff* with 
your own.

pppcallout.cfg
--------------
com1
57600
mru 1500
rtscts
modem
defaultroute
priority 1
notify
exit
user *username*
name *username*
secret *password*
idle 60
connect "slattach AT&F&C1&D2W2S95=46 OK ATDT555-1212 CONNECT"

pppanswer.cfg
-------------
com1
57600
mru 1500
rtscts
modem
172.16.1.1:172.16.1.2
netmask 255.255.255.0
priority 1
restart
silent
proxyarp
auth
user *username*
name *username*
secret *password*
idle 60
connect "slattach AT&F&C1&D2W2S95=46S0=2 OK"

=====

From: gls@engr.uark.edu    (Gary L. Stiek II)
Newsgroups: comp.os.os2.networking.tcp-ip
Subject: Re: Bonus Pack dialer seems to suck badly.  Help!!
Date: 5 Apr 1995 11:13:10 GMT
Message-ID: <3ltu06$jti@wizard.uark.edu>
References: <3limi4$3r6@solaris.cc.vt.edu> 
<3lku04$luq$1@heifetz.msen.com> <3lqb62$a8m@moe.cc.emory.edu>
Reply-To: gls@engr.uark.edu

By no means do I intend to insult anyones intelligence.  Although not 
new to OS/2, I am new to the IAK and the internet, and this post is 
intended for similar idividuals.  Please forgive any inappropriate use 
of net resources.

For anyone else, like me, stuggling to get a ppp or slip connection, 
the contents of the following file (x:\tcpip\help\readme.ppp) can be 
very helpful in writing a login sequence.  Unfortunately, it is only 
provided after you get the PPP gamma available via the 'Retrieve 
Software Updates' app or via anonymous ftp from ftp.ibm.net as 
\pub\PPP\ppp.zip.  Although REXX files are still cool for adding things 
such as auto-redial of busy numbers, login sequences can be much 
simpler.  Take your pick.

Keep in mind that the login sequence, login id, and password entry 
boxes are available in the 'Dial other provider' app via either the 
'Add Entry' button for new entries or 'Modify Entry' button for 
existing entries on the first page of the resulting setting notebook.

Three things to notice (things it took me weeks to notice):
1.  The dialer considers any white spaces in a login sequence as 
carraige returns.  Therefore, in order to send multiple word commands, 
insert a '\s' for any spaces in the command.  For example, to start PPP 
on our server, it is required to send 'activate ppp.'  In the login 
sequence, this would appear as 'activate\sppp' 
2.  '\r' on a single line by itself sends a carraige return.  In 
conjunction with anything else (i.e. [PASSWORD]\r) strange things 
occur...
3.  In the sample script provided in the file, the items '[LOGINID]' 
and '[PASSWORD]' are literal expressions to be entered in the login 
sequence.  Although you can substitute your own login id and password, 
it may be better to enter your login id and password in the entry boxes 
provided.  Since the entry box for 'Password' displays only the 
appropriate number of *'s, this is a nice way of keeping your password 
private (instead of having it listed in the login sequence for anyone 
to see).

For anyone interested, below are the contents of that file.

gls@engr.engr.uark.edu
Gary L. Stiek II - ELEG UnderGrad - UofA, Fayetteville, AR
_______________________________________________________________________
____

  PPP for IBM TCP/IP for OS/2 version 2.0 Gamma

This package provides PPP support for IBM TCP/IP for OS/2.  You must
first install TCP/IP version 2.0, and you must install the latest
CSDs, so that the TCP/IP base is at level UN64092.  Or, you can
install this package on top of the Internet Connection kit that is 
included
with Warp.

If you obtained this package using the Retrieve Software Updates icon
of the IBM Internet Connection, installation is automatic.  If you
obtained it via FTP, you install it using the following steps.
Put the file PPP.ZIP in your TCPIP subdirectory.
Then switch to that subdirectory and type

pkunzip2 -o -d ppp.zip

Be sure that slip is not running when you unpack this package.

To run PPP, start SLIPPM.  You then create an entry for your
Internet access providers, using the Add Entry button.  A notebook
of panels will guide you through the procedure.  You can use SLIPPM
to dial Internet providers that use either SLIP or PPP access.  You
should not use SLIPPM to dial Advantis, and in any case Advantis uses
SLIP, not PPP.  For a few Internet providers, it may be necessary to
create a response file to handle session initiation.  A sample
response file (sample.rsp) is provided in the samples\etc directory,
and several sample rexx scripts (annex.cmd, cybernet.cmd, tdc.cmd)
are also provided.

You can also use SLIPPM to dial into your LAN (using either SLIP or 
PPP),
or to set up your LAN machine so that another machine can dial into it.

SlipPM Login Sequences:

Many Internet providers that support the slip protocol will assign you 
a
unique pair of IP addresses after you register for their service.  Each
time you login to the service you will connect with this same set of
IP addresses.  This is often called "static" IP address assignment.  
Other
Internet providers supporting slip connections will assigned you an IP
address pair at the time the connection is established. This is often
referred to as "dynamic" IP address assignment.  Each time you connect 
you
may receive a different IP address pair.

On page one of the SlipPM Provider Dialog, the field "Login Sequence:" 
defines
the login sequence used to connect to a given access provider.  To
accommodate a variety of connection sequences, this field may contain:

        (1) The reserved word "NONE".  This indicates no login sequence
        is required beyond the physical modem connection.

        (2) Blank, or no entry.  If this field is left blank, and the
        Login ID and Password fields are filled in, then the dialer
        will wait for the login sequence:

                login:
                password:

        The content of the Login ID and passwords will be sent in 
response.

        (3) The name of a REXX connection script or ".cmd" file, for 
example,
        Login Sequence: annex.cmd

        This script is executed at connection time to negotiate the
        modem setup, dial the access provider, and login.

        (4) A login sequence consisting of a series of send-expect 
verbs,
        for example, if the "Login Sequence:" contains the text:

                \r
                sername:
                [LOGINID]
                ssword:
                [PASSWORD]
                annex:
                slip
                address\sis\s[$IPDEST]\sYour\saddress\sis\[$IPADDR]

        then after the modem dials and connects, line 1 sends a newline 
to
        request the Username prompt.  Line 2, waits for this prompt, 
and
        line 3 sends the contents of the Login ID field. Line 4 waits 
for
        a Password prompt, and line 5 sends the password entered in the
        Password field.  Line 6 waits for the "annex:" prompt, and line 
7
        sends the request to start the SLIP protocol.  Line 8 is used
        to retrieve the remote and local IP addresses that are 
"dynamically"
        assigned when the connection is made.  The "\s" (Escape s) 
represents
        1 or more white-space characters.

If your IP addresses are "statically" assigned then you can enter them 
on
page 2 of the provider information dialog.

Each provider uses a slightly different sequence for establishing a 
connection,
and you must tailor your Login Sequence to match each Internet 
provider.

For Internet providers supporting PPP the situation is slightly more 
uniform,
however there are still many differences.  Most providers fall into two
categories, those that require a traditional style login id and 
password
transaction before the PPP protocol is started, and those that 
negotiate PPP
immediately upon connection.  For the first type you will need to setup 
a
Login Sequence similar to that used for a slip connection, in the 
second
type, enter the verb "NONE" in the Login Sequence field.

In most cases, PPP Internet providers supporting PPP will use the PPP 
protocol
itself to assign you an IP address pair, so once a connection is 
established
and the two machines have successfully engaged in the link control 
protocol
(LCP) stage of a PPP link,  IP addresses will be assigned and the ppp
interface will be configured.  In some rare cases the provider may 
supply
only one of the required IP addresses (usually the local address).  In 
this
case the Remote or Destination IP address can be entered in the 
"Destination
IP Address" field on page 2 of the provider dialog.

Problems and suggestions for improvement should be posted to the
comp.os.os2.networking.tcp-ip newsgroup.  Unfortunately, the developers
will not be able to respond to every post.

John McGarvey for IBM OS/2 TCP/IP development.
_______________________________________________________________________
____

=====

From: mandy@humnet.ucla.edu (John Mandeville)
Newsgroups: comp.os.os2.networking.tcp-ip
Subject: Re: automated SLIP/PPP connections
Date: Sat, 22 Apr 1995 17:47:19 -0700
Message-ID: <XOamvkPgrvXG083yn@humnet.ucla.edu>
References: <3n9fl1$j83@unisql.unisql.com>

In article <3n9fl1$j83@unisql.unisql.com>,
larson@unisql.unisql.com (Jeff Larson) wrote:
> 
> I'd like to set up a background cron-like task that dials up my 
service
> provider in the middle of the night and downloads news using souper.
> 
> The question I have is how do you control SLIP or PPP connectivity
> from the command line.  I've seen slip.exe and ppp.exe but can find
> no documentation on how they can be used.
> 
> The dialer PM application is of no use because I can't be sitting
> there to push the dial button, it has to be automated.  If there is
> no way to control SLIP/PPP from the command line, does the dialer app
> have a REXX port with a documented interface?

I've just been working on this for myself.  Thanks to Barry Logan for 
some
advice; this would be better if I had followed it more closely.  Some 
of
this is ugly; perhaps others will have better solutions.  Various tools
mentioned below were obtained from hobbes.nmsu.edu and include:

    os2/network/tcpip/pppfk101.zip
    os2/incoming/ppdial21.zip     [may have moved]
    os/2_15.zip

First you have to get a good dialing script with redial working.  I use
pppdial, an earlier version of what's in ppdial21.zip.  "Dial other
internet providers," which is really just slippm, has a "Login 
sequence"
box on page 1 of the settings notebook you get when adding or modifying
an entry.  Make sure your dialing script works properly when added
here.  An alternative to pppdial was posted here by Mike Minter 
recently.

Essentially, slippm merely maintains various settings.  For its real
work, it calls ppp.  Your next step is to figure out what parameters
are used.  The "ppp ?" will give you some clues as to what parameters 
you
might use, but there is an easier and more accurate way using pppfake.
Back up ppp.exe and put pppfake.exe in your tcpip\bin directory under 
the
file name ppp.exe.  Try to dial your provider using slippm.  You won't
actually get through.  But you will get (in the root directory, if I
remember correctly) a file named myppp.cmd.  This is the call slippm
tried to make to ppp, and it is complete with all the right parameters.
Replace the fake ppp.exe with the backed up real one (you did make that
backup, right?)  and you can now use myppp from the command line 
instead
of going through slippm.

You also need a way to hang up the phone.  For this I use the process
killer go (from go_15.zip).  The command is "go -k ppp.exe".  
Fortunately,
ppp dies gracefully and hangs up the phone in the process.

There is one more thing you need:  the ability to determine when you
are connected.  You don't want to begin your on-line work during third
redial to a still busy phone.  Apparently, slipwait (already in your
tcpip\bin directory) does this for slip connections, but not for ppp
connections.  I haven't found a replacement.  So I use an ugly kludge.
I have a one byte file named "pppflag" (I'm leaving out directory
names here).  I modified pppdial so that it copies pppflag to a new
file named "connected" when it has actually connected.  Since pppdial
is a rexx script, be sure to put the copy command in single quotes.
This allows me a crude and probably not very robust way of testing
whether I have connected.

Since I'm somewhat rexx-impaired, the controlling cmd file is in the
style of batch files and not a rexx script.  It goes something like 
this
(still leaving out directory names):

    if exist connected goto end
    start /c myppp.cmd
    :loop
    if not exist connected goto loop
    call sleep 30
    call do_my_online_work
    go -k ppp.exe
    del connected
    :end

The first line is there just in case I stupidly try to launch two of
these things at once.  The second call line is, of course, not really
what is in my script.  But if you have several unattended on-line jobs,
then replacing it by "call %1" might be useful.

The first call line, "call sleep 30," needs a word or two of 
explanation.
The command that copies pppflag to connected occurs before the ppp
negotiation and I need a bit of time to let that occur.  Since this is
a batch style cmd file, I can't just call sysSleep.  So I made myself
a little rexx script which is, essentially, just a call to sysSleep.
If I were better at rexx, it would have been simpler just to make the
whole controlling cmd file a rexx script.  At any rate, this line waits
thirty seconds for the ppp negotiation.

It would be much preferable to have a genuine pppwait program, but
this is working for me in the meantime.  It probably doesn't take much
sophistication to come up with something less crude than what I have 
here.
I leave the cron stuff as an exercise to the reader :-).

John Mandeville
mandy@humnet.ucla.edu

***********  END OF PART THREE OF TWELVE PART WARP/IAK FAQ  ***********
