
                   iNTERiNSTALL v1.51  07-Aug-95

              by Christopher Laprise (chrisl@ici.net)





Stuff:
------

 iNTERiNSTALL comes with no warranties expressed to implied; Use at
your own risk.

 iNTERiNSTALL is Copyright  1995 Christopher Laprise. It is freely
distributable, but may not be sold for profit beyond reasonable duplication
and shipping fees.

 iNTERiNSTALL is `giveware'.  Spread it, but you are encouraged to send
a donation of Five US dollars (or more :-)  as 1) US money order;
2) check drawn on a US bank; 3) international money order in US funds; to
this address:

           Christopher Laprise
           189 Franklin St.
           Fall River, MA  02720
           USA



Intro:
------

 iNTERiNSTALL was written to address the significant problem that Amiga
users face in configuring AmiTCP for internet access. Thus far, we've
had a distinct disadvantage since many of the TCP/IP packages for other
platforms are already geared to connect with certain Internet
providers, or at least for dyanamic PPP/SLIP access where a large
service assigns seemingly-random host addresses for each call. Perhaps
someday the authors of Amiga Internet software will offer special
install scripts for major providers.

 The iNTERiNSTALL script tries to cut out many unnecessary steps and
questions for the installation of AmiTCP and PPP, the basic protocol
software needed to access the Internet.

 ( v1.00 & 1.02 users-  Read these docs!  Significant changes! )



Requirements:
-------------

 AmiTCP versions 3.0b2 or 4.0
   (3.0b2 available at http://insti.physics.sunysb.edu/AMosaic/ftpdir/support
    and some of the ftp sites associated with AmiNet)

 An iNTERiNSTALL module file for your Internet Provider
   (Compuserve, EmpireNet, LogOnAmerica and Netcom supplied)

 PPP 1.30 by Holger Kruse (evaluation version)

 Serline 1.52 by Chris Laprise (supplied)

 Amiga OS 2.04 or greater



Procedure:
----------

 You must first de-archive the AmiTCP & PPP packages into the iNTERiNSTALL
directory. The resulting AmiTCP and PPP sub-directories _must_ be named
"AmiTCP-3.0b2" (or "AmiTCP-4.0") and "PPP" respectively.  Also put the
module file for your Internet Provider in the iNTERiNSTALL directory.

 Next, run iNTERiNSTALL by clicking the icon, or from Shell by CD'ing
to the iNTERiNSTALL directory and typing "execute iNTERiNSTALL".

 You will see some info, including the CPU you're using, and will be
asked questions concerning data that the ppp.device needs to function.
Be careful entering the device name, since device names are
case-sensitive.

 If all goes well, you should be asked for a modem initialization string.
A simple "ATZ" may do for you, but many modems differ in their defaults
and commands. If you are in doubt and you have a high-speed modem (9600
BPS or greater) then you need to supply a modem init. which does the
following:
           Enable RTS/CTS hardware flow control (suitable cable required)
           Disable software flow control (XON/XOFF)
           Enable ASB (data buffering)
           Enable error correction (V.42 or MNP4)
           Enable English-word result codes
           Cause CD line to track actual carrier-detect state
           Disable DTR hang-up mode  (Lets you resume connection after
                                     a crash. Otherwise, you can leave
                                     it enabled.. see notes below.)

On my modem, a Practical Peripherals PM14400FXSA, it would look like:
           AT&K1&Q5Q0V1&C1&D0

 If the procedure goes smoothly, you should see the `INSTALL COMPLETE'
message telling you to reboot the computer.



Usage:
------

 After rebooting, typing "internet" in a Shell should start the connection
(the PPP script window will appear, logon, then disappear). A small window
saying "StartInternet complete" will let you know when you can run your
internet programs (ncftp, telnet, AMosaic, etc.). The "internet" command
is just a Shell script in the S: directory that runs the
amitcp:bin/startinternet script with all I/O redirected to NIL:.  It's a
convenient way to start things and not have a Shell window stuck to the
Workbench screen. An icon has also been included in case you like to start
it from Workbench... just drag it to your favorite telecomm drawer. 
 
 For a quick test after connecting, try running ncftp in a Shell and then
typing "OPEN ftp.compuserve.com" or other addresses like "ftp.portal.com",
"ftp.wustl.edu".  Of course, Ping is always a good test.  Once you feel
that AmiTCP and PPP have been installed to satisfaction, you may delete
the iNTERiNSTALL directory.

 To disconnect, quit your internet programs and run stopnet. Stopnet will
ask "Also attempt modem hangup?"  Answering `n'o or just hitting return
will tell AmiTCP and PPP to shut down, at which point your provider should
hang up for you. But if you want to make sure the modem hangs up you can
answer `y'es and stopnet will send a hangup command to the modem in
addition to the AmiTCP/PPP shutdown. The modem hangup option makes good
sense if your modem is set to ignore DTR (which lets you Resume connection
after a crash/reboot, but also means the modem won't necessarily hang up
on its own when PPP shuts down).

 That's about it.... Good luck!

-Chris



NOTES:
------

 * The current PPP version (1.30) apparently has a buggy dialer. It may
   not behave properly with certain modem init. strings or telephone #s.
   For instance, when I changed the tel# to the CIS 1-800 line, the dialer
   would zip through almost the entire script seemingly ignoring the WAIT
   commands... it didn't even dial. Other numbers work OK for me.
   Another instance is when I changed the init. from ATZ to a longer, more
   explicit one (for testing) causing similar bad behavior.

 * Some programs require socket.library to work (this emulates Commodore's
   unreleased TCP software).  The startinternet script checks for this
   library in AMITCP:libs (not libs: !) and loads it if present.
   Unfortunately, socket.library has a tendency to "disappear" from a busy
   system; Even after it is loaded, it can be flushed from the system if
   memory gets low and the next time you try to load a program using it,
   the program will complain and exit. Not even putting socket.library in
   libs: helps this (these program won't do a 'loadlib' of their own). So,
   I've included an icon which will let you re-load the library.

 * Normally, you'll have to type the full AMITCP:bin/... path to use
   commands like ncftp, because you'll be missing a path-assignment
   (except when using 'internet' from Shell, the path will be set in
   that one Shell). You may want to put a "path amitcp:bin add" command
   in your s:shell-startup.

 * It is possible to *resume* a connection after a system reset (caused
   by a crash perhaps) so long as your modem is set to ignore DTR (i.e.
   it doesn't hangup when DTR turns off during a reset). Upon rebooting
   with your modem still connected, running the Internet startup should
   cause the connection to resume as if nothing happened.
   This is a nice feature that can save you lots of time when dealing
   with bug-ridden internet programs that keep crashing the system.
   
   Most modems can be set to ignore DTR with the &D0 command. If your
   init. string has a &D1 or &D2 command you can replace it with &D0.
   If your init. string is normally simple like ATZ (reset to defaults)
   and this default doesn't ignore DTR, you can try using ATZ&D0 instead.

   You can terminate the connection with Stopnet, and your ISP _should_
   hangup (stopnet also asks you if you also want to tell the modem to
   hang up).  However, if you seemed to connect in the first place but
   did _not_ get the Startnet Complete notice, then you should not try
   simply rebooting and resuming; something is wrong with the connection
   itself and the ISP's nameservers may be down.  Instead, run Stopnet
   (breaking the connection completely) then retry for a fresh connection.

 * Some people have reported problems with the installation stopping
   dead after the 'proceed?' prompt. Other people have had bizarre
   errors regarding ENV: variables (including the ppp0.config). All I
   can say to this is that it works with  A) A4000 WB3.0 with _lots_ of
   enhancements;  B) A3000 WB2.04 very enhanced & using GVP IOExtender;
   C & D) both systems booting plain "original" WB disks. If you have
   problems similar to the above, there is likely something wrong with
   your system (bad startup-sequence or some add-on utility conflicting
   with the normal operation of ARexx and Shell scripts). Before sending
   messages stating that you have found a so-called bug in iNTERiNSTALL,
   please check whether it works booting from a copy of a _plain_ WB2.04
   (or above) disk. (You can keep iNTERiNSTALL-AMITCP-PPP on the hard disk
   and run it from there even though you booted from a WB floppy.)
   
   For the people whom the installer stops after the 'proceed?' prompt,
   some have gotten it to work by running it from a Shell by cd'ing to
   the iNTERiNSTALL dir and typing "rx iNTERiNSTALL.rexx system <cpu>".
   For instance: "rx iNTERiNSTALL.rexx system 68000".  The problem seems
   to be related to how ARexx runs in a Shell created by IconX... on a
   _couple_ of people's systems (I suspect their WB has been damaged).
   
   Also, if you are having problems startng the connection, try starting
   it in a Shell with "execute amitcp:bin/startinternet" instead of
   using "internet".  This will allow you to see any error messages being
   generated.

 * Why did I use AmiTCP 3.0b instead of 4.0? Personally, I don't see
   any advantage to the demo version 4.0, and it can be a nuisance...
   ( . . . especially with *no* documentation!!! )
   Plus, once connected, 3.0b works as well and perhaps bit quicker
   than 4.0 demo.  The latest "gamma" update to AMosaic called
   2.0-prerelease won't run with v3, though it seems to be identical to
   AMosaic 1.4b4 (this runs under v3).

 * IIMOD files can be 'built' for different Internet Providers. However,
   it is currently limited to dynamic PPP links (no pre-assigned host
   numbers). The current IIMOD format simply describes the
   "envarc:sana2/ppp.dial" script and the "AmiTCP:db/netdb-myhost" file
   containing domain names and nameservers. The #MODULE and #END lines
   are necessary at the start and end of the dialer part (the rest is
   netdb-myhost). The ;INSTALL lines allow the installer to ask the user
   for info to be inserted into the working dial script.  The IIMOD
   filenames cannot contain spaces.
   
 * If you need a module for your Provider, mail me with the following:

        - The real name of the provider
        - Their domain name
        - The IP addresses of their nameservers (2 or more are nice)
        - Any logon prompts for name, password, service, host, etc.
          that lead to the PPP protocol startup.
          (supply the exact sequence, spelling and case!)
        - US$10 fee to cover my time and costs

   Also send your email address if you'd like the module quickly sent to
   you (otherwise a floppy will be sent).  The module that you get will
   be designated as a beta version until I receive word from you that it
   works.   (see above for my address)

 * Technical Stuff (the other stuff _wasn't_? :)
   There are things you need to know about AmiTCP if you want to be a power
   user.  The demo versions of AmiTCP all lack proper documentation, so
   it makes your life hard not only in using it, but also in deciding if
   AmiTCP can handle your needs and if it's worth paying for (IMO, NSDI,
   the authors of AmiTCP, are depriving themselves of profits this way).
   The NSDI people seem to assume that you _know_ AmiTCP is a port of BSD
   (Berkeley) Unix networking code.  So they give you software for which
   _lots_ of documentation exists, but since they do not tell you what the
   software really _is_, they blockade you from learning anything about it
   in a productive way. This is a major gaffe and hurts all parties
   involved: the prospective user, NSDI, and the Amiga itself!  NSDI, get
   a clue and at least put the following in your main 'readme' file:

      "AmiTCP is based on BSD (Berkeley) Unix networking code. Please
      consult a networking guide targetted for that operating system
      for the specifics on configuration and usage."



HISTORY:
--------

   1.51 Can now install AmiTCP version 4.0 as well as 3.0b2.
        Stopnet asks if it should shutdown AmiTCP (default is NO, meaning
        that only the PPP connection is broken). Added icon to reload
        the socket.library (AS225 emulation).

   1.50 Transformed into a modular format in which the Provider
        specifics are determined by .IIMOD files. These describe the
        dialer and "netdb-myhost" files. CIS and EmpireNet are included.
        The CIS dialer now overrides the initial menu.
        
   1.11 Added additional nameserver addresses to AmiTCP config.
        Stopnet checks if AmiTCP is running first (helps ensure that
        PPP will be told to go offline). Installer now handles paths
        containing spaces. Stopnet can attempt to tell the modem to
        hang up. 'Startinternet' makes sure that the serial port is not
        already in use. (The last two features required that I switch PPP
        back to using shared mode.)
        Version for EmpireNet released; Thanks to Thomas Barker for the
        net info and testing.

   1.03 Reduced PPP SERBUF size to 4096 since the default was stressful
        to some systems. Increased dialer DELAYs slightly. Added initial
        DELAYs before modem init. 'Startinternet' checks to see if AmiTCP
        is already running. Dialer uses '+' prefixes to help normalize
        the CIS logon text (Compuserve version).

   1.02	Added a work-around for the PPP dialer bug, which seems to work,
	by putting small DELAYs before each WAIT.
	Added icon to stopnet. 'StartInternet' script now insures that
	AmiTCP is not started up if PPP has failed to connect.

   1.01	Changed ppp.ds.cis script to use "+CIS" for Hostname, wait for
	"CT" instead of "00" on modem connect, and delay 1 sec after
	connect. These should work under wider range of circumstances.
	Changed INSTALLCIS.rexx to ensure script bits for 'internet'
	& 'stopnet'. From icon, the window is now AUTO and disappears
	if the script terminates. Also configs PPP to NOT use shared
	serial mode so any device conflicts are immediately suspected.
	Changed 'startinternet' to mount TCP: as well as INET: for
	programs like telnet.

   1.00	First release.

