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.
Choose the appropriate item to be teleported to another site where they can be obtained.
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.auThe 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*LivesPage 4:
Com Port 3 Speed (baud) 57600 Data Bits 8 Parity NONE
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.
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.
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.
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 :-)
icmp 1 ICMP # internet control message protocol
and change it to:
#icmp 1 ICMP # internet control message protocol
Use the string in the last column.