home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 35 Internet / 35-Internet.zip / slip20b1.zip / readme < prev    next >
Text File  |  1993-04-12  |  18KB  |  469 lines

  1. ------------------------------------------------------------------------------
  2.  
  3.           OS/2 2.0 SLIP Driver for IBM TCP/IP v1.2.1
  4.  
  5.               Version 1.0 (Beta) - April 12, 1993
  6.               David Bolen - db3l@ans.net
  7.  
  8.                     README
  9.  
  10. ------------------------------------------------------------------------------
  11.  
  12. This file describes the contents of the SLIP20B1.ZIP archive, and presents a
  13. brief description of how to install the SLIP driver and get everything up and
  14. running.
  15.  
  16. This file contains the following sections:
  17.  
  18.     Driver History        Release history for SLIP Driver
  19.     Archive Contents    Description of the contents of the archive
  20.     Installation        Basic Installation Instructions
  21.     Getting Connected    Establishing the SLIP connection
  22.     Attach scripts        Using Rexx scripts to make a connection
  23.     Executables        Brief usage descriptions of executables
  24.     Reporting Problems    What procedure to follow to report problems
  25.     Administrivia        E-Mail addresses
  26.  
  27.  
  28. +----------------+
  29. | Driver History |
  30. +----------------+
  31.  
  32. This is the first beta release of the OS/2 2.0 SLIP Driver:
  33.  
  34.     Beta-1        April 12, 1993
  35.     ------
  36.  
  37.     Well, the alpha code turned out to be available for much longer and
  38.     more widely distributed than I had originally intended.  This release
  39.     is mostly a recognition of the fact that the code has already been
  40.     effectively tested as beta code.  It should be a short beta.  Note
  41.     that I did perform an internal code clean-up on the whole package, 
  42.     and there are a few externally-visible changes:
  43.         - All alpha/debugging output has been suppressed by
  44.           default.  A commmad line option of "-d" will re-enable
  45.           all debugging messages as before.
  46.         - A comma can now optionally be used in the slip.cfg
  47.           configuration file to separate elements.
  48.         - The Rexx script functions com_input and com_output have
  49.           been renamed to slip_com_input and slip_com_output.
  50.         - The return code from Rexx scripts now determines if the
  51.           driver exits.  A zero return code indicates success while
  52.           a non-zero value indicates failure.
  53.         The last two items above represent differences that will require
  54.     changes to any scripts that may have been written.  If you are using
  55.     the supplied slipup.cmd script, you can just use the new version
  56.     from this package.
  57.  
  58.  
  59.     Alpha-3        October 28, 1992
  60.     -------
  61.  
  62.     After a bit of a hiatus, I've added much of the functionality that
  63.     I want to go to beta with.  The big two user-visible items are a new
  64.     configuration file, and the support for calling a Rexx script to 
  65.     handle establishing the SLIP connection.  Internally, the core 
  66.     forwarding path has not changed, but a number of improvements have
  67.     been made to simplify handling multiple interfaces in the next update.
  68.     
  69.  
  70.     Alpha-2        September 24, 1992
  71.     -------
  72.  
  73.     This was a release solely of the SLIP Driver executable.  The new
  74.     executable contained a fix for the bug encountered when large packets
  75.     were received by the driver that exceeded the interface mtu.
  76.  
  77.  
  78.     Alpha-1        September 21 & 23, 1992
  79.     -------
  80.  
  81.     This was the first public release of the OS/2 2.0 SLIP Driver code.
  82.     The original release on 9/21 was augmented by a release of debugging
  83.     versions of the driver on 9/23 to aid in problem reporting.
  84.  
  85.  
  86. +------------------+
  87. | Archive Contents |
  88. +------------------+
  89.  
  90.  
  91. The SLIP20B1.ZIP archive contains the following files:
  92.  
  93.     readme        This file
  94.  
  95.     slip.exe    Main SLIP Driver
  96.     slipwait.exe    Utility to wait until SLIP is up and running
  97.     slipterm.exe    Simple terminal program for making SLIP connections
  98.     sliphold.exe    Utility to hold a COM port open
  99.     sldetach.exe    Utility for forceably detaching a SLIP interface
  100.     slcfg.exe    Utility to test parsing SLIP configuration files
  101.  
  102.     slip.cfg    Sample SLIP configuration file (store in ETC directory)
  103.     slipup.cmd    Sample SLIP attach script (keep somewhere in path)
  104.  
  105.     ifndisnl.sys    "Null" version of ifndis.sys.  This can be used in
  106.             place of the standard ifndis.sys if you are only using
  107.             the SLIP interface (no LAN interfaces)
  108.  
  109.  
  110. +--------------+
  111. | Installation |
  112. +--------------+
  113.  
  114. NOTE: In order to be able to use this SLIP driver, you must be running
  115.       OS/2 2.0, and you must have the current release of the IBM TCP/IP
  116.       package installed (at least UB02252 or above).
  117.  
  118.       This is critical!  If you have an earlier version, depending on the
  119.       level, SLIP may simply not run, or it may crash your system.  Or if
  120.       it doesn't, some utilites, like "netstat" - may...
  121.  
  122.       The most common indication that you are not running an appropriate
  123.       version is the message "Error 22 during DosDevIOCtl(SLATTACH)" during
  124.       the startup of the SLIP driver.
  125.  
  126.       The latest CSD for TCP/IP is available from ftp-os2.nmsu.edu.
  127.  
  128.  
  129.  
  130. Step 1 - CONFIG.SYS
  131. -------------------
  132.  
  133. Presuming you have used ICAT to install TCP/IP, your CONFIG.SYS should
  134. already be pretty well set up.  However, it's not absolutely necessary to use
  135. ICAT, and in fact if you are just copying TCP/IP off of an already installed
  136. machine to set up a SLIP machine, it may prove easier to just do the setup
  137. manually.
  138.  
  139. The important pieces of the puzzle are to have at least the following in your
  140. CONFIG.SYS:
  141.     DEVICE=\path\INET.SYS
  142.     DEVICE=\path\IFNDIS.SYS   (or IFNDISNL.SYS - see below)
  143.     RUN=\path\CNTRL.EXE
  144.    where "\path" is the location where you installed the TCP/IP binaries
  145.  
  146. If you are only using the SLIP interface (ie: a home machine), besides not
  147. requiring the protocol manager and assorted baggage, this SLIP driver does
  148. not really even require the ifndis.sys device driver.  If you like, you can
  149. replace ifndis.sys with the ifndisnl.sys (IFNDIS "Null") driver that is 
  150. supplied as part of this package.  This will save both the memory involved
  151. with ifndis.sys (all of the LAN interfaces and NDIS code), as well as
  152. several threads and 40-50K of stack in cntrl.exe.
  153.  
  154.  
  155. Step 2 - SLIP.CFG
  156. -----------------
  157.  
  158. You must place a file called SLIP.CFG in your ETC directory (pointed to by
  159. the ETC environment variable - normally \tcpip_root\ETC - where tcpip_root is
  160. where you installed TCP/IP).  A sample SLIP.CFG is supplied in the archive
  161. that describes in detail the format of the file.
  162.  
  163. For the most part, it is recommended that you start off with a default
  164. SLIP.CFG, and then experiment if you like after you have a running system.  
  165. However, there are two parameters that you may need to change just to get 
  166. anything running at all:
  167.  
  168.     device        Set this to the COM device to run the SLIP
  169.             interface over (if something other than COM1)
  170.     compression    Set this to OFF if the far end of the SLIP link
  171.             does not understand VJ compression.
  172.  
  173. So for an interface without compression using COM3, you would change the
  174. supplied SLIP.CFG file interface line from:
  175.  
  176.     interface sl0 { }
  177.  
  178. to
  179.  
  180.     interface sl0 { device=com3  compression=off }
  181.  
  182. If you disable compression, you may also find that you need to increase 
  183. your MTU size to 1006, which is the older SLIP default MTU for an uncompressed
  184. link.  If you do not increase the MTU, you may receive messages in the SLIP
  185. driver's window of the form:
  186.  
  187.     Warning: Received packet (###) > MTU (296)\n",
  188.  
  189.  
  190. Step 3 - SLIP Executables
  191. -------------------------
  192.  
  193. You should load the remaining SLIP executables into whatever directory you
  194. would like, and place that directory in your PATH for easy access to the
  195. utilities.  The sample script (SLIPUP) and any other scripts you may write
  196. should also be located either in the directory where you start the SLIP
  197. driver (SLIP.EXE) or somewhere along your PATH.
  198.  
  199.  
  200. +-------------------+
  201. | Getting Connected |
  202. +-------------------+
  203.  
  204. In general the following steps are the simplest for getting a SLIP connection
  205. up and running.  If you want to use the Rexx scripting capability for
  206. automating this process, see the next section.
  207.  
  208. 1. Configure your COM port appropriate for baud/parity, etc..  For example,
  209.     mode com1: 38400,n,8,1,buffer=auto,rts=hs
  210.    (Adjust the port number, baud rate, etc.. as appropriate.  If you have
  211.     a 16550 UART, I'd strongly suggest trying buffer=on for improved
  212.     performance)
  213.  
  214.    This can also be put in your CONFIG.SYS via a CALL= command if you like.
  215.  
  216. 2. In a separate OS/2 command process (window or full-screen), start the
  217.    SLIP driver (slip.exe).  You can also put it in its own window by
  218.    using the "start" command (ie: "start slip").
  219.  
  220.    In theory, the SLIP driver can be run as a background driver, as CNTRL.EXE
  221.    is, and could be started from config.sys.  However, in general (especially
  222.    for the beta) I'd recommend leaving it in a window you can see, in case 
  223.    diagnostic messages are displayed.
  224.  
  225. 3. If you need to dial a number and perhaps log into a system to start
  226.    SLIP, run SLIPTERM at this point.  SLIPTERM will put up a banner,
  227.    request access to the COM port from SLIP, and then allow you to talk
  228.    to the modem directly.  SLIPTERM is just a very simple communications
  229.    program.  You will have to enter any dialing commands manually (ie: ATDT),
  230.    but it will allow you to perform any operations (such as logging in
  231.    and issuing some initial startup commands) that you may need to create
  232.    an active SLIP link.  Press F10 (or ESC) when done.
  233.  
  234. 4. Configure the SLIP interface with your SLIP address, and with the
  235.    address of the far end.  Note: Unlike IBM's driver, my SLIP driver sets
  236.    up serial interface "sl0", not just "sl":
  237.     > ifconfig sl0 147.225.2.15 147.225.2.1
  238.               (you)      (far end)
  239.  
  240. 5. If you like, add a default route through the far end:
  241.     > route add default 147.225.2.1 1
  242.                  (far end)
  243.  
  244. At this point you should be all up and running.
  245.  
  246. You can place all of this in a command file if you like.  If you do this,
  247. the command file can check ERRORLEVEL after running SLIPTERM.  If it is 
  248. non-zero, then SLIPTERM exited via ESC, while if it is 0, F10 was used.  This
  249. can be used to control whether the SLIP interface is actually configured.
  250.  
  251. Also, if you are automating this process, you may want to use either SLIPWAIT
  252. or the "-w" option on SLIPTERM.  SLIPWAIT takes a single numeric argument
  253. which is the # of seconds to wait for SLIP to complete starting up (and it
  254. defaults to 30).  This can be used to pause a command script while waiting
  255. for SLIP.EXE to fully start up.
  256.  
  257. Specifying "-w##" to SLIPTERM will cause it to also wait for SLIP to finish
  258. starting up.  ## specifies the number of seconds to wait, or if not given
  259. (ie: you just use "-w") it defaults to 30 seconds.
  260.  
  261.  
  262. +----------------+
  263. | Attach Scripts |
  264. +----------------+
  265.  
  266. One of the nicer features of this SLIP driver is the ability to use Rexx
  267. scripts to automate the attachment of a SLIP interface.  The SLIP driver will
  268. automatically execute an attach scripts when it starts up and is creating the
  269. SLIP interface.  Scripts are free to use the full power of Rexx and issue
  270. OS/2 commands as necessary.  In addition, the SLIP driver defines Rexx
  271. functions that can be used to access the COM port that the driver is using
  272. for the interface.
  273.  
  274.  
  275. Defining a Script
  276. -----------------
  277.  
  278. In order to use a script for an interface, you need to set the "attachcmd"
  279. and "attachparms" parameters in the interface definition in the SLIP
  280. configuration file SLIP.CFG.  For example, the entry:
  281.  
  282.      interface sl0 { attachcmd "slipcall" attachparms "these are parms" }
  283.  
  284. would cause SLIP to run the script "slipcall.cmd" and pass in the parameters
  285. "sl# , these are parms".  SLIP will always pass in the name of the interface
  286. for which the script is running as the first argument, with the attachparms
  287. value as the second argument.
  288.  
  289. Currently this script is only run once, when SLIP starts up for the
  290. interface.
  291.  
  292.  
  293. SLIP Rexx Functions
  294. -------------------
  295.  
  296. The following functions are available to Rexx scripts running beneath the
  297. SLIP driver:
  298.  
  299.      slip_com_input ( interface , [ max_characters ] , [ timeout ] )
  300.  
  301.     Reads characters from an interface's COM port.  
  302.  
  303.     interface    The name of the interface (ie: sl0), and should be 
  304.             the same as the    interface name supplied as the first 
  305.             argument to the script.
  306.     max_characters    The maximum number of characters to return with 
  307.             this call.  It may return less.  The default is to
  308.             return up to 255.
  309.     timeout        How long to wait (in milliseconds) if no data is
  310.             available on the port.  If this is not specifed, or
  311.             is given as 0, it will wait forever until some data
  312.             arrives.
  313.  
  314.  
  315.      slip_com_output ( interface , string )
  316.  
  317.     Write characters to an interface's COM port.
  318.  
  319.     interface    The name of the interface (ie: sl0), and should be 
  320.             the same as the    interface name supplied as the first 
  321.             argument to the script.
  322.     string        Character string to be sent to COM port.  Nothing
  323.             is done to the string, nor is any automatic CR added,
  324.             so you must specify exactly what characters to send.
  325.  
  326.  
  327.     Note that even when this function returns to the Rexx script, not all
  328.     of the characters may have been physically transmitted over the COM 
  329.     port.  There are internal buffers within the SLIP driver that may 
  330.     hold the outgoing COM data while the port is busy or disconnected.
  331.  
  332.  
  333.      slip_getch ()
  334.  
  335.          Read a character (no echo) from the keyboard
  336.  
  337.     This function simply waits for the user to press a key and returns
  338.     that key.  It does not echo the keypress to the screen.  It is
  339.     designed to be used for when scripts need to prompt the user for
  340.     a password or other sensitive information.
  341.  
  342.     This function will only work if the SLIP driver is running within
  343.     an OS/2 command session where a user may interact with the driver.
  344.     If it is running as a detached session, this function will always
  345.     return an empty string.
  346.  
  347.  
  348. Sample Attachment Script
  349. ------------------------
  350.  
  351. The file SLIPUP.CMD in the archive is a sample script that I have used to
  352. make a SLIP attachment through our Xylogics Annex Terminal Server.  It may
  353. prove useful as an example on how to write such scripts for other
  354. environments.
  355.  
  356. More detailed comments are available within the script itself, however its
  357. basic purpose is to issue a dial command, handle the Annex logon, issue a
  358. SLIP command, and then parse the answer to appropriately configure the sl0
  359. interface with the right address.
  360.  
  361.  
  362. Comments
  363. --------
  364.  
  365. I'm very interested in feedback as to what sort of additional support the
  366. SLIP driver could provide to make it easier to write Rexx scripts for this
  367. sort of purpose.
  368.  
  369.  
  370. +-------------+
  371. | Executables |
  372. +-------------+
  373.  
  374. slip.exe    Main SLIP Driver
  375.  
  376.    Usage: slip [-d]
  377.  
  378.    -d enables debugging (voluminous) output.
  379.  
  380. - - - - -
  381.  
  382. slipwait.exe    Utility to wait until SLIP is up and running
  383.  
  384.    Usage: slipwait [##]
  385.  
  386.    ## specifies # of seconds to wait (default = 30)
  387.  
  388. - - - - -
  389.  
  390. slipterm.exe    Simple terminal program for making SLIP connections
  391.  
  392.    Usage: slipterm [-w[##]] [-d]
  393.  
  394.    -w says to wait for SLIP.  ##=seconds and defaults to 30.
  395.    -d is debugging mode - continue without SLIP
  396.  
  397. - - - - -
  398.  
  399. sliphold.exe    Utility to hold a COM port open
  400.  
  401.    Usage: sliphold
  402.  
  403. - - - - -
  404.  
  405. sldetach.exe    Utility for force a detach of interface sl0
  406.  
  407.    Usage: sldetach interface
  408.  
  409.    interface is name of interface to detach - must be 'sl0'
  410.  
  411. - - - - -
  412.  
  413. slcfg.exe    Utility to test parsing SLIP configuration files
  414.  
  415.    Usage: slcfg config_file [-d]
  416.  
  417.    config_file is name of file to process.
  418.    -d enables debugging mode (extra internal debugging output during parse)
  419.  
  420.    
  421.  
  422. +--------------------+
  423. | Reporting Problems |
  424. +--------------------+
  425.  
  426. Should anyone encounter problems - either usage problems or actual code
  427. problems (especially those that cause crashes), I'd appreciate the following
  428. being done, in order to best help me try to narrow down the problem.
  429.  
  430.      1.    Record whatever information you can as to the circumstances
  431.     surrounding the crash, and any dump information.  If possible,
  432.     please see if the problem is reproduceable.
  433.      2. If you are using VJ compression, try disabling it (use the
  434.         parameter "compression=off" in SLIP.CFG) and see if the problem
  435.     can be reproduced.
  436.      4. Run SLIP with the -d (debug) option and try to reproduce the
  437.     failure.  Using debug mode will generate lots of debugging
  438.     information to be output (and will slow down the driver).  The best
  439.     thing to do is to redirect the output to a log file.
  440.      5. If possible, try using the standard IBM SLIP driver in the
  441.     same environment and see if the same result occurs.
  442.  
  443. After doing this, please send me as much information about the crash and the
  444. resulting debug information as you can.  I guess the best thing to do is for
  445. actual crash reports to come directly to me (I can summarize problem
  446. environments to the list), while more general problems about configuration,
  447. or getting the link to work can be sent to the list.
  448.  
  449. For crash information, please be as verbose as you can about the environment
  450. in which you are running.  I may not need most of the information, but I
  451. may not automatically know up front what I do need.
  452.  
  453.  
  454. +---------------+
  455. | Administrivia |
  456. +---------------+
  457.  
  458. Just to keep this in one place - I can be reached via the following:
  459.  
  460.     David Bolen                e-mail:  db3l@ans.net
  461.     Advanced Network & Services, Inc.    phone:   +1 914 789-5327
  462.     100 Clearbook Road            fax:     +1 914 789-5310
  463.     Elmsford, NY  10523
  464.  
  465.  
  466. and mail to the mailing list for the beta version of my SLIP driver should
  467. be sent to "os2-slip@ans.net".  Requests for additions to/deletions from the
  468. list should be sent to "os2-slip-request@ans.net".
  469.