Etherppp packet driver additional information

History

The etherppp driver was developed at the Merit Network Inc. and the University of Michigan. They take the sources from the KAQ9 Package and take out the ppp routines. Additionally the new released features described in the PPP RFCs had been implemented.

The main work was done by Glenn McGregor, the author of the ppp rfc 1332.

What is PPP good for?

If you have some tcp/ip software (using a packet driver interface) and a connection over a telephone line to your IP provider you can use the software in the same way as on an ethernet connection (but a little bit slower ;-)). With SLIP also but PPP has additional features, the difference is not discussed here.

I found that all software I had tested also run with etherppp. The main problem is that the driver needs 120 Kbytes memory so that some applications suffers. Windows applications using the Trumpet winsockets (Shareware!) by P. Tattam runs also (but the last winsock betas (>19) has a PPP driver implemented).

Guideline to use the driver

Read the etherppp READ.ME file.

Important options of PPP.EXE

The etherppp driver (ppp.exe) can be executed from command line but it should be called from a batch because of the parameters. With no options it will use some defaults. The common used options (don't use the brackets!) :

/c <nr>

the serial port on which the modem is connected (if the port address or interrupt is not usual see the READ.ME file)

/s <speed>

bit rate of the line between the computer and the modem (should be more than the established bit rate between the two modems)

/d script

if you say here "script" a dailup script called dial.ppp (or a different file defined in the environment variable DIAL.PPP) is used for dialing and login into the ppp server. You can also put here some modem command but usually you have additionally log into the server!

/p <0x60>

address of the vector of the driver in the memory (default 0x60)

Set up the dial.ppp script

Here is a sample script, add always a \r (i.e. return) at the end. Maybe its voodoo but I use often a recv 1000 "" to be sure that the peer is ready.

Initialization of the modem, new ones have a nvram ...

send "AT<INITSTR>\r"

modem should say "I'm ready"

recv 2000 "OK"

DP = pulse, DT = tone dialing; number for the ppp server

send "ATDP123456789\r"

wait for the login prompt

recv 60000 "login: "
recv 1000 ""

put here your username

send "username\r"
recv 5000 "Password: "
recv 1000 ""

put here your password

send "password\r"

wait for some kind of ppp start message

recv 10000 "PPP start"
recv 1000 ""

May be you have to switch the terminal server into ppp mode, so you have to add this into the script.

Set up config.ppp

I use only this config.ppp:

ppp trace 1
ppp quick
ppp lcp open

Using Windows 3.1

Before you use windows you have to load the winpkt.com driver.

winpkt 0x60

The option is the vector of the etherppp driver.

If you don't want run windows in standard mode you have to set in the system.ini in the 368 enhanced section the lines:

[386Enh]
ComXAutoAssign=0
ComXBase=0
ComXIrq=-1

Whereas X is the serial port # of the modem.

The IP addresses

In most tcp/ip applications you need the IP addresses of the local host, the name server and the gateway. One way is to ad they manually in the setup's or ini files. The gateway and domain name server addresses are static, but the ppp host address normally alternates. The better way is using an application which is able to send rarp-requests to get the host address. The etherppp driver answers rarp- and bootp-requests locally. But the IP addresses for domain name server and gateway you will get by using bootp are some machines at Merit (Mich.) which are useless.

At the Trumpet winsock one has to use rarp for the IP address and put the gateway and name server address manually in. So all winsock applications will know the right addresses.

The gateway address is on ppp not necessary because every packet you had has to go through the serial line to the ppp server behind, which has the task to send the packets to the right place. But some applications need the gateway address, it's always the ppp server at the peer site.

Closing the ppp session

You end the session by unloading the etherppp driver

termin 0x60

Features (bugs??) of etherppp

It responds bootp requests but the name server and gateway address points to some maschines at merit. Don't use bootp at the applications. Rarp is ok.

Juergen Schroeder <js@turn.to>