Rank Amateur's Guide to SLIrP/PPP Connection Using Warp IAK


You are visitor number
Let's get one thing straight from the start. I'm no TCP/IP expert, nor am I even au fait with much of the Internet in general. What I am is an "Mr Average User", and if I qualify for that, I'm about as average as you can get.

I chose to use a PPP connection as that was the simplest to set up and most reliable. If you require SLIP, or if you desire a more technical approach, I suggest you go and check out pages written by people far more qualified than myself.

If it's an "idiots" guide to SLIrP/PPP setup you want, you've come to the right place.
Since I have a BBS Service Provider, this doc may relevant to all other BBS users who can't simply fill in the IAK gaps and be ready to go.
As much as possible, I've made this guide a "do this, this and this and it should work" type doc.



What You Need

To get going you will need:


I won't bore you with the details on how to unzip/where to put things as they should be in the respective packages
i.e. RTM

Setting up SlipPM

Here are the settings I used (insert details relevant to you). Most of these are fairly standard stuff so skip this if you wish.

Page 1:

     *Name                  Cyberlink2
      Description           Line2
      Login ID              tsdjaj
      Password              Elvis*Lives
      Phone Number          361581
      Login Sequence        cbl2.cmd
      Connection Type       PPP

Page 2:

     *MRU SIze              1006
      VJ Compression        ON
      Domain Nameserver     203.7.198.1
      Your Host Name        tsdjaj
     *Your Domain Name      lin.cbl.com.au
The Domain Nameserver is particularly important. Make sure you get it right.

Page 3:

      News Server           lin.cbl.com.au
      Gopher Server         
      WWW Server            lin.cbl.com.au
      POP Mail Server       lin.cbl.com.au
      Reply Domain          lin.cbl.com.au
      Reply Mail (ID)       tsdjaj
      POP Login (ID)        tsdjaj
      POP Password          Elvis*Lives
Page 4:
      Com Port              3
      Speed (baud)          57600
      Data Bits             8
      Parity                NONE

Playing it safe: a manual login

Knowing how to do a manual login is especially important for BBS users, who are prone to login script failures whenever the sysop tinkers with the login routine. If your sysop is prone to fiddle around with his login routine, you may find that may well be less heartbreak to just manually login everytime.

IMPORTANT NOTE: In my experience I have found that SLIrP is occassionally confused if your provider is a BBS operating a LAN. It seems to see the LAN IPs and uses them instead of your providers proper IP numbers. This may result in your messages just bouncing around the LAN and not getting out into the world.
Symptoms of this include domain names not being resolved properly with no connections possible "off board".

These settings are appropriate for a 14.4k modem on com 2. Change relevant bits.

  1. Open an OS/2 window (#1)
  2. Type: ppp com2 57600 10.0.2.15:YOUR_HOSTS_IP_NUMBER rtscts
  3. Minimize this window and don't touch it for the duration of the connection
  4. Open another OS/2 window (#2)
  5. Type: pppterm com2 ppp0
  6. Wait until pppterm says it's ready
  7. Type in your modem initialization string
  8. Wait for your modem to say it's ready.
  9. Type: atdtYOUR_SERVERS_PHONE_NUMBER
  10. If busy, repeat previous
  11. When you have a connection, proceed with a manual login as instructed on screen.
  12. When you get to the unix/linux prompt type: slirp -P -b 57600 "mtu 1006"
  13. When slirp says it's ready, press F10 to leave pppterm
  14. At the OS/2 prompt, type: route add default YOUR_HOSTS_IP_NUMBER 1
  15. Press return
  16. Close window (#2)
You should now have a fully functioning PPP connection.

To kill the connection, close the ppp.exe window that you minimized before.

NOTE: On my machine, closing ppp.exe in this manner or exiting by ctl-c from the window, leaves ppp crippled. In order to open another PPP connection, I have to reboot the machine.


Setting up a login script

Find a sample login script in your \tcpip\bin directory, edit it as follows, then save it to the \tcpip\bin directory as whatever name you like. It should be something like mylogin.cmd. Ensure that you use this name in the SlipPM dialler where you enter "login sequence".

Again, these settings are appropriate to a 14.4k modem on com2. Modify as necessary.

After this:

/* ************************************************************ */
/* You may need to customize this for your modem make and model */
/* ************************************************************ */

Add:
'mode com2:576 n 8 1 dtr=on buffer=on rts=hs octs=on'

Result:

/* ************************************************************ */
/* You may need to customize this for your modem make and model */
/* ************************************************************ */
'mode com3:576 n 8 1 dtr=on buffer=on rts=hs octs=on'

Where you see this:

/* ************************************************************ */
/* You may need to customize this for your modem make and model */
/* ************************************************************ */
call lineout , 'Reset modem...'
call send 'ATZ' || cr
call waitfor 'OK', 5 ; call flush_receive 'echo'
 if RC = 1 then do
    call lineout , 'Modem not resetting... Trying again'
    call send '+++'
    call waitfor 'OK'
    call send 'ATZ' || cr
    call waitfor 'OK', 3
  end

Where you see ATZ, replace with:

YOUR_MODEM_INITIALIZATION_STRING

Result will look something like:

/* ************************************************************ */
/* You may need to customize this for your modem make and model */
/* ************************************************************ */
call lineout , 'Reset modem...'
call send 'ATE1Q0V1M1N1S95=40X4Y0&C1&D2&K3&Q5&R0&S1&T5S7=60S0=2S37=0' || cr
call waitfor 'OK', 5 ; call flush_receive 'echo'
 if RC = 1 then do
    call lineout , 'Modem not resetting... Trying again'
    call send '+++'
    call waitfor 'OK'
    call send 'ATE1Q0V1M1N1S95=40X4Y0&C1&D2&K3&Q5&R0&S1&T5S7=60S0=2S37=0' 
|| cr
    call waitfor 'OK', 3
  end

Where you see:

/* ************************************************************** */
/* ************************************************************** */
/* IMPORTANT!!! Change the following phone number to that of your */
/*              Internet provider...                              */
/* ************************************************************** */
/* ************************************************************** */
/* Wait for connection */
call send 'atdt12345678' || cr
call waitfor 'CONNECT' ; call waitfor crlf

Change 12345678 to your providers phone number

Result should look something like:

/* ************************************************************** */
/* ************************************************************** */
/* IMPORTANT!!! Change the following phone number to that of your */
/*              Internet provider...                              */
/* ************************************************************** */
/* ************************************************************** */
/* Wait for connection */
call send 'atdt361582' || cr
call waitfor 'CONNECT' ; call waitfor crlf

Here's the tricky part:

Delete everything between and including:

/* ************************************************************** */
/* ************************************************************** */
/* IMPORTANT!!! This is what your provider's login screen prompts */
/*              you for. If your provider's prompt prompts for    */
/*              'login:' or something else, you will need to      */
/*              change this.                                      */
/* ************************************************************** */
/* ************************************************************** */

And:

call send 'mypassword' || cr

This is the part of the login script that handles your particular login session. If your login system is a simple name/password routine like:

Your Name: Joe Bloggs
Joe Bloggs [Y/n]?: Y
Password: Elvis*Lives
Last login: Sun Aug 20 05:22:22 from tserv.cbl.com.au
Linux 1.2.11. (POSIX).
lin:~$

Insert the following, changing the details for your situation:

call waitfor 'Name:' ; call flush_receive 'echo'
call send 'Joe Bloggs' || cr
call waitfor '[Y,n]?' ; call flush_receive 'echo'
call send 'y' || cr
call waitfor 'Password:' ; call flush_receive 'echo'
call send 'Elvis*Lives' || cr

The result should look something like:

/* Handle login.  We wait for standard strings, and then flush anything */
/* else to take care of trailing spaces, etc..                          */
/* call send cr */
call waitfor 'name:' ; call flush_receive 'echo'
call send 'Joe Bloggs' || cr
call waitfor '[Y,n]?' ; call flush_receive 'echo'
call send 'y' || cr
call waitfor 'Password:' ; call flush_receive 'echo'
call send 'Elvis*Lives' || cr
call waitfor 'lin:~$' ; call flush_receive 'echo'
/* The script then sends the SLIP command to the remote system */
/* ************************************************************** */
/* ************************************************************** */

If you are a BBS user who has to login to the Internet through the BBS, you're needs are considerably different.

For example, my login routine runs along the lines of:

                                Welcome To
                            ********************
                            *  CYBERLINK BBS   *
                            ********************
                            (Formerly DataBus/2)
     
What is your name: Vic Djajamihardja
Vic Djajamihardja [Y,n]? 
Password: Elvis*Lives
                [B] - BBS          [I] - Internet or Email
                    You have 170 minutes left today.
Select:i
Telnet Door V0.05k WIDE BETA, copyright 1995 Russell Coker.
Registered to Gary Smith of Cyberlink for 4 nodes.
Serial number:10009.
Connected to lin.cbl.com.au (192.168.0.1) using service telnet
Linux 1.2.11 (lin.cbl.com.au) (ttyp1)
lin login: tsdjaj
Password:  Elvis*Lives
Last login: Sun Aug 20 05:22:22 from tserv.cbl.com.au
Linux 1.2.11. (POSIX).
lin:~$ 

As a result, my login script includes:

call waitfor 'name:' ; call flush_receive 'echo'
call send 'Vic Djajamihardja' || cr
call waitfor '[Y,n]?' ; call flush_receive 'echo'
call send 'y' || cr
call waitfor 'Password:' ; call flush_receive 'echo'
call send 'Elvis*Lives' || cr
call waitfor 'Select:' ; call flush_receive 'echo'
call send 'I' || cr
call waitfor 'login:' ; call flush_receive 'echo'
call send 'tsdjaj' || cr
call waitfor 'Password:' ; call flush_receive 'echo'
call send 'Elvis*Lives' || cr
call waitfor 'lin:~$' ; call flush_receive 'echo'

The general rule of thumb is, if your host asks:

Gimme parameter A or B?

You have to include a two lines in your script like:

call waitfor 'A or B' ; call flush_receive 'echo'
call send 'A' || cr

If you're not a programmer or technocomputer head, this can be very confusing. Don't worry. Just sit down and write down all the questions the computer asks you when you log in manually. Then for each question, write a small subset of that question (eg 'Name' from the question 'What is your Name:?') and use that in a 'call waitfor' line.

After that, use the response you would type to the question in the 'call send' line, the net result being:

call waitfor 'name:' ; call flush_receive 'echo'
call send 'Vic Djajamihardja' || cr

The important thing to do is make sure the question and answers are in the right order.

If your BBS pops up with the random Date of Birth question, then I suggest you stick to a manual login.

Where you see:

/*              corresponding to the slip 'menu' option. If your  */
/*              provider has a different menu option to 'slip'    */
/*              you will need to change this.                     */
/* ************************************************************** */
/* ************************************************************** */
call send 'slip' || cr
/* Parse the results of the SLIP command to determine our address. */
/* We use the "waitfor_buffer" variable from the waitfor routine   */

Change to read:

/*              corresponding to the slip 'menu' option. If your  */
/*              provider has a different menu option to 'slip'    */
/*              you will need to change this.                     */
/* ************************************************************** */
/* ************************************************************** */
call send 'slirp -P -b 57600 "mtu 1006"' || cr
/* Parse the results of the SLIP command to determine our address. */
/* We use the "waitfor_buffer" variable from the waitfor routine   */

There! All done, You should now have a fully functional login script that is custom built for your situation.


Using the Dial Other Providers Dialler

Having learnt how to do a manual login and having prepared your own customized login script, you are now ready to crank up the SlipPM dialler that you configured earlier.

All you have to do is make sure your login script is in the tcpip\bin directory and that it's named in the login sequence box on page 1 of the dialler settings. Then press dial and you're cooking with gas :-)


What you get

If all has gone as planned, you should now be able to get SLIrP and PPP to run from both a manual login and using SlipPM dialler. All the BonusPak programs should be working, with the notable exception of FTPPM. To get FTPPM going, you must edit the file protocol in your \tcpip\etc directory. Using any text editor, find the line:

icmp    1       ICMP    # internet control message protocol

and change it to:

#icmp    1       ICMP    # internet control message protocol

Modem Initialization

You can find your modem initialization strings in the file modem.lst in the tcpip\etc directory.

Use the string in the last column.


Visit the world of Cyberlink Access Systems
Sign the Cyberlink Guest Book
Caveat: Although this set up works fine for me, I can't guarantee any results for others. If there is any damage caused by using the information presented on this page, it's your own fault ;-)

This has been a Rank Amateur Production.
Author: Vic Djajamihardja