Tiny Troubleshooting Guide
--------------------------
This guide is simply some ideas and problems that can be when you try
to use PPP or SLIP. Some problems where reported by other users, so if you
have any problem, please let me know. We can enhance the troubleshooting
guide.

1) the modem can hang the connections, waiting for RTS to send data, I need
to use the init string AT&D0 to avoid this, also on DOS and Windows.

2) try to be sure that you ISP connection is ready, for example from DOS
or Windows, if you can use ppp, you can configure it from Minix.

3) some timing problems appear with chat while logging to my ISP, so some
messages are lost at tty driver level, perhaps interrupt processing is slow
at 38400 bauds, working at 19200 always work fine, and I notice that IP 
retransmits are low at 19200, but high at 38400. I recommended you to start
the initial settings at low speed, like 9600 or 19200, depending the hardware
you have. Perhaps a buffered serial line does not lost characters, but the
16450 working at 38400 have problems. I checked it also using Windows, with
several retransmit and CRC errors.

4) be sure your modem works fine with the speed you are trying to work.
For example, test it with kermit, sending commands and getting information.
The default port speed in Minix is 9600 baud, it is an interesting speed
that any modem can support. Also, some modems are autobaud, so you need
to send first carriage return to set the speed, try with kermit or chat,
but if you can fix the speed, it is better to avoid problems.

5) if your modem does not shows activity, test it with kermit and some
AT command, but from Minix. Be sure that Minix recognize your port.
Minix can handle only COM1 and COM2 ports.

6) the chmem value is for the driver without debugging, comment this
line in Makefile if you want to enable debugging (-d and -v flags).

7) if you have mallocs errors add more memory to stack, with 

# chmem +8192 ppp.drv

this adds 8192 bytes more to the stack. 

Also if the driver generate a core or stops without messages, increment
stack because it may be short.

The minimum chmem I used was 32768 with ppp.drv and slip.drv in 16 bit systems,
without errors or core. It is dependent of which options you configure in
confog.h file.

8) the -v flag can be used in ppp.drv to know where is the negotiation.

9) enable debugging in 16 bits in ppp.drv may be difficult, try disabling 
VJHC, because stack limitations. Be carefull if you enable debug in 16 bits. 

10) if you have dynamic IP from your ISP, you will need to use the -t
flag to translate IP, use a fixed IP with ifconfig, and if you use ftp
you need to remember to use PASSIVE mode to get it working.

11) The driver tries to change automatic from direct mode to translate if you
have an IP static and you are assigning a different IP or negotiating
with the ISP. You will notice that telnet works fine, but ftp needs PASSIVE
mode to work fine.

12) if your resolv.conf file exists, ppp.drv append information to it. If
you have a large lists of nameserver, the resolver routines uses the 3 firsts
and no more. Each test have a delay, so you will notice slow resolution.
If you have one ISP, manage it by hand, and do not use -N flag. Also you can
have no resolv.conf file, and use the -N flag. ppp.drv creates a new file
and delete it when it finish.

13) some ISP needs to use the default conection route, so you can add a route
with the -R switch to the PPP peer node, and test if you can connect.

14) using ppp.srv it is usefull the log file with -f switch and debuging 
code (also -v and -d flags) to debug a session if it can not connect.
Usually problems with ppp.srv are the routes to reach peers and local host
if you are using a pseudo device other than default. Be carefull and write
any route to understand where can be the problem.

15) using BSD compression may be some speed problems transfering large 
compressed files. If you transfer zip/compress/gzip files, perhaps is better
to do not use compression. Also sometimes compression lost syncronization and 
reset the compression code. It adds some delay to the comunication. 
Under normal usage compression is very helpfull because it compress both
headers and data, and allows to have between 25 to 50% speed up.
Compression does not work in 16 bits machines because low memory.
You must enable compression with -Z and also while compiling defining CCP into
config.h file.

16) using ppp to connect to a windows machine needs to use -M and enable
EMUMDM into config.h . There are some problems with modem emulation because
it is so simple. Only to connect.

17) PPP over PLIP uses the PLIP driver. Check the PLIP counters with F5
to know if you need more buffers. Check the PLIP documentation for details.

