Notes on Etherppp ----------------- Few Internet applications understand PPP packets - Minuet, for example, does not. Etherppp (PPP.EXE) is a PPP packet driver that emulates Ethernet for use with applications that don't support PPP (*every* app supports Ethernet). Etherppp works best with older modems (14.4k and below); use Klos PPP for newer, faster ones. PPP.EXE uses two configuration files (DIAL.PPP and CONFIG.PPP) and several command-line options. See the READ.ME file in the Etherppp package to find out about DIAL.PPP. See ETHERCMD.TXT in the Etherppp package to find out about CONFIG.PPP. Here are some of the command-line options; see READ.ME for more information: /b 0x2e8 Comm port base address for nonstandard setup. You can use /c instead of /b and /i if you have your modem on a standard COM: port. /c 1 Use this if the modem is on a standard COM: port. Values can be 1, 2, 3, or 4. If the modem's IRQ or base address are different from a standard COM: port, you need to use /b and /i to specify them. /d script Run dialup script DIAL.PPP. Note: this is "/d script" verbatim, not "/d " - the name of the script is hard-coded. If PAP is being used for authentication, you can specify a dialing string instead, ex. "/d atdt5551212". Using a dialing string instead of a script will only work if the provider connects you right up without requesting username, password, protocol, etc. /f 0 This option supposedly disables FIFO checking. It doesn't work any more in version 1.9.49 and will cause the command line to be ignored, so don't use it. /h 0 Don't use hardware flow control (RTS/CTS). PPP.EXE probably won't work if you try this. Old modems without flow control will work fine anyway. /i 5 IRQ line for nonstandard setup. You can use /c instead of /b and /i if you have your modem on a standard COM: port. /k 1 Specify packet type to use. Valid values are 1 (Ethernet) or 15 (PPP). Most applications do not support PPP packets, so you should leave this one alone (default is Ethernet). /p 0x60 Set the packet driver interrupt. There is no need to use this option unless you want to use two packet drivers. 0x60 is the default. /s 2400 Set modem speed to 2400 baud. /u The docs say this is for specifying your PAP username and password, but in fact it unloads the driver ("ppp /u" is the same as "termin 0x60"). If you need to specify the PAP username and password, do so in CONFIG.PPP. PPP.EXE does not appear to support CHAP authentication. /v This sets "verbose mode," displaying the progress of the connection. In the last version that I had, it didn't work. Now it does. If you got Etherppp from ftp.agate.net:/users/01935/internet before, it was version 1.9.37. This is the newest one, v1.9.49. 1.9.37 is still out there on the 'net if you want it (try archie - filename etherppp.zip), and it is much easier to find than this version. Unfortunately, it seems that the documentation doesn't change when the program does, so the command-line parameters don't all work as advertised. An invalid command line doesn't always get you a syntax message; PPP.EXE often responds to invalid command- line syntax by ignoring all the parameters (even the valid ones). When you do get a syntax message, take it with a grain of salt - it hasn't been updated either. The "ppp trace" command in CONFIG.PPP does not seem to do anything. Using "/d script" on the command line, the script executed will be DIAL.PPP in the directory where PPP.EXE was installed (under DOS 3.0 or later) or in the current directory (earlier DOSes). CONFIG.PPP will automatically be executed if it exists and will be in the same place. In other words, DIAL.PPP and CONFIG.PPP need to be in the same directory with PPP.EXE, you can't change their names, and under DOS 2.x you need to change to the directory where PPP.EXE was installed to run it. PPP.EXE takes 126624 bytes of conventional RAM when loaded. If you have too many TSR's and device drivers in your CONFIG.SYS and AUTOEXEC.BAT, you might not have enough RAM left to run Internet applications, so get rid of stuff you can do without (I just have a mouse driver and an EMS driver loaded on my Tandy 1000TL). Obviously you don't want to type all those command-line options each time. The solution to this is to create a batch file PPPOPEN.BAT that will open the PPP connection. Here is the PPPOPEN.BAT I use to connect to Agate with a 2400-baud modem on COM4:, IRQ 5. For DOS 2.x you would need to add a line to change to the directory where you installed Etherppp: e:\internet\ethernew\ppp /i 5 /b 0x2e8 /s 2400 /d script /v Here is a DIAL.PPP script that can be used for Agate. The timings are conservative; shorter waits on the "recv" commands are probably acceptable. Change atz to your modem initialization string (atz will work if you have your modem's NVRAM set up right; at&f will work on most newer modems). Change 990-0714 to your local Agate access number. Change username to your Agate username. Change password to your Agate password. Omit the begin and end lines: ------- DIAL.PPP script for Agate begins ---------- send "atz\r" recv 10000 "OK" recv 1000 send "atdt990-0714\r" recv 60000 "CONNECT" recv 10000 send "\r" recv 30000 "ogin:" recv 1000 send "username\r" recv 30000 "ssword:" recv 1000 send "password\r" recv 30000 "beginning...." ------- DIAL.PPP script for Agate ends ------------ The modem needs to be set up to hang up the modem when DTR is dropped (&D2). If it uses data compression or error correction, they should be enabled. If it provides hardware flow control, enable that. DCD should follow the true state (&C1). PPP.EXE will not load if it cannot set up a connection. In version 1.9.49, it is now possible to break the PPP connection without rebooting (1.9.37 required a hard reset). The first way is to enter "ppp /u" at the DOS prompt (this is an undocumented option, BTW). The other way is to enter "termin 0x60". These two do the same thing: break the PPP connection, hang up the phone, and unload the packet driver. If you use TERMIN.COM, you should probably use the version in the Etherppp package and not the one in the Umslip package. If you forget to close the connection when you're done, you'll be unpleasantly surprised by your service provider's bill :-). Here is the PPPCLOSE.BAT I use to end a session: e:\internet\ethernew\ppp /u Consult ETHERCMD.TXT for information on writing a CONFIG.PPP script; I can't say that I entirely understand it myself. Here is a script that seems to work for Agate. Change 199.191.1.70 to the IP address of your Agate gateway (199.191.1.70 is for the Bangor server - ask them for the gateway if you don't call the Bangor number). The nameserver for Agate is either 199.191.1.2 or 199.191.0.12; use the one they gave you. Change 127.0.0.1 to the IP address you were assigned by Agate. Omit the begin and end lines: ------- CONFIG.PPP script for Agate begins -------- ppp trace 0 gateway 199.191.1.70 nameserver 199.191.1.2 ppp ipcp local compress tcp 16 1 ppp ipcp local address 127.0.0.1 ppp ipcp open ppp lcp local accm 0 ppp lcp local acfc on ppp lcp local pfc on ppp lcp local magic on ppp lcp open ------- CONFIG.PPP script for Agate ends ---------- If you're not on Agate, you can try the built-in CONFIG.PPP. If it's no-go with that, here is a recommended generic CONFIG.PPP script, according to the PPP FAQ: ------- generic CONFIG.PPP script begins ---------- ppp ipcp local compress allow ppp ipcp open ppp lcp local accm 0 ppp lcp local acfc on ppp lcp local pfc on ppp lcp local magic allow ppp lcp open ------- generic CONFIG.PPP script ends ------------ The two programs INST.EXE and PKTSTAT.COM display information about the link (after you're connected, of course), such as the number of packets sent and received and the number dropped.