pppd
says that version 0.0.0 is out of dateYou are attempting to run the 2.2 pppd process and you haven't rebuilt the drivers in the kernel.
pppd
says that that the kernel is not configured for PPP. I know that I enabled the option and built the kernel.Make sure that you did rebuild the kernel and that you are running it.
Make sure that you don't have an old copy of pppd on your disk and you
are running that version. The previous version of pppd was stored on
/usr/lib/ppp. Many people objected to this location. The 2.2 code has
moved the pppd
, chat
, and pppstats
to the
/usr/sbin directory. If your scripts still reference /usr/lib/ppp then
you will probably run the old code.
pppd
wont run unless you are rootThe pppd process needs to make changes to the networking
system and this can only be done if you are the root user. If you
wish to run pppd
from other than the root user then the pppd
program needs to be secured 'suid to root'.
chown root pppd
chmod 4755 pppd
If you wish to control the pppd access to a select group of people,
then make the pppd
process owned by the group and do not
permit all others to run the program.
unable to create pid file: no such file or directory
You need to create the directory /var/run
. On
earlier Slackware distributions, this was a symbolic link to the
/etc
directory.
This is a warning. The PPP software will work normally in spite of
this message. However, the PPP-off
script depends upon this
file. It is a good idea to create the directory or make the link to
the appropriate location.
The posix header, paths.h
, defines the location for the pid
file under the name "_VAR_RUN
". If you wish to use a
different directory for PPP and others, change the value for this
define and rebuild the software.
/etc/ppp/options: no such file or directory
You need to create the directory /etc/ppp
and
have a file called 'options
' in that directory. It needs to
be readable by the pppd
process (root).
The file may be empty. To make an empty file use the `touch
'
command.
See the pppd
man page, pppd.8
, for a description of
this file.
Could not determine local IP address
This happens with many configurations of the Telebit Netblazer. The problem is not the terminal server, but the site which has not configured the terminal server with a set of IP addresses.
The Netblazer does not have your IP address. You do not have your IP address. The link will not work unless both IP addresses are known.
The link will not work unless both IP addresses are known.
You must tell the Netblazer the IP addresses to be used. Use the local IP address and the remote IP address as a parameter to the pppd process.
Use the pppd option format of:
local_ip:remote_ip
(That is the local IP address, a colon, and the remote IP address.)
Could not determine remote IP address
See the previous answer.
There is a one in over four billion chance that the two systems have chosen the same magic number. If you get a continual failure about the magic number, the chances that this is a fluke will geometrically reduce.
The two most common reasons for this failure are:
This would indicate that the shell is doing the local echo of the data. This is the more common reason.
In either case, the Linux system is sending data to the remote which
is being fed immediately back into the serial receiver. This is not
an acceptable condition. You have what is called a "loop
".
protocol reject for protocol fffb
This usually occurs when you are trying to connect to a Xyplex terminal server. Version 5.1 of the Xyplex terminal server software, according to Xyplex, has numerous problems with PPP. It is strongly recommended that you update the Xyplex software to at least version 5.3.
If you must use version 5.1, then use the pppd option
"vj-max-slots 3
" to limit the number of slots to three. The
problem on the Xyplex server is that it will accept the request for
the default 16 slots, but fail to operate beyond the third slot. It
should have return a NAK frame with the limit, but it does not.
Alternately, you can disable the Van Jacobson header compression with
the option "-vj
".
Linux does not support RPI modems. If your modem is RPI then you will have to find a different modem. This is not likely to change in the future given the statements made by Rockwell's management.
Examine the system log when you use the "debug
"
option. (You will need the system log data anyway if you are going to
ask for help.) If the trace shows that it is sending the
LCP
-request frame over and over again and the id number is
not incrementing then you are not exchanging frames with the remote
PPP software.
Three common reasons for this are:
Please make sure that you have the PPP software started on the other end before you enter the PPP protocol sequence. Try to use a normal modem program and go through the logon sequence that you would normally do. Do you see the PPP frames being sent to you?
The PPP frames are fairly distinctive. They will be about 40
characters in length and contain several {
characters. They
should not have a carriage return character after them and are sent
out in a burst with a pause between the bursts.
The pppd software will automatically put the line into eight data bits, no parity, and one stop bit. The remote must match this configuration or framing and parity errors may occur.
PPP will escape characters. It is not possible for it to escape bits as kermit does. PPP will not work with a seven bit communications link.
PAP
or CHAP
. You have not configured the local
system to use this feature. Therefore, the remote is discarding all
of your frames until it sees a valid authentication frame from you.
Since you are not configured to generate the frames, the IPCP
frames which you send are being ignored.
In this case, either configure the remote to not expect authentication or configure the local system to do authentication and supply the proper secrets.
Examine the receipt of the LCP configure frame. If it shows an 'auth' type, then the remote is configured for authentication.
The pppd process launches the program at the location /etc/ppp/ip-up when the IP layer goes up. It gives it parameters which define the line status. Such things include the device name, communications speed, and IP addresses.
However, what may not be clear is that it treats this file as a
program
. It is not a script. The program is started by using
the exec() function of Linux.
What this means is that if you wish to use a script for these programs, then you must do two things.
#!/bin/sh
The # character must be in the first character position of the very
first line of the file. The interpreter program, /bin/sh in this case,
may be any program which is exected to run the script. Most people
will use the Bourne shell for this purpose. It is commonly stored in
the location /bin/sh. Other commonly used intrepteters are perl and
csh. What is important is that the first two characters of the file be
the # and ! characters respectivly.Some users of the merit network have indicated that it needs PAP. Did you try PAP authentication?
Next Chapter, Previous Chapter
Table of contents of this chapter, General table of contents
Top of the document, Beginning of this Chapter