home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-05-25 | 39.3 KB | 1,250 lines |
- Linux PPP HOWTO
- Al Longyear, longyear@netcom.com
- November 21, 1994.
-
- This document contains a list the most Frequently Asked Questions
- (FAQ) about PPP for Linux (and their answers). It is really not a
- HOWTO, but is in `classical' Question / Answer form. This is but one
- of the Linux HOWTO/FAQ documents. You can get the HOWTO's from sun-
- site.unc.edu:/pub/Linux/doc/HOWTO (this is the ``official'' place) or
- via WWW from the Linux Documentation home page
- (http://sunsite.unc.edu/mdw/linux.hmtl). You cannot rely on the
- HOWTO's being posted to comp.os.linux.announce, as some newsfeeds have
- complained about their size.
-
- 1. Preface
-
-
- Please send any corrections to longyear@netcom.com.
-
- Throughout this document, I have used the word ``remote'' to mean
- ``the system at the other end of the modem link''. It is also called
- ``peer'' in the PPP documentation. Another name for this is called
- the ``gateway'' when the term is use for routing. Its IP address will
- show as the ``P-t-P'' address if you use ifconfig.
-
- Microsoft is a registered trademark of Microsoft Corporation. Morning
- Star is a registered trademark of Morning Star Technologies
- Incorporated. All other products mentioned are trademarks of their
- respective companies.
-
-
-
- 2. Questions and Answers
-
-
-
-
-
- 2.1. Q: What is PPP?
-
-
- A: PPP, or Point-to-Point Protocol, is a recognized `official'
- internet protocol. It is a protocol used to exchange IP frames (and
- others) over a serial link. The current RFC for PPP is 1661. There
- are many related ones.
-
- Contrary to what some people think, it does not mean "Peer to Peer
- Processing"; although you may do peer-peer communications using TCP/IP
- over a PPP link.
-
-
-
-
- 2.2. Q: My university (company) does not support PPP. Can I use PPP?
-
-
- A: In general, no. A `classical' PPP implementation requires that you
- make changes to the routes and network devices supported by the
- operating system. This may mean that you will have to rebuild the
- kernel for the remote computer.
-
- This is not a job for a general user. If you can convince your
- administration people that PPP is a `good thing' then you stand a
- chance of getting it implemented. If you can't, then you probably
- can't use PPP.
-
- However, if you are using a system which is supported by the people
- who are marketing the "TIA" (The Internet Adapter) package, then there
- is hope. I do not have much information on this package, however,
- from what I have found, they plan to support PPP in "the next
- version". (My information may be old. Contact them directly.
- Information on TIA is available at ftp.marketplace.com in the /pub/tia
- directory.)
-
- A Linux port is on their list.
-
- If your system is not supported by TIA and you can't convince the
- admin group to support PPP then you should use the `term' package.
- Some service providers will object to you running `term'. They have
- many different reasons, however the most common is `security
- concerns'.
-
-
-
-
- 2.3. Q: Where is PPP?
-
-
- A: It is in two parts. The first part is in the kernel. In the
- kernels from 1.1.13, the driver is part of the network system drivers.
-
- Do not replace the driver in the kernel with a version from the pppd
- package!!!
-
- The second part is the `daemon' process, pppd. This is a required
- process. The source to it is in the file ppp-2.1.2b.tar.gz located on
- sunsite.unc.edu in the /pub/Linux/system/Networking/serial directory.
-
- It should also be somewhere on ftp.funet.fi.
-
- For kernels before 1.1.13, the necessary driver is included in the
- daemon code.
-
-
-
-
- 2.4. Q: I just obtained PPP. What do I do with it?
-
-
- A: Read The Fine Material available.
-
- Start by reading the README file and then the README.linux file. The
- documentation sources are listed below.
-
-
-
-
- 2.5. (Where's the documentation? Is there a HOWTO?, etc.) Q: Where
- are additional sources of information for PPP?
-
-
- A: There are several sources of information for the PPP protocol as
- implemented under Linux.
-
-
- o The README file in the source package.
-
- o The README.linux file in the source package.
-
- o The Net-2-HOWTO document.
-
-
- o The Network Administration Guide.
-
- o The pppd man page.
-
- o The ppp FAQ document. (This is not it, by the way.)
-
- The HOWTO file is stored in the usual place for the Linux HOWTOs.
- That is currently on sunsite.unc.edu in the directory
- /pub/Linux/docs/HOWTO.
-
- The Network Administration Guide is available in the docs/linux-doc-
- project/nag directory on sunsite. It is published by O'Riellly and
- Associates. So, if you want a really professional document, then buy
- a copy from your local bookstore.
-
- The `man' pages are included in the source package. You will probably
- have to move them to the normal man directory, /usr/man/man8 before
- the man command may find them. Alternately, you may use nroff and
- more to view them directly.
-
- The PPP faq document describes the PPP protocol itself and the various
- implementations. You will find the FAQ for the usenet news group,
- comp.protocols.ppp, archived on rtfm.mit.edu in the /usenet directory.
- It is in eight parts at the present time.
-
-
-
-
- 2.6. Q: Where should I post questions about PPP?
-
-
- A: I would prefer that you post them to the comp.protocols.ppp group.
- That is its purpose. I recognize that most people tend to post things
- to the comp.os.linux.* groups first. You will usually get a response
- even if you use these wrong groups. However, it is better that you do
- ask in the proper group.
-
- Very few questions are related directly to the Linux port. Most of
- the questions are general use of the ppp package and are exactly
- applicable to the remainder of the pppd users.
-
- Please, if you must use usenet for PPP questions, use
- comp.protocols.ppp.
-
-
-
-
- 2.7. HELP!!! Q: The PPP software doesn't work. It terminates after
- the call.
-
-
- A: This is one of the most sickening questions. I realize that this is
- a plea for help. However, it is practically useless to post this
- message with no other information. I, and most others, will only
- ignore it.
-
- What is needed is the output of the system log (syslog) when you run
- the pppd program with the option `debug'. In addition, if you are
- using chat then please use the `-v' option to run the sequence with
- verbose output.
-
- Please include the output from the kernel's startup. This shows the
- various kernel hardware information such as your UART type, PPP
- version, etc.
-
-
- Please include all information that you can relating to the problem.
- However your system configuration, disk drive configuration, terminal
- type, mouse location and button status, etc. are irrelevant. What is
- important is the system to which your are trying to contact, the ppp
- (or terminal server) that they are using, the modem types and speed
- that you are using, etc.
-
- Take care and go through the output. Remove the references to the
- telephone number, your account name, and the password. They are not
- important to analyzing the problem and would pose a security risk to
- you if you published them to usenet. Also discard the lines which
- neither come from the kernel nor pppd.
-
- Do NOT run the pppd program with the option `kdebug 7' and post that!
-
- If the problem warrants examining the data stream, then you will be
- contacted by email and asked to mail the trace. Usenet already costs
- too much for too many people.
-
- Information is written to various levels. The debug information is
- written to the debug level. The informational messages are written to
- the info level. The errors are written to the error level. Please
- include all levels the the ``local2'' group which come from the pppd
- process.
-
- In addition, please do not delete the timestamp information. It is
- important.
-
-
-
-
- 2.8. would like one for HP-UX, or AIX, or ... (you fill in the blank)
- ? Q: Do you know of a implementation for PPP other than Linux? I
-
-
- A: Check the PPP FAQ document mentioned above.
-
- AIX is due to be supported in the 2.2 version of the pppd process.
- HP-UX is, to my knowledge, only supported by the Morning Star
- commerical package.
-
- If you don't find one listed then post to the comp.protocols.ppp group
- and not the Linux group.
-
- (Please don't mail me asking for "Do you know of a PPP package for
- ..."? These requests will now be `appropriately' filed. ;-) )
-
-
-
-
- 2.9. Q: Did you know that there is another package called `dp'?
-
-
- A: Yes, we know. The dp package was considered very early in the
- development stage quite a few months back. It is nice. It supports
- 'demand dial'. It also only works with systems which support streams.
- This is primarily the SunOS (Solaris) operating systems.
-
- Linux, at the present time, does not supports streams.
-
- There are several other packages for PPP available on the `net'. The
- `portable ppp' package is very much like the TIA code. There is
- another package called simply `ppp'. There is code for PPP in the KA9Q
- package.
-
-
- Of all of the packages available, the pppd package was the closest to
- the requirements and functions of Linux to warrant the port.
-
- (If you want more information about these other packages, ask in the
- comp.protocols.ppp group!)
-
-
-
-
- 2.10. Q: What RFCs describe the PPP protocol as implemented for
- Linux?
-
-
- A: The current implementation of PPP is a mixture of several. The
- major portion of the PPP code is written against the RFCs 1331 and
- 1332. These RFCs were later obsoleted. 1331 was replaced by 1548 and
- that, in turn, was obsoleted by 1661 six months later.
-
- Most implementations of PPP will be happy to talk to the Linux PPP
- code.
-
- A complete list is in the PPP faq.
-
- [to quote the FAQ document]:
-
-
- All of 1134, 1171, and 1172 (and 1055, for that matter :-)
- have been obsoleted. They're interesting only if you want
- to debug a connection with an ancient PPP implementation,
- and you're wondering why (e.g.) it asked you for IPCP
- option 2 with a length of only 4, and Compression-Type
- 0x0037.
-
-
- (There's a lot of that still running around - be careful out there.)
-
- Linux PPP will not support this.
-
-
-
-
- 2.11. Q: Can PPP talk to a SLIP interface? Can I use SLIP with PPP?
-
-
- A: No. SLIP works with SLIP. PPP works with PPP.
-
- Some vendors may offer products which work both as SLIP and PPP.
- However, they must be configured to run in one mode or the other.
- There is no present method to determine, based upon the protocol
- passed at the time of a connection, which combination of SLIP
- protocols or PPP is being requested.
-
-
-
-
- 2.12. Q: Which is better? PPP or SLIP?
-
-
- A: IT DEPENDS UPON MANY FACTORS. The people who post this type of
- question have usually not read the Net-2-HOWTO document.
-
- A good technical discussion is available at Morning Star's www server,
- www.morningstar.com.
-
-
-
- 2.13. Q: Which is better? CHAP or PAP authentication?
-
-
- A: If you have the choice, use CHAP. Failing that, PAP is better than
- nothing.
-
-
-
-
- 2.14. you have a sample? Q: What goes into the /etc/ppp/pap-secrets
- file? Do
-
-
- A: The pap protocol is most often implemented as your user name and
- password. You need to include the name of the remote system, your
- account name, and the password. If the user on abbot wishes to call
- costello, the entry would be similar to the following.
-
-
-
- #remote account password IP address list
- * abbot firstbase
-
-
-
-
-
-
-
- 2.15. you have a sample? Q: What goes into the /etc/ppp/chap-secrets
- file? Do
-
-
- A: The most common problem is that people don't recognize that CHAP
- deals with a pair of secrets. Both computers involved in the link
- must have both secrets to work.
-
- For example, if abbot wants to talk to costello, then abbot's file
- would have:
-
-
-
- #local remote secret IP address list
- abbot costello firstbase
- costello abbot who
-
-
-
-
- And costello's file would have:
-
-
-
- #local remote secret IP address list
- abbot costello firstbase
- costello abbot who
-
-
-
-
-
-
-
-
-
-
- 2.16. includes the ppp.c driver. My kernel is 1.1.8. Now what? Q: I
- get compile errors when I try to compile the kernel and it
-
-
- A: Did you edit the ppp.c file to reflect the settings for the kernel
- that you are using? There are two defines which must be set correctly
- if you are going to compile the code for PPP.
-
-
-
- ._____________________.__________________._________________________.
- | | | |
- | kernel version | NET02D | NEW_TTY_DRIVERS |
- |_____________________|__________________|_________________________|
- | | |
- | < 1.0.0 | UPGRADE!!! |
- |_____________________|__________________._________________________|
- | 1.0.0 - 1.0.* | defined | undefined |
- | 1.1.0 - 1.1.3 | defined | undefined |
- | 1.1.4 - 1.1.12 | undefined | undefined |
- |_____________________|__________________|_________________________|
- | | |
- | 1.1.13 | UPGRADE!!! |
- |_____________________|__________________._________________________|
- | | | |
- | 1.1.14 - ... NOTE | undefined | defined |
- |_____________________|__________________|_________________________|
-
-
-
-
- The third define near the top of the file is called
- OPTIMIZE_FLAG_TIME. This may or may not be set with any version of
- the kernel which supports PPP.
-
- Additional information is in the ppp.c file.
-
- NOTE: For kernels from 1.1.14, do not replace the ppp.c file in the
- drivers/net directory nor the ppp.h file in the /usr/include/linux
- directory. The drivers and the include file are the proper values for
- your kernel.
-
- So, from the above list, you will find that 1.1.8 kernel will need
- NET02D and NEW_TTY_DRIVERS both undefined. Likewise, the 1.1.18
- kernel will already have things configured for it. Do nothing
- special.
-
-
-
-
- 2.17. directory'? Q: What does it mean `unable to create pid file:
- no such file or
-
-
- A: 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.
-
- 2.18. directory'? Q: What does it mean `/etc/ppp/options: no such
- file or
-
-
- A: 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 for a description of this file.
-
-
-
-
- 2.19. ppp' it says that ``ppp mode is not supported.'' Are there
- plans to use dip with PPP? Q: The dip program refers to ppp. When I
- try to use `mode
-
-
- A: The dip program controls the establishment of the SLIP link. Since
- the pppd process must do things at different times than the
- corresponding SLIP link, it is doubtful that there will be a marriage
- of pppd and dip.
-
- The dip program may be used to dial the telephone and start the ppp
- software on the remote system. It is best used in this mode as the
- parameter to the `connect' option.
-
-
-
-
- 2.20. PPP? Q: How do I stop the PPP software? Is there a `dip -k'
- for
-
-
- A: No. There is no `dip -k'.
-
- In the chat directory, there is a `ppp-off' script. This will stop
- the ppp link in the same manner as the 'dip -k'.
-
- I have included it below. (Cut it out. Store it in its own file.
- Make the file executable with chmod.)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ______________________________________________________________________
- #!/bin/sh
- DEVICE=ppp0
- #
- # If the ppp0 pid file is present then the program is running. Stop it.
- if [ -r /var/run/$DEVICE.pid ]; then
- kill -INT `cat /var/run/$DEVICE.pid`
- #
- # If the kill did not work then there is no process running for this
- # pid. It may also mean that the lock file will be left. You may wish
- # to delete the lock file at the same time.
- if [! "$?" = "0" ]; then
- rm -f /var/run/$DEVICE.pid
- echo 'ERROR: Removed stale pid file'
- exit 1
- fi
- #
- # Success. Let pppd clean up its own junk.
- echo 'PPP link to $DEVICE terminated.'
- exit 0
- fi
- #
- # The ppp process is not running for ppp0
- echo 'ERROR: PPP link is not active on $DEVICE'
- exit 1
- ______________________________________________________________________
-
-
-
-
-
-
- 2.21. disconnects. I usually have to stop it so that uugetty will
- work again. What's wrong? Q: The pppd process does not seem to termi-
- nate when the modem
-
-
- A: There are several reasons for this.
-
-
- o Did you use the pppd `modem' parameter? This parameter controls
- whether or not the pppd process is to control and honor the signals
- reflecting the modem status. This parameter is explained in the
- man page for pppd.
-
- o Do you have the modem presenting the DCD signal? The Hayes
- sequence for this is usually "&C1". If you reset the modem during
- the connection sequence with "ATZ" then ensure that your modem is
- still honoring the DTR signal. The Hayes sequence for this is
- usually "&D1" or "&D2" with "&D2" being the preferred setting for
- PPP. Many manufacturers will ignore the DTR condition in their
- `factory defaults' setting.
-
- o Did you use a cheap cable which does not pass the DCD signal?
- Macintosh `classic' cables are notorious for this problem. That
- Macintosh does not use this signal.
-
-
-
-
- 2.22. Q: Why can't I run pppd if I am not the root user?
-
-
- A: The 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.
-
-
-
-
- 2.23. 3 minutes and then the route just goes away. Help! Q: My route
- to the remote keeps disappearing! It last for about
-
-
- A: This is not a question for PPP.
-
- DON'T RUN routed!
-
-
-
-
- 2.24. Q: I can reach the remote server, but I can not get anywhere
- else.
-
-
- A: Did you forget the `defaultroute' parameter to pppd? This parameter
- adds a default route into your routing system so that frames to all
- other IP addresses will be sent to the PPP device.
-
- The PPP software will not replace the default route if you have one
- already set when you run pppd. This is done to prevent people from
- destroying their default route to the ethernet routers by accident. A
- warning message is written to the system log if the defaultroute
- parameter is not performed for this reason.
-
-
-
-
- 2.25. what? Q: I have a default route and I still can't get anywhere
- else! Now
-
-
- A: The problem then is not with the local Linux system. It most
- likely is routing problem on the remote end.
-
- The remote computers need a route back to you just as you need a route
- to them. This may be accomplished by one of four methods. Each has
- advantages and limitations. You need to do one and only one of these.
-
-
- o Use a host route. At each host on the remote system, add a host
- route to your Linux IP address with the gateway being the terminal
- server that you use for your local access. This will work if you
- have a small number of host systems and a simple network without
- bridges, routers, gateways, etc.
-
- o Use a network route. Subdivide the remote IP addresses so that
- your local Linux IP address and the remote terminal server address
- and the remote terminal server's ethernet address is on the same IP
- domain. This will work if you have the IP addresses to spare. It
- will work very well if you have a Class-B IP domain and can afford
- to put the all of the remote addresses on the same IP domain. Then
- add a network route on each of the gateways and routers so that any
- address of the remote network is sent to the terminal server. Most
- configurations have many hosts but few routers. (At sii.com, we
- have over 300 active host systems with only 3 routers.)
-
- o Use gated on all of the gateways and on the terminal server. This
- will cause the terminal server to broadcast to the gateways that it
- can accept the frames for your IP address. Since the hosts will
- have a default route to one of the gateways, the gateways will
- generate the ICMP re-direct frame and the specific host will
- automatically add its host route.
-
- o Use proxy ARP on the terminal server. This will only work if your
- Linux IP address matches the one of the IP domains of the network
- cards.
-
- There is no clear solution. You must choose one of these.
-
- Another possibility may be that the remote system is not configured
- for `IP forwarding'. It is an RFC requirement that this option NOT be
- enabled by default. You must enable the option. For Linux systems,
- you will need to build the kernel and specify that you want IP
- forwarding/gatewaying.
-
-
-
-
- 2.26. number is always NAKed. The system will not connect. Q: I
- keep getting the message to the effect that the magic
-
-
- A: 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:
-
-
- o The modem has disconnected immediately upon making the connection
- and logging you on to the remote. Most modems are configured to
- echo the data sent to them and you are seeing the local echo from
- the modem.
-
- o The remote ppp software is not running when you think it is. Is
- the remote system configured to run PPP? Is the ppp process in the
- expected location? Is the privileges suitable so that you may run
- it?
-
- This would indicate that the shell is doing the local echo of the
- data.
-
- 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".
-
-
-
-
- 2.27. terminates with a message "Could not determine local IP
- address". Q: I am trying to connect to a Telebit Netblazer and it
-
-
- A: 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.
-
- You must have been given a piece of paper with both IP addresses
- written upon it. 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.)
-
-
-
-
- 2.28. a message "Could not determine remote IP address". Q: I am
- trying to connect to a Telebit Netblazer and it terminates with
-
-
- A: See the previous question.
-
-
-
-
- 2.29. Q: I can not ping my local IP address
-
-
- A: You are not able to do this because you don't have a route to the
- address. This is the normal operating environment. Don't try to ping
- the local IP address.
-
- If you wish to ping your own system then use the loopback address of
- 127.0.0.1.
-
- You may be able to ping the remote address. However, some terminal
- servers may not allow this as the address may be 'phoney' to them. It
- depends upon their environment.
-
- In general, don't try to ping either address. Choose a third address
- which is well known to be available on the remote network such as the
- nameserver IP address.
-
-
-
-
- 2.30. server? Q: Can I use the same local IP address for all of the
- lines of my PPP
-
-
- A: Yes. The local address is not significant to the local system. You
- must have a unique remote IP address. The routing is performed based
- upon the remote IP address and not the local IP address.
-
-
-
-
-
-
- 2.31. receiving a "protocol reject for protocol fffb". What is this?
- Q: I am using a Xyplex terminal server and pppd complains about
-
-
- A: The Xyplex terminal server does not like a slot number greater than
- two. Use the option "vj-max-slots 3" to limit the number of slots to
- three. (The slots start zero. This will limit the maximum slot number
- to the safe value of two.) Alternately, you can disable the Van
- Jacobson header compression with the option "-vj".
-
-
-
-
- 2.32. connection simply terminates. Why is this happening? Q: I am
- using a Trumpet (for MSDOS) and the
-
-
- A: Trumpet does not like any VJ header compression. Use the pppd
- option "-vj" to turn it off.
-
-
-
-
- 2.33. system will not allow me to use anything but ping, or nslookup.
- Why is this happening? Q: I am using dp-3.1.2 (with SunOS) and the
-
-
- A: There is a bug in the 3.1.2 version of dp. Please get the 3.1.2a or
- later file from the dp ftp home site harbor.ecn.purdue.ecu. Until you
- can put the patch into dp, disable the vj header compression.
-
-
-
-
- 2.34. operation. They will work correctly if I `get' a file. Why? Q:
- The ftp transfers seems to die when I do a `put'
-
-
- A: Do you have the flow control enabled? Flow control is set by the
- pppd option crtscts for RTS/CTS and xonxoff for XON/XOFF. If you
- don't enable the flow control then you will probably overrun the
- modem's buffers and this will prove to be disastrous with vj header
- compression.
-
-
-
-
- 2.35. Q: How do I use XON/XOFF for flow control?
-
-
- A: The better flow control is CTS/RTS. However, if you can not do the
- hardware flow control with the signals CTS and RTS, then use XON/XOFF.
- The following three steps need to be performed.
-
-
- o You need to specify the pppd option xonxoff. This tells the pppd
- process to configure the serial device for XON/XOFF flow control
- and to load the two characters into the tty driver.
-
- o You need to specify the XON and XOFF characters in the pppd
- parameter asyncmap. This tells the remote system that is should
- quote the XON and XOFF characters when it wishes to send them to
- you. It is normally specified as the pppd parameter `asyncmap
- a0000'.
-
-
- o Of course, don't forget to tell the modem to use XON/XOFF flow
- control. My ZyXEL modem uses a sequence `&R1&H4' to do this.
-
-
-
-
- 2.36. use minicom, the modem will always use 14400. However, PPP is
- using 9600 or 7200 or even 2400. How do I fix this? Q: The modem
- seems to always connect at a strange rate. When I
-
-
- A: Put the desired rate as an option to the pppd process. If you
- don't put the rate, then pppd process will use whatever rate is set
- currently at the time. Not all programs will restore all of the
- parameters to the previous settings properly upon exit. This may lead
- to strange rates configured for the serial device.
-
-
-
-
- 2.37. Q: The log shows "Alarm". Is this an urgent message?
-
-
- A: No. It means that a timer has expired and timers are a necessary
- part of the protocol establishment phase.
-
-
-
-
- 2.38. What is this? Q: The log shows "protocol reject for protocol
- c025".
-
-
- A: 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 told the remote that "I
- can't do this now. Don't bother me with this!"
-
- The Morning Star PPP package will always try to do LQR protocol. This
- is normal.
-
-
-
-
- 2.39. initialization sequence. The device never goes 'UP'. It just
- sends message after message and then finally disconnects. Now what?
- Q: The PPP software connects but it never seems to complete the
-
-
- A: 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:
-
-
- o You don't have the ppp software running on the other end. You are
- sending the PPP frames to some other program which is probably
- saying "What is this #$%^ ?"
-
- 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 16
- 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.
-
- o The line is not "eight bit clean". This means that you need to
- have eight data bits, no parity, and one stop bit. The PPP link
- absolutely requires eight data bits.
-
- 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.
-
- o The remote is configured to require authentication such as 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 authenticiation 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 authenticiation
- and supply the proper secrets.
-
-
-
-
- 2.40. Q: The connection fails with an ioctl(TIOCSCTTY) error.
-
-
- A: Use the ppp-2.1.2b.tar.gz package. This was a bug which was not
- caught before the `a' package was released.
-
-
-
-
- 2.41. 1.0 series kernel to find the hardware address. Now what? Q:
- I am trying to use proxyarp. The proxyarp function fails with the
-
-
- A: Use the ppp-2.1.2b.tar.gz package. The pppd process was
- erroneously compiled with the 1.1.8 kernel and it used Net-3 rather
- than Net-2 definitions.
-
-
-
-
- 2.42. package and it says that it needs the 4.6 version of the
- libraries! Now what? Q: Ok, #%@& ! I did get the ppp-2.1.2b
-
-
- A: Sorry, I goofed. You will have to forego the binaries and re-
- compile the code yourself. It is easy. Go to the pppd directory,
- delete the bad binary, and issue the command `make'. Go to the chat
- directory and do the same if you want a corrected chat program.
-
- It turns out that when I compiled the ppp-2.1.2b package, while I used
- the proper definitions, I used the 4.6 libraries. One of these days,
- Al may finally get his act together . . . .
-
- Or, you can get binaries from the Slackware 2.0.2 (or later) package.
- They are in the ppp.tgz file in the `n' series of disks.
- Please use the source in the ppp-2.1.2b to compile the code. The
- source has been corrected over the `a' package.
-
-
-
-
- 2.43. error" or "ioctl(PPPIOCSINPSIG): I/O error". What now? Q: The
- connection fails with errors "ioctl(TIOCGETD): I/O
-
-
- A: Look at the boot messages when you boot the kernel. If it says
- "PPP version 0.1.2" then you have an old version of the ppp.c driver.
-
- If it says "PPP version 0.2.7" then you have the current driver,
- however, it was not built with the same set of defines for the ioctl
- numbers. Ensure that you have only one file called "ppp.h". It
- should be located in the kernel's include/linux directory. Once you
- have done this, rebuild the kernel and the pppd process.
-
-
-
-
- 2.44. "ioctl(TIOCSETD): I/O error" and "ioctl(TIOCNXCL): I/O error"
- occur. Why? Q: Sometimes the messages "ioctl(PPPIOCGDEBUG): I/O
- error",
-
-
- A: 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 pppd process trying to do the same thing. These are to
- be expected.
-
-
-
-
- 2.45. Q: I am trying to use the merit network. Why does this not
- connect?
-
-
- A: Some users of the merit network have indicated that it needs PAP.
- Did you try PAP authentication?
-
-
-
-
- 2.46. following. It may report the ppp device as "unknown" and show
- a strange hardware address. Is this important? Q: My ifconfig says
- something other than the
-
-
-
-
- ppp0 Link encap Point-to-Point Protocol
- inet addr 192.76.32.2 P-t-P 129.67.1.165 Mask 255.255.255.0
-
-
-
-
- A: No. The information is for display purposes only. If you are using
- a recent 1.1 kernel then update the nettools package with the current
- one on sunacm.swan.ac.uk in the directory
- /pub/Linux/networking/nettools.
-
-
-
-
- 2.47. ifconfig and route and it still won't work! What am I doing
- wrong? It says to do this in the Net-2-HOWTO. Q: My system will not
- work. I use slattach and
-
-
- A: Do not use slattach and ifconfig with PPP. These are used for
- SLIP. The pppd process does these functions at the appropriate time.
- These must occur after the LCP and IPCP protocols have been exchanged.
-
- You can not replace pppd with slattach and ifconfig. Most of the
- protocol support for PPP is in the pppd process. Only the IP (and IPX
- when it is completed) processing is in the kernel.
-
- The host route to the remote system will be automatically added by
- pppd. There is no option to NOT add the route. The pppd process will
- terminate if the route could not be added.
-
- The default route may or may not be added. This is controlled by the
- option `defaultroute'. If you have a default route, it will not be
- changed.
-
- If you must do routing for an entire network, then put the route
- command into the /etc/ppp/ip-up script. The parameters to the script
- are:
-
-
-
- $0 - name of the script (/etc/ppp/ip-up or /etc/ppp/ip-down)
- $1 - name of the network device (such as ppp0)
- $2 - name of the tty device (such as /dev/cua0)
- $3 - speed of the tty device in Bits Per Second (such as 38400)
- $4 - the local IP address in dotted decimal notation
- $5 - the remote IP address in dotted decimal notation
-
-
-
-
-
-
-
- 2.48. network and not the route to the host. How is that accom-
- plished? Q: Ok. Now I have the parameters. However, I want the
- route to the
-
-
- A: On sunsite there is a package called devinfo.tar.gz. It contains
- some useful little programs which will extract the data from the
- device and to do various things with the dotted IP addresses.
-
- The documentation is in the man pages in the file.
-
- For example, if you want to route the entire IP domain to the remote,
- the following may be used in /etc/ppp/ip-up.
-
- Of course, if the values are not variable, then simply use the
- appropriate entry in the route command.
-
-
-
-
-
-
-
-
-
-
- ______________________________________________________________________
- # Obtain the netmask for the ppp0 (or whatever) device
- NETMASK = `devinfo -d $1 -t mask`
-
- # Obtain the IP domain (without the host address by removing the extra bits)
- DOMAIN = `netmath -a $5 $NETMASK`
-
- # Do the network route now that the IP domain is known
- route -net add $DOMAIN gw $5
- ______________________________________________________________________
-
-
-
-
-
- 2.49. an absolute must for me! Q: When are you going to support
- `demand dial'? It is
-
-
- A: Use the diald package. This is on sunsite in the same directory as
- the ppp source, /pub/Linux/system/Network/serial.
-
-
-
-
-
- 2.50. Q: How about filtering? When are you going to do that?
-
-
- A: There are no plans to put filtering into the PPP code. Run the
- ipfirewall code. It is on sunsite. Help the author debug that code.
- It will do the filtering that you want in a general solution.
-
-
- The latest development kernels will include the patches to support
- filtering. Again, filtering is a network issue and not one
- specifically for PPP.
-
-
-
-
-
- 2.51. Q: How about IPX?
-
-
- A: The addition of support for IPX is fairly straight forward. I
- started to work on it for someone who asked me over IRC. I must read
- more of the Novell manuals to understand what the proper values are
- for the routing functions that IPXCP needs. (IPXCP is the control
- protocol for IPX.)
-
-
-
-
- 2.52. Q: How about NETBIOS?
-
-
- A: There is a netbios PPP protocol. However, your better solution
- would be to use TCP/IP and the `samba' code.
-
- Microsoft and others have used Netbios PPP protocol. This is usually
- a proprietary mixture and one vendor is not guaranteed to work with
- another.
-
- I'll leave the Netbios protocols for someone else.
-
- 2.53. documentation and it was empty? Why? Q: I just looked at the
- /proc/net/dev file mentioned in the
-
-
- A: Did you just issue the command "ls -l /proc/net" and are wondering
- why the size is zero? If so, this is normal. Instead, issue the
- command:
-
-
-
- cat /proc/net/dev
-
-
-
-
- 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.
-
-
-
-
- 2.54. using Microsoft's PPP. Why not? Q: I can not connect to/with
- my Windows NT code (a.k.a. 'Daytona')
-
-
- The Microsoft PPP is sending an authentication type of 0xC207. Normal
- PAP is 0xC203.
-
- A: Microsoft has chosen to support a non-standard authentication
- protocol with Windows NT. That is their right to do so provided that
- they have registered the protocol number with the IANA. (They have.)
- If the ``accept only Microsoft encrypted authentication'' check box is
- set in the phone book entry, the connection will not complete. This
- setting mandates that the Daytona system only exchange PPP
- authentication with another Microsoft PPP implementation.
-
- Linux does not support this authentication protocol.
-
- If you have the option of changing the settings on the Daytona system
- then go to the Daytona Phone Book settings, advanced, security
- settings and choose either ``Accept any authentication including clear
- text'' to allow execution without authentication, or ``Use clear text
- terminal login only'' for PAP authentication, or ``Accept only
- encrypted authentication'' to allow CHAP authentication.
-
- The Microsoft authentication sequence is a PAP style authentication
- with their encryption algorithm for the passwords. Normal PAP sends
- the passwords in clear text. This would violate their C2 security
- goals.
-
-
-
-
- 2.55. Q: Do you have a PPP compatible mail reader? How about a news
- reader?
-
-
- A: Huh? You have the wrong group if you want MSDOS. PPP has nothing
- to do with the mail user agent. All of the mail agents are compatible
- with PPP.
-