<HTML>
<HEAD>
<TITLE>Linux PPP FAQ: Other messages written to the system log</TITLE>
</HEAD>
<BODY>
<A HREF="PPP-FAQ-12.html">Previous</A>
<A HREF="PPP-FAQ-14.html">Next</A>
<A HREF="PPP-FAQ.html#toc13">Table of Contents</A>
<HR>
<H2><A NAME="s13">13. Other messages written to the system log</A></H2>



<H2><A NAME="ss13.1">13.1 Alarm</A></H2>

<P>This is not a problem. It means that a timer has
expired. Timers are a necessary part of the protocol establishment
phase. This is a message to help the authors debug the program.</P>


<H2><A NAME="ss13.2">13.2 SIGHUP</A></H2>

<P>The pppd process has received a HUP signal. The HUP signal is
generated by the tty software when the remote system has disconnected
the modem link. It means that the modem has put the \telephone
receiver back on the hook\, or, \Hung UP\ the
connection.</P>
<P>The kill program may also be used to send this signal
to the pppd process.</P>
<P>The pppd process will terminate the link in an orderly
fashion when it receives this signal.</P>


<H2><A NAME="ss13.3">13.3 SIGINT</A></H2>

<P>The pppd process has received an INT signal. The
INT signal is generated by the console software when you press
the Ctrl-C key combination and pppd is the foreground process.</P>
<P>The kill program may also be used to send this signal
to the pppd process. In fact, the recommended method to terminate
the pppd link is to send the process an INT. See the question
relating to \dip -k\ for a script which will perform
this task. The pppd process will terminate the link in an orderly
fashion when it receives this signal.</P>


<H2><A NAME="ss13.4">13.4 Unknown protocol (c025) received!.</A></H2>

<P>The remote wishes to exchange Link Quality Reporting
protocol with the Linux system. This protocol is presently not
supported. This is not an error. It is merely saying that it has
received the request and will tell the remote that \I can't
do this now. Don't bother me with this!\</P>
<P>The Morning Star PPP package will always try to do
LQR protocol. This is normal.</P>


<H2><A NAME="ss13.5">13.5 Unknown protocol (80fd) received!.</A></H2>

<P>The remote wishes to exchange Compression Control
Protocol with the Linux system. This type of protocol is layered
upon the basic data protocol and will, if successfully negotiated,
result in a fewer number of bytes transmitted for the frame. This
means that the transfer will be quicker.</P>
<P>However, there are many types of compressors which
are used under the general \umbrella\ of a Compression Control
Protocol. The 2.2 PPP package understands only one; the BSD compressor.
This compressor works very similar to the Unix \compress\ program
and uses a LZW compressor. Depending upon the size of the code,
there can be a significant amount of kernel space needed to hold
the compression and decompression dictionaries. This should not
be used if you have a limited memory space and should not even
be contemplated if you have 8Meg or less real (RAM) memory. In
those cases you should invest in a decent modem which support
compression.</P>
<P>Unless both sides can agree upon the type of compression
the compression will not be used.</P>
<P>Another common compressor is called Predictor-1.
This will take less memory and run faster. However, its compression
is not as good in that it will send a little more data than the
equivalent frame given to the BSD compressor.</P>
<P>Many commercial terminal servers will employ a compressor
called \Stacker(TM) LZW\ or LZS protocol. This is a
commercial compression agent. Apparently Stacker will give you
a license for no charge. However, a specific license is required
and that will usually prevent it being included with the pppd
process.</P>
<P>The 2.3 package will additionally include the compressor
known as \deflate\. It is a variation of the common package called
\gzip\.</P>


<H2><A NAME="ss13.6">13.6 The connection fails with errors \ioctl(TIOCGETD): I/O error\ or \ioctl(PPPIOCSINPSIG): I/O error\. What now?</A></H2>

<P>Look at the boot messages when you boot the kernel.
If it says \<EM>PPP version 0.1.2</EM>\
then you have an old version of the <EM>ppp.c</EM>
driver.</P>
<P>If it says \<EM>PPP version 0.2.7</EM>\
then you have the current driver, for the 2.1.2 package however,
it was not built with the same set of defines for the ioctl numbers.
Ensure that you have only one file called \<EM>if_ppp.h</EM>\.
It should be located in the kernel\s <EM>include/linux</EM>
directory. Once you have done this, rebuild the kernel and the
pppd process.</P>
<P>If it says \<EM>PPP version 2.2.0</EM>\
then you are using the driver for the 2.2.0 package. This version
of the driver will only work with the 2.2 series of the pppd package.
The 2.2 pppd program will only work with this version of the driver.</P>


<H2><A NAME="ss13.7">13.7 Sometimes the messages \ioctl(PPPIOCGDEBUG): I/O error\, \ioctl(TIOCSETD): I/O error\ and \ioctl(TIOCNXCL): I/O error\ occur. Why?</A></H2>

<P>The remote system has disconnected the telephone.
The tty drivers will re-establish the proper tty discipline and
these errors are the result of the <EM>pppd</EM>
process trying to do the same thing. These are to be expected.</P>


<H2><A NAME="ss13.8">13.8 My ifconfig has strange output for PPP.</A></H2>

<P>Usually the ifconfig program reports information
similar to the following. You will have different IP addresses.</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
ppp0      Link encap:Point-Point Protocol  
          inet addr:155.190.0.1  P-t-P:155.190.8.1  Mask:255.255.0.0
          UP POINTOPOINT RUNNING  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0
          TX packets:0 errors:0 dropped:0 overruns:0
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>The information is for display purposes only. If
you are using a recent kernel then update the nettools package
with the current one on <EM>sunacm.swan.ac.uk</EM>
in the directory <EM>/pub/Linux/networking/nettools</EM>.</P>


<H2><A NAME="ss13.9">13.9 The file /proc/net/dev seems to be empty</A></H2>

<P>Do not be concerned with the contents of the /proc/net/dev file. There
was a time when it was suggested that you check this file to determine
if the ppp devices have been created. Now this check causes more
confusion than satisfaction since the devices are dynamically
created.</P>
<P>Did you just issue the command \<EM>ls
-l /proc/net</EM>\ and are wondering why the
size is zero? If so, this is normal. Instead, issue the command:</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
cat /proc/net/dev
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>You should not find the file empty. The size is always
shown as zero, but that is the \proc\ file system. Don't believe
the size. Do the command.</P>
<P>The \more\, \less\, and \most\ programs
may not be used to view the file directly. If you wish to use these
programs, use it as follows:</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
cat /proc/net/dev | less
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>The current versions of pppd do not pre-create the
ppp devices as the earlier versions did. If you have instructions
which say that you should look at the /proc/net/dev file to see
if there are ppp devices then you should ignore them. The ppp
devices will be automatically created as they are needed and when
they are needed.</P>


<H2><A NAME="ss13.10">13.10 The kernel reports that the PPP devices are being unlinked when the system is being started.</A></H2>

<P>This message is generated only from earlier attempts at making the ppp
devices dynamic. The current code no longer generates these
messages. If you are seeing these messages then you should upgrade the
pppd package to at least the 2.2.0 code.</P>


<H2><A NAME="ss13.11">13.11 I just checked /proc/net/dev and there are no PPP devices. Where did they go?</A></H2>

<P>They went nowhere. They were all unlinked during the startup of the system.</P>
<P>The devices will be created again as they are needed.</P>


<HR>
<A HREF="PPP-FAQ-12.html">Previous</A>
<A HREF="PPP-FAQ-14.html">Next</A>
<A HREF="PPP-FAQ.html#toc13">Table of Contents</A>
</BODY>
</HTML>
