Notes on Dospppd ---------------- Dospppd is a port of the Linux pppd program for setting up a PPP link. While a fairly new program and still in development, it appears to be the most reliable and fastest packet driver for PPP. Dospppd also takes much less memory than the alternatives. The CHAT0.EXE dialer and TERMIN packet driver unloader are generic and could be used with SLIP packet drivers. The Ethernet versions of Dospppd support BOOTP for configuring applications, if you have dynamic IP address assignment. Dospppd version 0.6 comes in *eight* versions. PPPD.EXE emulates class 6 (SLIP). PPPDD.EXE also emulates class 6 and contains extra debugging code. EPPPD.EXE emulates class 1 (Ethernet). EPPPDD.EXE emulates class 1 and contains debugging code. You will probably want to use EPPPD.EXE in the long run since it is compatible with the largest number of DOS Internet applications. Initially, you may wish to use EPPPDD.EXE if you are having trouble setting up a PPP connection with your provider. In addition to those four, the archive CHAPSUPP.ZIP contains the same four files, with CHAP support, if you need that. CHAT.SCR (or CHATSCR) is the chat script you use to log on. In my case, I have it in the directory where I installed Dospppd. Here is an example: ------- CHAT.SCR example begins ------- TIMEOUT 10 "" \d\d\dATZ OK \d\d\dATDT9900714 TIMEOUT 60 ABORT BUSY ABORT "NO CARRIER" ABORT "NO DIALTONE" ABORT "NO ANSWER" CONNECT "\d\d\d\d\d" TIMEOUT 30 ogin:--ogin: \d\d\dmyname ssword: \d\d\dmypass beginning.... ------- CHAT.SCR example ends ------- If this were the login sequence for your provide, you would change "myname" to your user name. Change "mypass" to your password. Change "9900714" to the phone number you were given for the terminal server. If you do not have touch tone phone service, change "ATDT" to "ATDP". You can create CHAT.SCR with any editor. Yes, I know that the documentation says to call it CHATSCR instead. It doesn't matter, just give the right filename on the EPPPD command line or in PPPD.CFG. Change "ATZ" to your modem init string. You need to set up your modem to enable hardware (RTS/CTS) flow control (&K3), to hang up when DTR is dropped (&D2), and to allow DCD to follow the true state (&C1). You want to get result codes (Q0) and specify that they should be text, not numbers (V1). If your modem provides hardware error correction and data compression, you want to enable them as well. See your modem manual. In my case, I have all that set up in the modem's NVRAM, so I just use "ATZ" and I'm all set. If you have a newer modem, try "AT&F" for the init string; the above should be the defaults. Check the modem manual to see what strings it returns for various failure conditions - "NO DIAL TONE" might be returned rather than "NO DIALTONE", for example. The DOS command line is only 128 characters long, so rather than using command-line options with EPPPD.EXE (or whichever version you choose), make a file PPPD.CFG in the directory where you installed Dospppd, like so: ------- PPPD.CFG for Dospppd begins ------- # Dospppd configuration file. com2 19200 namsrv 199.191.1.80 netmask 255.255.255.0 modem crtscts asyncmap 0 connect "chat -V -f e:\\internet\\dosppp06\\chat.scr" ------- PPPD.CFG for Dospppd ends ------- You need to configure your name server here, as shown. Specifying the netmask is also a good idea. If your provider uses PAP or CHAP for authentication, include "user " and "passwd " in PPPD.CFG. Be sure to use a version with CHAP support if you need that (if you don't need CHAP, don't use those versions - they take more memory). If you use the configuration file, your PPPOPEN.BAT can be really trivial: ------- PPPOPEN.BAT for Dospppd begins ------- @ECHO OFF REM Batch file to open a PPP connection using Dospppd, using PPPD.CFG REM configuration file. E:\INTERNET\DOSPPP06\EPPPD DEL IP-UP.BAT ------- PPPOPEN.BAT for Dospppd ends ------- If you don't always run Dospppd from the directory where you installed it, you should include a line to delete IP-UP.BAT, as above; otherwise, you will slowly accumulate copies of it all over your hard drive. For dynamic IP configuration, Dospppd supports BOOTP (in the Ethernet emulation versions) and generates a file called IP-UP.BAT. That batch file can be run after connecting to set the following DOS environment variables: MYIP (your local IP address) REMIP (the IP address of your gateway) NETMASK (your netmask) PEERMRU (the largest PPP packet the gateway will accept) For dynamic IP, your PPPOPEN.BAT for Dospppd might look like this: ------- PPPOPEN.BAT for Dospppd with dynamic IP begins ------- @ECHO OFF REM Batch file to open a PPP connection using Dospppd, using PPPD.CFG REM configuration file. E:\INTERNET\DOSPPP06\EPPPD CALL IP-UP.BAT DEL IP-UP.BAT ECHO my_ip=%MYIP% > IPADDR.CFG ECHO gateway=%REMIP% > GATEWAY.CFG SET IP=%MYIP% SET GATEWAY=%REMIP% ------- PPPOPEN.BAT for Dospppdd with dynamic IP ends ------- This will set the MYIP environment variable for University of Minnesota applications (which can also use BOOTP with Dospppd). It generates files IPADDR.CFG and GATEWAY.CFG, which can be included in WATTCP.CFG for configuring WATTCP applications. For Trumpet TCP applications, the IP and GATEWAY environment variables are set. NCSA and CUTCP applications can be configured with BOOTP. If you have DOS 2.x, you probably need to change to the directory where you installed Dospppd to run it (so that it can find CHAT.EXE and the configuration files). With DOS 3.2 or earlier, you can't use the CALL syntax in batch files, either, so instead of one batch file to log you in, you will have to make a couple and run them in sequence (see cole.txt in this directory). If you have data compression on your modem, you would normally set the speed to 4 times the modem speed (for V.42bis) or twice the modem speed (for MNP 5). However, if your modem does not have a 16550A-series UART, you may not be able to go at top speed, depending on your processor speed. For example, I have an 8MHz 286 with a 14.4k modem that has V.42bis data compression and a 16440 UART. Normally, I would set the speed to 57600 (four times 14400), but with my computer the best I can do is 38400. The speed given for CHAT0.EXE and EPPPD.EXE should not be less than the modem speed, though. 19200 should be a "safe" speed if you have a slower UART. (To see which UART you have, get PPPSHARE from Klos and use their FIND_COM program to find out. Dospppd works better than Klos PPP, though.) You use the Termin program included with Dospppd to close the connection, hang up the phone, and unload the packet driver: ------- PPPCLOSE.BAT for Dospppd begins ------- @ECHO OFF REM Batch file to close a PPP connection made with Dospppd. E:\INTERNET\DOSPPP06\TERMIN 0x60 ECHO - ------- PPPCLOSE.BAT for Dospppd ends ------- The Chat dialer has one bug that you should know about. It works at speeds up to 38400 bps, and at 115200 bps, but if you specify a speed between those two it goes at 115200 bps. Server-side BOOTP works with the class 6 versions of Dospppd (the class 1 versions include an internal emulation, as noted above).