home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 13 / CDA13.ISO / DOC / FAQ / PPP_FAQ.TXT < prev    next >
Encoding:
Text File  |  1996-09-02  |  70.7 KB  |  1,422 lines

  1.   Linux PPP FAQ
  2.   Al Longyear, lloonnggyyeeaarr@@nneettccoomm..ccoomm
  3.   v1.12, 12 January 1996
  4.  
  5.   This document contains a list the most Frequently Asked Questions
  6.   (FAQ) about PPP for Linux (and their answers). It is really _n_o_t a
  7.   HOWTO, but is in `classical' Question / Answer form.  We have a dif-
  8.   ferent document which represents the PPP-HOWTO. It is written by
  9.   Robert Hart.
  10.  
  11.   11..  PPrreeffaaccee
  12.  
  13.   Please send any corrections to lloonnggyyeeaarr@@nneettccoomm..ccoomm.
  14.  
  15.   This is but one of the Linux HOWTO/FAQ documents. You can get the
  16.   HOWTO's from ssuunnssiittee..uunncc..eedduu:://ppuubb//LLiinnuuxx//ddooccss//HHOOWWTTOO (this is the
  17.   `official' place) or via WWW from the Linux Documentation home page
  18.   <hhttttpp::////ssuunnssiittee..uunncc..eedduu//mmddww//lliinnuuxx..hhmmttll>. You cannot rely on the
  19.   HOWTO's being posted to ccoommpp..ooss..lliinnuuxx..aannsswweerrss, as some news feeds have
  20.   complained about their size.
  21.  
  22.   Throughout this document, I have used the word `remote' to mean `the
  23.   system at the other end of the modem link'. It is also called `peer'
  24.   in the PPP documentation. Another name for this is called the
  25.   `gateway' when the term is use for routing. Its IP address will show
  26.   as the `P-t-P' address if you use iiffccoonnffiigg.
  27.  
  28.   Microsoft is a registered trademark of Microsoft Corporation. Morning
  29.   Star is a registered trademark of Morning Star Technologies
  30.   Incorporated. All other products mentioned are trademarks of their
  31.   respective companies.
  32.  
  33.   22..  GGeenneerraall iinnffoorrmmaattiioonn
  34.  
  35.   22..11..  WWhhaatt iiss PPPPPP??
  36.  
  37.   PPP, or Point-to-Point Protocol, is a recognized `official' Internet
  38.   protocol. It is a protocol used to exchange IP frames (and others)
  39.   over a serial link. The current RFC for PPP is 1661. There are many
  40.   related ones.
  41.  
  42.   Contrary to what some people think, it does not mean "Peer to Peer
  43.   Processing"; although you may do peer-peer communications using TCP/IP
  44.   over a PPP link.
  45.  
  46.   22..22..  MMyy uunniivveerrssiittyy ((ccoommppaannyy)) ddooeess nnoott ssuuppppoorrtt PPPPPP.. CCaann II uussee PPPPPP??
  47.  
  48.   In general, no. A `classical' PPP implementation requires that you
  49.   make changes to the routes and network devices supported by the
  50.   operating system. This may mean that you will have to rebuild the
  51.   kernel for the remote computer.
  52.  
  53.   This is not a job for a general user. If you can convince your
  54.   administration people that PPP is a `good thing' then you stand a
  55.   chance of getting it implemented. If you can't, then you probably
  56.   can't use PPP.
  57.  
  58.   However, if you are using a system which is supported by the people
  59.   who are marketing the "TIA" (The Internet Adapter) package, then there
  60.   is hope. I do not have much information on this package, however, from
  61.   what I have found, they plan to support PPP in "the next version". (My
  62.   information may be old. Contact them directly.  Information on TIA is
  63.   available at ffttpp..mmaarrkkeettppllaaccee..ccoomm in the //ppuubb//ttiiaa directory.)
  64.  
  65.   If your system is not supported by TIA, and you choose not to use
  66.   slirp, and you can't convince the admin group to support PPP then you
  67.   should use the `tteerrmm' package. Some service providers will object to
  68.   you running `tteerrmm'. They have many different reasons, however the most
  69.   common is `security concerns'.
  70.  
  71.   There is a version of TIA for Linux.
  72.  
  73.   In addition to TIA, Danny Gasparovski wrote a program called sslliirrpp
  74.   which will perform functions similar to TIA. The program is currently
  75.   available with the source code from the ftp site
  76.   bblliittzzeenn..ccaannbbeerrrraa..eedduu..aauu:://ppuubb//sslliirrpp. You should obtain the code if you
  77.   wish additional information about this program. From the initial
  78.   examination, it is seems to be an excellent contender to the
  79.   commercial TIA program.
  80.  
  81.   22..33..  WWhheerree iiss PPPPPP??
  82.  
  83.   It is in two parts. The first part is in the kernel. In the kernels
  84.   from 1.1.13, the driver is part of the network system drivers.
  85.  
  86.   The second part is the `daemon' process, ppppppdd. This is a rreeqquuiirreedd
  87.   process. The source to it is in the file pppppp--22..22..00ee..ttaarr..ggzz located on
  88.   ssuunnssiittee..uunncc..eedduu in the //ppuubb//LLiinnuuxx//ssyysstteemm//NNeettwwoorrkk//sseerriiaall directory.
  89.  
  90.   Version 2.2 and above are designed to be used only with the 1.2 and
  91.   later kernels. Please don't use this version with the 1.1 series
  92.   kernels as they are out of date for either the tty driver or the
  93.   networking software.
  94.  
  95.   22..44..  II jjuusstt oobbttaaiinneedd PPPPPP.. WWhhaatt ddoo II ddoo wwiitthh iitt??
  96.  
  97.   RRead TThe FFine MMaterial available.
  98.  
  99.   Start by reading the RREEAADDMMEE file and then the RREEAADDMMEE..lliinnuuxx file. The
  100.   documentation sources are listed below.
  101.  
  102.   22..55..  ((WWhheerree''ss tthhee ddooccuummeennttaattiioonn?? IIss tthheerree aa HHOOWWTTOO??,, eettcc..))  WWhheerree aarree
  103.   aaddddiittiioonnaall ssoouurrcceess ooff iinnffoorrmmaattiioonn ffoorr PPPPPP??
  104.  
  105.   There are several sources of information for the PPP protocol as
  106.   implemented under Linux.
  107.  
  108.   +o  The RREEAADDMMEE file in the source package.
  109.  
  110.   +o  The RREEAADDMMEE..lliinnuuxx file in the source package.
  111.  
  112.   +o  The NNeett--22--HHOOWWTTOO document.
  113.  
  114.   +o  The PPPPPP--HHOOWWTTOO document.
  115.  
  116.   +o  The Network Administration Guide.
  117.  
  118.   +o  The ppppppdd man page.
  119.  
  120.   +o  The FAQ document for the comp.protocols.ppp newsgroup.
  121.  
  122.   The HOWTO and this FAQ are stored in the usual place for the Linux
  123.   HOWTOs. That is currently on ssuunnssiittee..uunncc..eedduu in the directory
  124.   //ppuubb//LLiinnuuxx//ddooccss//HHOOWWTTOO.
  125.  
  126.   The Network Administration Guide is available in the
  127.   //ppuubb//LLiinnuuxx//ddooccss//LLPPDD//nneettwwoorrkk--gguuiiddee directory on sunsite. It is also
  128.   published by O'Riellly and Associates. So, if you want a really
  129.   professional document, then buy a copy from your local bookstore.
  130.  
  131.   The `mmaann' pages are included in the source package. You will probably
  132.   have to move them to the normal man directory, //uussrr//mmaann//mmaann88 before
  133.   the mmaann command may find them.  Alternately, you may use nnrrooffff and
  134.   mmoorree to view them directly.
  135.  
  136.   The FAQ for comp.protocols.ppp describes the PPP protocol itself and
  137.   the various implementations. You will find the FAQ for the usenet news
  138.   group, ccoommpp..pprroottooccoollss..PPPPPP, archived on rrttffmm..mmiitt..eedduu in the //uusseenneett
  139.   directory. It is in eight parts at the present time.
  140.  
  141.   22..66..  WWoouulldd ssoommeeoonnee pplleeaassee sseenndd mmee ssccrriippttss ffoorr PPPPPP ssoo tthhaatt II mmaayy sseeee
  142.   hhooww tthheeyy aarree wwrriitttteenn??
  143.  
  144.   There are a few scripts which are included with the source package for
  145.   pppd. It will cover the normal types of access where you are requested
  146.   to enter a UNIX login and password.
  147.  
  148.   Specific `scripts' for specific systems are not included. If you have
  149.   problems with a specific connection then you should contact the help
  150.   desk for your site, the local news group at the site, or the general
  151.   usenet groups for Linux. Unfortunately, time does not permit me to
  152.   answer questions for help on supplying a script for your specific
  153.   system.
  154.  
  155.   22..77..  WWhheerree sshhoouulldd II ppoosstt qquueessttiioonnss aabboouutt PPPPPP??
  156.  
  157.   The primary usenet group for the PPP implementations is
  158.   ccoommpp..pprroottooccoollss..PPPPPP or ccoommpp..ooss..lliinnuuxx..sseettuupp. Use this group for general
  159.   questions such as "How do I use pppd?" or "Why doesn't this work?".
  160.  
  161.   Questions such as "Why wont pppd compile?" are generally linux related
  162.   and belong on the comp.os.linux.networking group.
  163.  
  164.   Please don't use comp.os.linux.help; even if your site should still
  165.   carry this obsolete news group.
  166.  
  167.   22..88..  TThhee PPPPPP ssooffttwwaarree ddooeessnn''tt wwoorrkk.. HHEELLPP!!!!!!
  168.  
  169.   This is one of the most sickening questions. I realize that this is a
  170.   plea for help. However, it is practically useless to post this message
  171.   wwiitthh nnoo ootthheerr iinnffoorrmmaattiioonn. I, and most others, will only ignore it.
  172.  
  173.   Please see the question regarding errors which normally occur at the
  174.   modem's disconnection. They are not the cause of a problem, only a
  175.   symptom. Posting a message with only those errors is also meaningless.
  176.  
  177.   What is needed is the output of the system log (syslog) when you run
  178.   the ppppppdd program with the option `ddeebbuugg'. In addition, if you are
  179.   using chat then please use the `--vv' option to run the sequence with
  180.   verbose output.
  181.  
  182.   Please include the output from the kernel's startup. This shows the
  183.   various kernel hardware information such as your UART type, PPP
  184.   version, etc.
  185.  
  186.   Please include all information that you can relating to the problem.
  187.   However your system configuration, disk drive configuration, terminal
  188.   type, mouse location and button status, etc. are irrelevant. What is
  189.   important is the system to which your are trying to contact, the PPP
  190.   (or terminal server) that they are using, the modem types and speed
  191.   that you are using, etc.
  192.  
  193.   Take care and go through the output. Remove the references to the
  194.   telephone number, your account name, and the password. They are not
  195.   important to analyzing the problem and would pose a security risk to
  196.   you if you published them to usenet. Also discard the lines which
  197.   neither come from the kernel nor pppd.
  198.  
  199.   Do NNOOTT run the pppd program with the option `kkddeebbuugg 3311' and post that!
  200.  
  201.   If the problem warrants examining the data stream, then you will be
  202.   contacted by email and asked to mail the trace. Usenet already costs
  203.   too much for too many people.
  204.  
  205.   Information is written to various levels. The debug information is
  206.   written to the debug level. The informational messages are written to
  207.   the info level. The errors are written to the error level. Please
  208.   include all levels the the `llooccaall22' group which come from the ppppppdd
  209.   process.
  210.  
  211.   In addition, please do not delete the time stamp information. It is
  212.   important.
  213.  
  214.   22..99..  HHooww ddoo II uussee PPPPPP wwiitthh aa ssyysstteemm wwhhiicchh uusseess ddyynnaammiicc IIPP aassssiiggnn--
  215.   mmeennttss?? IItt aassssiiggnnss aa ddiiffffeerreenntt IIPP aaddddrreessss ttoo mmee wwiitthh eeaacchh ccaallll..
  216.  
  217.   The assignment of the local IP address is a function of the options
  218.   given to pppd and the IPCP protocol. You should use the `magic' IP
  219.   address of 0.0.0.0 if you must specify the local IP address. Most
  220.   people simply leave the local IP address out of the option list.
  221.  
  222.   The other option which is closely tied to this is called
  223.   `noipdefault'. The noipdefault option instructs the pppd process to
  224.   not attempt to guess the local IP address from your hostname and the
  225.   IP addresses in the /etc/hosts file. Most people use this option when
  226.   the IP address is dynamically assigned. However, this option does not
  227.   mean `use dynamic IP addresses'. The use of dynamic IP addresses is
  228.   automatic when the local IP address is not given.
  229.  
  230.   22..1100..  HHooww ddoo II kknnooww wwhhaatt IIPP aaddddrreessss wwaass ggiivveenn ttoo mmee wwhheenn iitt iiss ddyynnaamm--
  231.   iiccaallllyy aassssiiggnneedd??
  232.  
  233.   Use the /etc/ppp/ip-up hook. The local IP address is the fourth
  234.   parameter. This will be executed when pppd knows the IP address for
  235.   the local system. The fifth parameter is the remote IP address if you
  236.   should wish to know this value as well.
  237.  
  238.   If you are curious about the value assigned then you may use the
  239.   iiffccoonnffiigg program to display the current settings. It will show you the
  240.   current values for both the local IP address and the IP address
  241.   assigned to the remote under the P-t-P heading.
  242.   22..1111..  CCaann II uussee tthhee ssaammee llooccaall IIPP aaddddrreessss ffoorr eeaacchh lliinnee ooff aa PPPPPP
  243.   sseerrvveerr??
  244.  
  245.   Yes. The local address is not significant to the local system. You
  246.   must have a unique rreemmoottee IP address. The routing is performed based
  247.   upon the remote IP address and not the local IP address.
  248.  
  249.   33..  OOtthheerr iimmpplleemmeennttaattiioonnss
  250.  
  251.   33..11..  DDoo yyoouu kknnooww ooff aa iimmpplleemmeennttaattiioonn ffoorr PPPPPP ootthheerr tthhaann LLiinnuuxx?? II
  252.   wwoouulldd lliikkee oonnee ffoorr HHPP--UUXX,, oorr AAIIXX,, oorr ...... ((yyoouu ffiillll iinn tthhee bbllaannkk)) ??
  253.  
  254.   Check the PPP FAQ document mentioned above.
  255.  
  256.   HP-UX is supported by the commercial Morningstar package. AIX is in
  257.   the current 2.2 pppd package.
  258.  
  259.   If you don't find one listed then post to the ccoommpp..pprroottooccoollss..PPPPPP group
  260.   and not the Linux group.
  261.  
  262.   (Please don't mail me asking for "Do you know of a PPP package for
  263.   ..."?  These requests will now be `appropriately' filed. ;;--)))
  264.  
  265.   The pppd package placed on sunsite does not contain the code which
  266.   would use the some of the ports which use the streams interface. This
  267.   is due to the reason that the streams interface contains a restrictive
  268.   copyright which prevents the commercial packaging of the source which
  269.   contains the module. We, the people who have been working on the pppd
  270.   package, have tried to contact the author of the original module for
  271.   streams in an attempt to have the copyright changed. He was un-
  272.   responsive at first. Now he can not be located.
  273.  
  274.   For this reason, and due to the fact that the sunsite site is for
  275.   Linux, I decided to remove the AIX, Next, and any other port of pppd
  276.   which involved the original streams code. The SunOS and Solaris ports
  277.   aarree included since their streams implementation has been rewritten.
  278.   You should continue to find the BSD variation as well as the Linux
  279.   form in the package. If you wish the pppd code for a system which uses
  280.   streams then you will have to consult the PPP-FAQ for the location of
  281.   the pppd archive site near you. Alternately, you can use archie. Just
  282.   don't use the mirrors for sunsite as they will not have the code.
  283.  
  284.   33..22..  DDiidd yyoouu kknnooww tthhaatt tthheerree iiss aa pprrooggrraamm ccaalllleedd ``ddpp'?
  285.  
  286.   Yes, we know. The ddpp package was considered very early in the
  287.   development stage quite a few months back. It is nice.  It supports
  288.   'demand dial'. It also only works with systems which support streams.
  289.   This is primarily the SunOS (Solaris) operating systems.
  290.  
  291.   The question of demand dial is covered later in this document.
  292.  
  293.   Linux, at the present time, does not supports streams.
  294.  
  295.   There are several other packages for PPP available on the `net'. The
  296.   `portable PPP' package is very much like the TIA code. There is
  297.   another package called simply `PPP'. There is code for PPP in the KA9Q
  298.   package.
  299.  
  300.   The sslliirrpp and TTIIAA code will do PPP as well.
  301.  
  302.   Of all of the packages available, the pppd package was the closest to
  303.   the requirements and functions of Linux to warrant the port.
  304.  
  305.   (If you want more information about these other packages, ask in the
  306.   ccoommpp..pprroottooccoollss..PPPPPP group!)
  307.  
  308.   33..33..  WWhhaatt RRFFCCss ddeessccrriibbee tthhee PPPPPP pprroottooccooll??
  309.  
  310.   The current implementation of PPP is a mixture of several.  The major
  311.   portion of the PPP code is written against the RFCs 1331 and 1332.
  312.   These RFCs were later obsoleted. 1331 was replaced by 1548 and that,
  313.   in turn, was obsoleted by 1661 six months later.
  314.  
  315.   Most implementations of PPP will be happy to talk to the Linux PPP
  316.   code.
  317.  
  318.   A complete list is in the PPP faq.
  319.  
  320.   [to quote the FAQ document]:
  321.  
  322.        All of 1134, 1171, and 1172 (and 1055, for that matter ::--))
  323.        have been obsoleted. They're interesting only if you want to
  324.        debug a connection with an ancient PPP implementation, and
  325.        you're wondering why (e.g.)  it asked you for IIPPCCPP option 2
  326.        with a length of only 4, and Compression-Type 00xx00003377.
  327.  
  328.        (There's a lot of that still running around - be careful out
  329.        there.)
  330.  
  331.   Linux PPP will automatically detect this condition and compensate for
  332.   it.
  333.  
  334.   44..  CCoommppaattiibbiilliittyy
  335.  
  336.   44..11..  CCaann PPPPPP ttaallkk ttoo aa SSLLIIPP iinntteerrffaaccee??
  337.  
  338.   No. SLIP works with SLIP. PPP works with PPP.
  339.  
  340.   Some vendors may offer products which work both as SLIP and PPP.
  341.   However, they must be configured to run in one mode or the other.
  342.   There is no present method to determine, based upon the protocol
  343.   passed at the time of a connection, which combination of SLIP
  344.   protocols or PPP is being requested.
  345.  
  346.   44..22..  WWhhiicchh iiss bbeetttteerr?? PPPPPP oorr SSLLIIPP??
  347.  
  348.   IITT DDEEPPEENNDDSS UUPPOONN MMAANNYY FFAACCTTOORRSS. The people who post this type of
  349.   question have usually not read the NNeett--22--HHOOWWTTOO document.
  350.  
  351.   A good technical discussion is available at Morning Star's www server,
  352.   wwwwww..mmoorrnniinnggssttaarr..ccoomm.
  353.  
  354.   44..33..  IIss CCHHAAPP oorr PPAAPP bbeetttteerr ffoorr aauutthheennttiiccaattiioonn??
  355.  
  356.   If you have the choice, use CHAP. Failing that, PAP is better than
  357.   nothing.
  358.  
  359.   44..44..  WWhhaatt aabboouutt CCHHAAPP wwhhiicchh MMiiccrroossoofftt uusseess wwiitthh WWiinnddoowwss NNTT??
  360.  
  361.   CHAP is a cryptographic authentication protocol. It means that it
  362.   takes some form of a key and will encrypt the response using a one-way
  363.   encryption algorithm. The algorithm is negotiated at the time that the
  364.   CHAP protocol is requested. The most common is called MD5. It has an
  365.   encryption code of 05 in the CHAP request.
  366.  
  367.   Microsoft uses a DES algorithm which, until recently, was incompatible
  368.   with the pppd process. If you wish to connect to a Windows NT server,
  369.   there are a set of patches which are included with the pppd source
  370.   code to support the DES style used by Microsoft.
  371.  
  372.   CCoonnttrraarryy ttoo wwhhaatt ssoommee uunn--iinnffoorrmmeedd ppeeooppllee bbeelliieevvee aatt SSttaannffoorrdd
  373.   UUnniivveerrssiittyy bbeelliieevvee,, MMiiccrroossoofftt ddiidd nnoott jjuusstt ggoo aaggaaiinnsstt tthhee
  374.   rreeccoommmmeennddaattiioonnss ooff tthhee IIEETTFF wwoorrkkiinngg ggrroouupp.. TThhee ccooddee vvaalluueess wweerree
  375.   pprrooppeerrllyy rreeqquueesstteedd aanndd tthhee iimmpplleemmeennttaattiioonn hhaass bbeeeenn ffuullllyy ddooccuummeenntteedd..
  376.  
  377.   55..  AAuutthheennttiiccaattiioonn ffiilleess
  378.  
  379.   55..11..  WWhhaatt ggooeess iinnttoo tthhee //eettcc//pppppp//ppaapp--sseeccrreettss file? Do you have a sam-
  380.   ple?
  381.  
  382.   The PAP protocol is most often implemented as your user name and
  383.   password. You need to include the name of the remote system, your
  384.   account name, and the password. If the user on abbot wishes to call
  385.   costello, the entry would be similar to the following.
  386.  
  387.           #account   remote     password     IP address list
  388.           abbott     *          firstbase
  389.  
  390.   To use PAP authentication with the simplest case, you should also
  391.   include the 'user' option to specify which of the pap-secrets file
  392.   entries is to be used. The option is explained in the pppd man page.
  393.   However, the simplest for this example is:
  394.  
  395.   user abbott
  396.  
  397.   55..22..  WWhhaatt ggooeess iinnttoo tthhee //eettcc//pppppp//cchhaapp--sseeccrreettss file? Do you have a
  398.   sample?
  399.  
  400.   The most common problem is that people don't recognize that CHAP deals
  401.   with a pair of secrets. Both computers involved in the link must have
  402.   both secrets to work.
  403.  
  404.   For example, if aabbbboott wants to talk to ccoosstteelllloo, then aabbbboott's file
  405.   would have:
  406.  
  407.           #remote    local      secret       IP address list
  408.           abbott     costello   firstbase    10.10.10.2
  409.           costello   abbott     who          10.10.10.1
  410.  
  411.   And costello's file would have:
  412.  
  413.           #remote    local      secret       IP address list
  414.           abbott     costello   firstbase    10.10.10.2
  415.           costello   abbott     who          10.10.10.1
  416.  
  417.   66..  CCoonnssttrruuccttiioonn pprroobblleemmss
  418.  
  419.   66..11..  II ggeett ccoommppiillee eerrrroorrss wwhheenn II ttrryy ttoo ccoommppiillee tthhee kkeerrnneell
  420.  
  421.   The 2.2 package contains instructions which describe the steps needed
  422.   to install the package. Briefly, you need to run the configure
  423.   command. It will generate the links to the Makefile. Next, you need to
  424.   run 'make kernel'. This will install the needed pieces should the need
  425.   to be updated.
  426.  
  427.   Once the pieces have been installed, please rebuild the kernel at this
  428.   time. Do this even if you have previously constructed the kernel to
  429.   support PPP. The driver shipped with the 1.2 and early 1.3 kernels is
  430.   not compatible with the 2.2 version of pppd.
  431.  
  432.   Once you have rebuilt the kernel then you may resume to build the pppd
  433.   process, chat, and pppstats.
  434.  
  435.   There are problems with practically every version of the kernel and
  436.   the pppd package. In the linux/Other.Patches directory of the source
  437.   archive you will find a series of patches. Two of them need to be
  438.   applied to the 1.2.13 kernel. The only one which you do not apply to
  439.   the 1.2.13 kernel is the patch labeled "1.3".
  440.  
  441.   If you have an early version of the 1.3 kernel then you need to apply
  442.   the two patches for the 1.3 kernel and the slhc files.
  443.  
  444.   After you have applied the patch, if you are using an old version of
  445.   the include files, then you will have problems with the compilation of
  446.   the structures in the ppp_defs.h header file. Edit this file and
  447.   change the ""##iiff 00"" to be ""##iiff 11"". This is due to the definition of the
  448.   u_int32_t typedef.
  449.  
  450.   The package will build with the 1.3.58 kernel and the 5.2.18 version
  451.   of the libc and include files without the need for any patches.
  452.  
  453.   77..  PPrroobblleemmss rruunnnniinngg ppppppdd
  454.  
  455.   77..11..  ppppppdd says that version 0.0.0 is out of date
  456.  
  457.   You are attempting to run the 2.2 pppd process and you haven't rebuilt
  458.   the drivers in the kernel.
  459.  
  460.   77..22..  ppppppdd says that that the kernel is not configured for PPP. I know
  461.   that I enabled the option and built the kernel.
  462.  
  463.   Make sure that you did rebuild the kernel and that you are running it.
  464.  
  465.   Make sure that you don't have an old copy of pppd on your disk and you
  466.   are running that version. The previous version of pppd was stored on
  467.   /usr/lib/ppp. Many people objected to this location. The 2.2 code has
  468.   moved the ppppppdd, cchhaatt, and ppppppssttaattss to the /usr/sbin directory. If your
  469.   scripts still reference //uussrr//lliibb//pppppp then you will probably run the
  470.   old code.
  471.  
  472.   77..33..  ppppppdd wont run unless you are root
  473.  
  474.   The pppd process needs to make changes to the networking system and
  475.   this can only be done if you are the root user. If you wish to run
  476.   ppppppdd from other than the root user then the pppd program needs to be
  477.   secured 'suid to root'.
  478.  
  479.           chown root pppd
  480.           chmod 4755 pppd
  481.  
  482.   If you wish to control the pppd access to a select group of people,
  483.   then make the ppppppdd process owned by the group and do not permit all
  484.   others to run the program.
  485.  
  486.   77..44..  uunnaabbllee ttoo ccrreeaattee ppiidd ffiillee:: nnoo ssuucchh ffiillee oorr ddiirreeccttoorryy
  487.  
  488.   You need to create the directory //vvaarr//rruunn. On earlier Slackware
  489.   distributions, this was a symbolic link to the //eettcc directory.
  490.  
  491.   This is a warning. The PPP software will work normally in spite of
  492.   this message. However, the pppppp--ooffff script depends upon this file. It
  493.   is a good idea to create the directory or make the link to the
  494.   appropriate location.
  495.  
  496.   The posix header, ppaatthhss..hh, defines the location for the pid file under
  497.   the name "__VVAARR__RRUUNN". If you wish to use a different directory for PPP
  498.   and others, change the value for this define and rebuild the software.
  499.  
  500.   77..55..  //eettcc//pppppp//ooppttiioonnss:: nnoo ssuucchh ffiillee oorr ddiirreeccttoorryy
  501.  
  502.   You need to create the directory //eettcc//pppppp and have a file called
  503.   'ooppttiioonnss' in that directory. It needs to be readable by the ppppppdd
  504.   process (root).
  505.  
  506.   The file may be empty. To make an empty file use the `ttoouucchh' command.
  507.  
  508.   See the ppppppdd man page, ppppppdd..88, for a description of this file.
  509.  
  510.   77..66..  CCoouulldd nnoott ddeetteerrmmiinnee llooccaall IIPP aaddddrreessss
  511.  
  512.   This happens with many configurations of the Telebit Netblazer. The
  513.   problem is not the terminal server, but the site which has not
  514.   configured the terminal server with a set of IP addresses.
  515.  
  516.   The Netblazer does not have your IP address. You do not have your IP
  517.   address. The link will not work unless both IP addresses are known.
  518.  
  519.   +o  The Netblazer does not have your IP address and you do not have
  520.      your IP address.
  521.  
  522.   +o  The Netblazer does know its IP address and you do not have its IP
  523.      address.
  524.  
  525.   The link will not work unless both IP addresses are known.
  526.  
  527.   You must tell the Netblazer the IP addresses to be used. Use the local
  528.   IP address and the remote IP address as a parameter to the pppd
  529.   process.
  530.  
  531.   Use the pppd option format of:
  532.  
  533.   local_ip:remote_ip
  534.  
  535.   (That is the local IP address, a colon, and the remote IP address.)
  536.  
  537.   77..77..  CCoouulldd nnoott ddeetteerrmmiinnee rreemmoottee IIPP aaddddrreessss
  538.  
  539.   See the previous answer.
  540.  
  541.   77..88..  II kkeeeepp ggeettttiinngg tthhee mmeessssaaggee ttoo tthhee eeffffeecctt tthhaatt tthhee mmaaggiicc nnuummbbeerr
  542.   iiss aallwwaayyss NNAAKKeedd.. TThhee ssyysstteemm wwiillll nnoott ccoonnnneecctt..
  543.  
  544.   There is a one in over four billion chance that the two systems have
  545.   chosen the same magic number. If you get a continual failure about the
  546.   magic number, the chances that this is a fluke will geometrically
  547.   reduce.
  548.  
  549.   The two most common reasons for this failure are:
  550.  
  551.   +o  The remote PPP software is not running when you think it is.  Is
  552.      the remote system configured to run PPP? Is the PPP process in the
  553.      expected location?  Is the privileges suitable so that you may run
  554.      it?
  555.  
  556.      This would indicate that the shell is doing the local echo of the
  557.      data. This is the more common reason.
  558.  
  559.   +o  The modem has disconnected immediately upon making the connection
  560.      and logging you on to the remote. Most modems are configured to
  561.      echo the data sent to them and you are seeing the local echo from
  562.      the modem.
  563.  
  564.   In either case, the Linux system is sending data to the remote which
  565.   is being fed immediately back into the serial receiver. This is not an
  566.   acceptable condition. You have what is called a "lloooopp".
  567.  
  568.   77..99..  pprroottooccooll rreejjeecctt ffoorr pprroottooccooll ffffffbb
  569.  
  570.   This usually occurs when you are trying to connect to a Xyplex
  571.   terminal server. Version 5.1 of the Xyplex terminal server software,
  572.   according to Xyplex, has numerous problems with PPP. It is strongly
  573.   recommended that you update the Xyplex software to at least version
  574.   5.3.
  575.  
  576.   If you must use Xyplex version 5.1, then use the pppd option "vvjj--mmaaxx--
  577.   sslloottss 33" to limit the number of slots to three. The problem on the
  578.   Xyplex server is that it will accept the request for the default 16
  579.   slots, but fail to operate beyond the third slot. It should have
  580.   return a NAK frame with the limit, but it does not.
  581.  
  582.   Alternately, you can disable the Van Jacobson header compression with
  583.   the option "--vvjj".
  584.  
  585.   77..1100..  TThhee PPPPPP ssooffttwwaarree ccoonnnneeccttss,, sseennddss qquuiittee aa ffeeww ffrraammeess,, bbuutt ssttiillll
  586.   ddooeess nnoott sseeeemm ttoo ccoonnnneecctt.. WWhhyy iiss tthhaatt??
  587.  
  588.   Linux does not support RPI modems. If your modem is RPI then you will
  589.   have to find a different modem. This is not likely to change in the
  590.   future given the statements made by Rockwell's management.
  591.  
  592.   Examine the system log when you use the "ddeebbuugg" option. (You will need
  593.   the system log data anyway if you are going to ask for help.)  If the
  594.   trace shows that it is sending the LLCCPP-request frame over and over
  595.   again and the id number is not incrementing then you are not
  596.   exchanging frames with the remote PPP software.
  597.  
  598.   Three common reasons for this are:
  599.  
  600.   +o  You don't have the PPP software running on the other end. You are
  601.      sending the PPP frames to some other program which is probably
  602.      saying "What is this #$%^ ?"
  603.  
  604.      Please make sure that you have the PPP software started on the
  605.      other end before you enter the PPP protocol sequence. Try to use a
  606.      normal modem program and go through the logon sequence that you
  607.      would normally do. Do you see the PPP frames being sent to you?
  608.  
  609.      The PPP frames are fairly distinctive. They will be about 40
  610.      characters in length and contain several {{ characters. They should
  611.      not have a carriage return character after them and are sent out in
  612.      a burst with a pause between the bursts.
  613.  
  614.   +o  The line is not "eight bit clean". This means that you need to have
  615.      eight data bits, no parity, and one stop bit. The PPP link
  616.      absolutely requires eight data bits.
  617.  
  618.      The pppd software will automatically put the line into eight data
  619.      bits, no parity, and one stop bit. The remote must match this
  620.      configuration or framing and parity errors may occur.
  621.  
  622.      PPP will escape characters. It is not possible for it to escape
  623.      bits as kermit does. PPP will _n_o_t work with a seven bit
  624.      communications link.
  625.  
  626.   +o  The remote is configured to require authentication such as PPAAPP or
  627.      CCHHAAPP. You have not configured the local system to use this feature.
  628.      Therefore, the remote is discarding all of your frames until it
  629.      sees a valid authentication frame from you.  Since you are not
  630.      configured to generate the frames, the IIPPCCPP frames which you send
  631.      are being ignored.
  632.  
  633.      In this case, either configure the remote to not expect
  634.      authentication or configure the local system to do authentication
  635.      and supply the proper secrets.
  636.  
  637.      Examine the receipt of the LCP configure frame. If it shows an
  638.      'auth' type, then the remote is configured for authentication.
  639.  
  640.   77..1111..  TThhee //eettcc//pppppp//iipp--uupp ssccrriippttss wwoonntt wwoorrkk..
  641.  
  642.   The pppd process launches the program at the location /etc/ppp/ip-up
  643.   when the IP layer goes up. It gives it parameters which define the
  644.   line status. Such things include the device name, communications
  645.   speed, and IP addresses.
  646.  
  647.   However, what may not be clear is that it treats this file as a
  648.   pprrooggrraamm. It is not a script. The program is started by using the
  649.   exec() function of Linux.
  650.  
  651.   What this means is that if you wish to use a script for these
  652.   programs, then you must do two things.
  653.  
  654.   +o  You need to have the file marked as executable with chmod. The
  655.      proper mode for the file should be mode 100. Mode 500 is acceptable
  656.      if you wish to read the file and mode 700 is acceptable if you wish
  657.      to write to the file. The file should be owned by the root user.
  658.  
  659.   +o  The file must have as the first line the sequence:
  660.  
  661.        #!/bin/sh
  662.  
  663.   The # character must be in the first character position of the very
  664.   first line of the file. The interpreter program, /bin/sh in this case,
  665.   may be any program which is expected to run the script. Most people
  666.   will use the Bourne shell for this purpose. It is commonly stored in
  667.   the location /bin/sh. Other commonly used interpreters are perl and
  668.   csh. What is important is that the first two characters of the file be
  669.   the # and ! characters respectively.
  670.  
  671.   77..1122..  II ccaann''tt ccoonnnneecctt ttoo tthhee mmeerriitt nneettwwoorrkk..
  672.  
  673.   Some users of the merit network have indicated that it needs PAP. Did
  674.   you try PAP authentication?
  675.  
  676.   88..  DDIIPP
  677.  
  678.   88..11..  DDIIPP ddooeess nnoott hhaavvee ssuuppppoorrtt ffoorr PPPPPP''ss mmooddee
  679.  
  680.   The current version of dip-uri supports PPP in that it will execute
  681.   the pppd process when you execute `mode PPP'. However, there are many
  682.   options which are needed for the proper operation of pppd. Since dip
  683.   does not pass these to the program, they must be stored in the
  684.   /etc/ppp/options file.
  685.  
  686.   The dip program controls the establishment of the SLIP link. It
  687.   controls the SLIP link with the aid of slattach, ifconfig, and route.
  688.   These programs may be used to establish a SLIP link. They are not
  689.   useful for the establishment of a PPP link.
  690.  
  691.   The dip program may be used to dial the telephone and start the PPPPPP
  692.   software on the remote system. It is best used in this mode as the
  693.   parameter to the `ccoonnnneecctt' option. However, you have the option to use
  694.   dip to control the link. It is not important how pppd be executed to
  695.   run the PPP link. It is only important that it be executed as it is a
  696.   mandatory program for the PPP protocol.
  697.  
  698.   While this is not a FAQ for dip, there is a common problem with dip
  699.   and pppd. The dip process has the absolute pathname to the pppd
  700.   process embedded within it. Until recently, the location for pppd was
  701.   /usr/lib/ppp/pppd. It has moved to the /usr/sbin/pppd location. So, if
  702.   you are unable to get dip to start pppd then check the pathnames in
  703.   dip.
  704.  
  705.   Additional information about the dip process is in the Net-2-HOWTO
  706.   document.
  707.  
  708.   99..  PPrroocceessss tteerrmmiinnaattiioonn
  709.  
  710.   99..11..  IIss tthheerree aa ``ddiipp --kk' for PPP?
  711.  
  712.   No. There is no `ddiipp --kk'.
  713.  
  714.   In the chat directory, there is a `PPPPPP--ooffff' script. This will stop the
  715.   PPP link in the same manner as the 'ddiipp --kk'.
  716.  
  717.   I have included it below. (Cut it out. Store it in its own file.  Make
  718.   the file executable with chmod.)
  719.  
  720.   ______________________________________________________________________
  721.   #!bin/sh
  722.   DEVICE=ppp0
  723.   #
  724.   # If the ppp0 pid file is present then the program is running. Stop it.
  725.   if [ -r /var/run/$DEVICE.pid ]; then
  726.           kill -INT `cat /var/run/$DEVICE.pid`
  727.   #
  728.   # If the kill did not work then there is no process running for this
  729.   # pid. It may also mean that the lock file will be left. You may wish
  730.   # to delete the lock file at the same time.
  731.           if [ ! "$?" = "0" ]; then
  732.                   rm -f /var/run/$DEVICE.pid
  733.                   echo "ERROR: Removed stale pid file"
  734.                   exit 1
  735.           fi
  736.   #
  737.   # Success. Let pppd clean up its own junk.
  738.           echo "PPP link to $DEVICE terminated."
  739.           exit 0
  740.   fi
  741.   #
  742.   # The PPP process is not running for ppp0
  743.   echo "ERROR: PPP link is not active on $DEVICE"
  744.   exit 1
  745.   ______________________________________________________________________
  746.  
  747.   99..22..  PPPPPP ddooeess nnoott hhaanngguupp tthhee mmooddeemm wwhheenn iitt tteerrmmiinnaatteess
  748.  
  749.   There are several reasons for this.
  750.  
  751.   +o  Did you use the pppd `mmooddeemm' parameter?  This parameter controls
  752.      whether or not the ppppppdd process is to control and honor the signals
  753.      reflecting the modem status. This parameter is explained in the man
  754.      page for ppppppdd.
  755.  
  756.   +o  Do you have the modem presenting the DCD signal and honoring DTR?
  757.      The Hayes sequence for this is usually "&C1". If you reset the
  758.      modem during the connection sequence with "ATZ" then ensure that
  759.      your modem is configured correctly.
  760.  
  761.      The DTR signal is generated by the computer and instructs the modem
  762.      to disconnect. Hayes sequence for this is usually "&D1" or "&D2"
  763.      with "&D2" being the preferred setting for PPP. Many manufacturers
  764.      will ignore the DTR condition in their `factory defaults' setting.
  765.  
  766.   +o  Did you use a cheap cable which does not pass the DCD signal?
  767.      Macintosh `Classic' cables are notorious for this problem. The
  768.      Macintosh Classic does not use this signal.
  769.  
  770.   +o  For dial-in connections, did you exec the pppd process properly?
  771.  
  772.      The pppd process should be `exec'ed from the script rather than
  773.      simply executed. If you attempt to simply run the pppd process then
  774.      it will be the shell which will receive the SIGHUP hangup signal
  775.      and not the pppd process.
  776.  
  777.      The `shell' script should have a format similar to the following:
  778.  
  779.      ___________________________________________________________________
  780.      #!/bin/sh
  781.      exec pppd -detach modem ...
  782.      ___________________________________________________________________
  783.  
  784.   +o  The use of ddiipp and ddiiaalldd has, on occasion, interfered with the
  785.      ability of pppd to sense the loss of the carrier. In this case, you
  786.      should use the lcp-echo-request and lcp-echo-failure options to
  787.      detect the loss of the connection in-band.
  788.  
  789.   1100..  DDaattaa TTrraannssffeerr rreellaatteedd iissssuueess
  790.  
  791.   1100..11..  TThhee ffttpp transfers seems to die when I do a `put' operation.
  792.   They will work correctly if I `get' a file. Why?
  793.  
  794.   Do you have the flow control enabled? Flow control is set by the pppd
  795.   option ccrrttssccttss for RTS/CTS and xxoonnxxooffff for XON/XOFF. If you don't
  796.   enable the flow control then you will probably overrun the modem's
  797.   buffers and this will prove to be disastrous with vj header
  798.   compression.
  799.  
  800.   1100..22..  HHooww ddoo II uussee XXOONN//XXOOFFFF ffoorr ffllooww ccoonnttrrooll??
  801.  
  802.   The better flow control is CTS/RTS. However, if you can not do the
  803.   hardware flow control with the signals CTS and RTS, then use XON/XOFF.
  804.   The following three steps need to be performed.
  805.  
  806.   +o  You need to specify the pppd option xxoonnxxooffff. This tells the pppd
  807.      process to configure the serial device for XON/XOFF flow control
  808.      and to load the two characters into the tty driver.
  809.  
  810.   +o  You need to specify the XON and XOFF characters in the pppd
  811.      parameter aassyynnccmmaapp. This tells the remote system that is should
  812.      quote the XON and XOFF characters when it wishes to send them to
  813.      you. It is normally specified as the pppd parameter `aassyynnccmmaapp
  814.      aa00000000'.
  815.  
  816.   +o  Of course, don't forget to tell the modem to use XON/XOFF flow
  817.      control. My ZZyyXXEELL modem uses a sequence `&R1&H4' to do this.
  818.  
  819.   1100..33..  TThhee mmooddeemm sseeeemmss ttoo aallwwaayyss ccoonnnneecctt aatt aa ssttrraannggee rraattee.. WWhheenn II uussee
  820.   mmiinniiccoomm,, tthhee mmooddeemm wwiillll aallwwaayyss uussee 1144440000.. HHoowweevveerr,, PPPPPP iiss uussiinngg 99660000
  821.   oorr 77220000 oorr eevveenn 22440000.. HHooww ddoo II ffiixx tthhiiss??
  822.  
  823.   Put the desired rate as an option to the pppd process. If you don't
  824.   put the rate, then pppd process will use whatever rate is set
  825.   currently at the time. Not all programs will restore all of the
  826.   parameters to the previous settings properly upon exit. This may lead
  827.   to strange rates configured for the serial device.
  828.  
  829.   Linux does not support modems which use the RPI (RRockwell PProtocol
  830.   IInterface) proprietary specification. Given the proprietary nature of
  831.   the specification (even if you signed a NDA Rockwell will not release
  832.   the code needed to interface to the modem) it is eexxttrreemmeellyy unlikely
  833.   that Linux will eevveerr support this modem. The only solution, should you
  834.   have a RPI modem, is to take it back to the dealer and get one which
  835.   does not use RPI.
  836.  
  837.   Some of the catch phrases to avoid are modems which are marked as
  838.   having error correction in software, "windows" compatible, or
  839.   "requiring a special driver" for full operation. These usually
  840.   indicate that the modem uses RPI.
  841.  
  842.   1100..44..  TThhee ffttpp transfers seems to be very slow when I do a `get' oper-
  843.   ation. The `put' operation is much faster. Why?
  844.  
  845.   Did you specify the option:
  846.  
  847.   aassyynnccmmaapp 00
  848.  
  849.   when you ran pppd? If you forgot the option, the peer must quote
  850.   (double) all of the control characters in the range from 00 to 1F
  851.   (hex). This will result in a statistical loss of about 12.5% in speed
  852.   for all of the data which you receive.
  853.  
  854.   Did you configure the remote system? If so, did you forget flow
  855.   control on its modem?
  856.  
  857.   1100..55..  TThhee pprrooxxyyaarrpp ffuunnccttiioonn ffaaiillss ttoo ffiinndd tthhee hhaarrddwwaarree aaddddrreessss..
  858.  
  859.   Use the pppppp--22..11..22dd..ttaarr..ggzz package. The ppppppdd process was erroneously
  860.   compiled with the 1.1.8 kernel and it used NNeett--33 rather than NNeett--22
  861.   definitions.
  862.  
  863.   Additionally, you should refer to the proxy-ARP mini-HOWTO about the
  864.   requirements for using proxy-ARP.
  865.  
  866.   The 2.1 package had a limit of 64 network devices. At the the that the
  867.   proxyarp function was written, 64 seemed to be a very likely limit as
  868.   most people had one or two ethernet controllers. This is no longer the
  869.   case when we consider that some systems routinely have 128 network
  870.   devices.
  871.  
  872.   The 2.2 package has raised the limit to 256 network devices. It is a
  873.   compile-time define in the sys-linux.c module.
  874.  
  875.   1111..  RRoouuttiinngg aanndd ootthheerr pprroobblleemmss
  876.  
  877.   1111..11..  MMyy rroouuttee ttoo tthhee rreemmoottee kkeeeeppss ddiissaappppeeaarriinngg!! IItt llaasstt ffoorr aabboouutt 33
  878.   mmiinnuutteess aanndd tthheenn tthhee rroouuttee jjuusstt ggooeess aawwaayy.. HHeellpp!!
  879.  
  880.   This is not a question for PPP.
  881.  
  882.   Hint: DDOONN''TT RRUUNN rroouutteedd!
  883.  
  884.   1111..22..  II wwoouulldd lliikkee ttoo aattttaacchh mmyy ootthheerr ccoommppuutteerrss oonn mmyy nneettwwoorrkk ttoo tthhee
  885.   IInntteerrnneett tthhrroouugghh mmyy PPPPPP ccoonnnneeccttiioonn.. II hhaavvee oonnllyy tthhee oonnee IIPP aaddddrreessss
  886.   wwhhiicchh iiss aassssiiggnneedd ttoo mmee ffrroomm mmyy sseerrvviiccee pprroovviiddeerr.. ((IItt mmaayy eevveenn hhaavvee
  887.   bbeeeenn ddyynnaammiiccaallllyy aassssiiggnneedd..)) HHooww mmaayy II ddoo tthhiiss??
  888.  
  889.   You may not. At least, you can't do it in the manner that you would
  890.   normally want to do it. The problem is that your provider would not
  891.   know about the IP addresses of your local network and therefore wont
  892.   route the frames to your local system.
  893.  
  894.   There are other solutions, however.
  895.  
  896.   +o  You may telnet to your one computer running pppd and then use
  897.      telnet or ftp to reach out to the rest of the Internet. This is not
  898.      really much better then just using the computer directly, but it
  899.      does work for simple things.
  900.  
  901.   +o  You may run a recent 1.3 kernel and use the "IP Masquerade" option.
  902.      For instructions on how to use this facility you should join the
  903.      linux-net developer list or refer to the Net-2-HOWTO document.
  904.  
  905.   +o  You may run the ssoocckkss program on your PPP system. This will perform
  906.      the same facility as the IP Masquerade but it will take modified
  907.      clients. The advantage is that the socks program has been around
  908.      for some years and many clients will understand the concept of a
  909.      'proxy' server which is needed to work with socks.
  910.  
  911.   1111..33..  II ccaann rreeaacchh tthhee rreemmoottee sseerrvveerr,, bbuutt II ccaann nnoott ggeett aannyywwhheerree eellssee..
  912.  
  913.   Did you forget the `ddeeffaauullttrroouuttee' parameter to pppd? This parameter
  914.   adds a default route into your routing system so that frames to all
  915.   other IP addresses will be sent to the PPP device.
  916.  
  917.   The PPP software will not replace the default route if you have one
  918.   already set when you run pppd. This is done to prevent people from
  919.   destroying their default route to the ethernet routers by accident. A
  920.   warning message is written to the system log if the defaultroute
  921.   parameter is not performed for this reason.
  922.  
  923.   1111..44..  II hhaavvee aa ddeeffaauulltt rroouuttee aanndd II ssttiillll ccaann''tt ggeett aannyywwhheerree eellssee!! NNooww
  924.   wwhhaatt??
  925.  
  926.   The problem then is not with the local Linux system. It most likely is
  927.   routing problem on the remote end.
  928.  
  929.   The remote system is not configured for `IIPP ffoorrwwaarrddiinngg'. It is an RFC
  930.   requirement that this option NNOOTT be enabled by default. You must
  931.   enable the option. For Linux systems, you will need to build the
  932.   kernel and specify that you want IP forwarding/gatewaying.
  933.  
  934.   The remote computers need a route back to you just as you need a route
  935.   to them. This may be accomplished by one of four methods. Each has
  936.   advantages and limitations. You need to do one and only one of these.
  937.  
  938.   +o  Use a host route. At each host on the remote system, add a host
  939.      route to your Linux IP address with the gateway being the terminal
  940.      server that you use for your local access. This will work if you
  941.      have a small number of host systems and a simple network without
  942.      bridges, routers, gateways, etc.
  943.  
  944.   +o  Use a network route. Subdivide the remote IP addresses so that your
  945.      local Linux IP address and the remote terminal server address and
  946.      the remote terminal server's ethernet address is on the same IP
  947.      network. This will work if you have the IP addresses to spare. It
  948.      will work very well if you have a Class-B IP network and can afford
  949.      to put the all of the remote addresses on the same IP network. Then
  950.      add a network route on each of the gateways and routers so that any
  951.      address of the remote network is sent to the terminal server. Most
  952.      configurations have many hosts but few routers. (At ssiiii..ccoomm, we
  953.      have over 300 active host systems with only 3 routers.)
  954.  
  955.   +o  Use ggaatteedd on all of the gateways and on the terminal server. This
  956.      will cause the terminal server to broadcast to the gateways that it
  957.      can accept the frames for your IP address. Since the hosts will
  958.      have a default route to one of the gateways, the gateways will
  959.      generate the ICMP re-direct frame and the specific host will
  960.      automatically add its host route.
  961.  
  962.   +o  Use proxy ARP on the terminal server. This will only work if your
  963.      remote IP address is in the same IP domain as one of the domains
  964.      for the network cards.
  965.  
  966.   There is no clear solution. You must choose one of these.
  967.  
  968.   If your remote router requires to receive RIP frames in order to
  969.   update the route to your system then you should use the bbccaassttdd program
  970.   on sunsite.unc.edu. This will generate the RIP frames without actually
  971.   running gated.
  972.  
  973.   1111..55..  II ccaann nnoott ppiinngg mmyy llooccaall IIPP aaddddrreessss
  974.  
  975.   You are not able to do this because you wont normally have a route to
  976.   the address. This is the normal operating environment.
  977.  
  978.   If you wish to ping your own system then use the loopback address of
  979.   127.0.0.1.
  980.  
  981.   You may be able to ping the remote address. However, some terminal
  982.   servers may not allow this as the address may be 'phony' to them. It
  983.   depends upon their environment.
  984.  
  985.   In general, don't try to ping either address. Choose a third address
  986.   which is well known to be available on the remote network such as one
  987.   of your name server IP address.
  988.  
  989.   While the PPP software will not perform this task, you may add the
  990.   route table entry yourself once the link has been established. The
  991.   syntax for the route statement is:
  992.  
  993.        route add -host 192.187.163.32 lo
  994.  
  995.   where the local IP address is represented as 192.187.163.32 in this
  996.   example. This will tell the network software to route all frames
  997.   destined to your local IP address to the loopback adapter. Once you
  998.   add the appropriate route to the local IP address then you may use
  999.   this address as the target to IP frames.
  1000.  
  1001.   You will be responsible for deleting the route when the link goes
  1002.   down.
  1003.  
  1004.   1122..  IInntteerraaccttiioonnss wwiitthh ootthheerr PPPPPP iimmpplleemmeennttaattiioonnss
  1005.  
  1006.   1122..11..  II aamm uussiinngg aa TTrruummppeett (for MMSSDDOOSS) and the connection simply ter-
  1007.   minates. Why is this happening?
  1008.  
  1009.   TTrruummppeett does not like any VJ header compression. Use the pppd option
  1010.   "--vvjj" to turn it off.
  1011.  
  1012.   1122..22..  II aamm uussiinngg ddpp--33..11..22 (with SSuunnOOSS) and the system will not allow
  1013.   me to use anything but ppiinngg, or nnssllooookkuupp. Why is this happening?
  1014.  
  1015.   There is a bug in the 33..11..22 version of dp. Please get the 33..11..22aa or
  1016.   later file from the dp ftp home site hhaarrbboorr..eeccnn..ppuurrdduuee..eeccuu. Until you
  1017.   can put the patch into dp, disable the vj header compression.
  1018.  
  1019.   1122..33..  II ccaann nnoott ccoonnnneecctt ttoo//wwiitthh mmyy WWiinnddoowwss NNTT ccooddee
  1020.  
  1021.   Microsoft has chosen to support a non-standard authentication protocol
  1022.   with Windows NT. That is their right to do so provided that they have
  1023.   registered the protocol number with the IIAANNAA. (They have.)  If the
  1024.   `accept only Microsoft encrypted authentication' check box is set in
  1025.   the phone book entry, the connection will not complete. This setting
  1026.   mandates that the Windows NT system only exchange PPP authentication
  1027.   with another Microsoft PPP implementation.
  1028.  
  1029.   The current pppd 2.2.0e code has patches to support this
  1030.   authentication protocol. However, the support is available in one
  1031.   direction only. It will connect to a Windows NT server. It will not
  1032.   permit a Windows NT server to dial-up the Linux system and connect
  1033.   with this protocol.
  1034.  
  1035.   However, these patches for the Microsoft authentication require the
  1036.   use of a DES library. Please respect the governmental regulations
  1037.   concerning the distribution of this form of 'munitions'.
  1038.  
  1039.   If you can not use this package and you have the option of changing
  1040.   the settings on the Windows NT system then go to the Windows NT Phone
  1041.   Book settings, advanced, security settings and ensure that the `Accept
  1042.   any authentication including clear text' box is cchheecckkeedd and the
  1043.   `accept only Microsoft encrypted authentication' is nnoott cchheecckkeedd. The
  1044.   other check boxes may be checked or not as you see fit.
  1045.  
  1046.   Then use PAP on the Linux side. Put your Windows NT account name and
  1047.   password into the /etc/ppp/pap-secrets file.
  1048.  
  1049.   The Microsoft authentication sequence is a PAP style authentication
  1050.   with their DES encryption algorithm for the passwords. Normal PAP
  1051.   sends the passwords in clear text. This would violate their C2
  1052.   security goals.
  1053.  
  1054.   Versions of the Linux PPP code earlier than 2.1.2c have a flaw in
  1055.   their decoding of the authentication request. They will not work with
  1056.   a Windows NT system as they will not negotiate the proper
  1057.   authentication. Please used 2.1.2c or later if you wish to connect to
  1058.   Windows NT. The current version, 2.2 or 2.1.2d if you need 1.1 kernel
  1059.   support, should be used if possible.
  1060.  
  1061.   Scott Hutton <shutton@habanero.ucs.indiana.edu> sent me the following:
  1062.  
  1063.   Basically, NT RAS (Remote Access Services) will drop your connection
  1064.   if you REJ anything critical (i.e., authentication protocol).  So, the
  1065.   trick was to create a mostly bogus chap-secrets file.  Mine has
  1066.  
  1067.     ""   *   ""
  1068.  
  1069.   in it.  This causes pppd to send a NAK rather than a REJ.  With the
  1070.   SPAP registry key removed, the next protocol attempted is PAP (which
  1071.   is what I'm using).
  1072.  
  1073.   Other points are to make sure that *only* TCP/IP services are enabled
  1074.   in RAS (not NetBEUI nor IPX [EEdd:: IIPPXX iiss bbeeiinngg aaddddrreesssseedd.. UUnnttiill iitt iiss
  1075.   iinnssttaalllleedd pprrooppeerrllyy,, tthhiiss iiss pprroobbaabbllyy aa ggoooodd tthhiinngg ttoo ddiissaabbllee aass
  1076.   wweellll..]]). I also had to fiddle with a couple of other registry keys to
  1077.   kill timeouts (which are problematic when you're only doing TCP/IP):
  1078.  
  1079.        HKEY_LOCAL_MACHINE\eSYSTEM\eCurrentControlSet\eServices\eRemoteAccess\eParameters
  1080.            Autodisconnect: REG_DWORD: 0
  1081.  
  1082.   and to get my routing to work correctly:
  1083.  
  1084.        HKEY_LOCAL_MACHINE\eSYSTEM\eCurrentControlSet\eServices\eRasArp\eParameters
  1085.            DisableOtherSrcPackets: REG_DWORD: 0
  1086.  
  1087.   For completeness, the key that needs to be disabled to eliminate SPAP:
  1088.  
  1089.        HKEY_LOCAL_MACHINE\eSYSTEM\eCurrentControlSet\eServices\eRasMan\ePPP\eSPAP
  1090.  
  1091.   1133..  OOtthheerr mmeessssaaggeess wwrriitttteenn ttoo tthhee ssyysstteemm lloogg
  1092.  
  1093.   1133..11..  AAllaarrmm
  1094.  
  1095.   This is not a problem. It means that a timer has expired.  Timers are
  1096.   a necessary part of the protocol establishment phase.
  1097.  
  1098.   1133..22..  SSIIGGHHUUPP
  1099.  
  1100.   The pppd process has received a HUP signal. The HUP signal is
  1101.   generated by the tty software when the remote system has disconnected
  1102.   the modem link. It means that the modem has put the 'telephone
  1103.   receiver back on the hook', or, 'Hung UP' the connection.
  1104.  
  1105.   The kill program may also be used to send this signal to the pppd
  1106.   process.
  1107.  
  1108.   The pppd process will terminate the link in an orderly fashion when it
  1109.   receives this signal.
  1110.   1133..33..  SSIIGGIINNTT
  1111.  
  1112.   The pppd process has received an INT signal. The INT signal is
  1113.   generated by the console software when you press the Ctrl-C key
  1114.   combination and pppd is the foreground process.
  1115.  
  1116.   The kill program may also be used to send this signal to the pppd
  1117.   process. In fact, the recommended method to terminate the pppd link is
  1118.   to send the process an INT. See the question relating to "dip -k" for
  1119.   a script which will perform this task.
  1120.  
  1121.   The pppd process will terminate the link in an orderly fashion when it
  1122.   receives this signal.
  1123.  
  1124.   1133..44..  UUnnkknnoowwnn pprroottooccooll ((cc002255)) rreecceeiivveedd!!.
  1125.  
  1126.   The remote wishes to exchange Link Quality Reporting protocol with the
  1127.   Linux system. This protocol is presently not supported. This is not an
  1128.   error. It is merely saying that it has received the request and will
  1129.   tell the remote that "I can't do this now. Don't bother me with this!"
  1130.  
  1131.   The Morning Star PPP package will always try to do LQR protocol. This
  1132.   is normal.
  1133.  
  1134.   1133..55..  UUnnkknnoowwnn pprroottooccooll ((8800ffdd)) rreecceeiivveedd!!.
  1135.  
  1136.   The remote wishes to exchange Compression Control Protocol with the
  1137.   Linux system. This type of protocol is layered upon the basic data
  1138.   protocol and will, if successfully negotiated, result in a fewer
  1139.   number of bytes transmitted for the frame. This means that the
  1140.   transfer will be quicker.
  1141.  
  1142.   However, there are many types of compressors which are used under the
  1143.   general 'umbrella' of a Compression Control Protocol. The 2.2 PPP
  1144.   package understands only one; the BSD compressor. This compressor
  1145.   works very similar to the Unix 'compress' program and uses a LZW
  1146.   compressor. Depending upon the size of the code, there can be a
  1147.   significant amount of kernel space needed to hold the compression and
  1148.   decompression dictionaries. This should not be used if you have a
  1149.   limited memory space and should not even be contemplated if you have
  1150.   8Meg or less real (RAM) memory. In those cases you should invest in a
  1151.   decent modem which support compression.
  1152.  
  1153.   Unless both sides can agree upon the type of compression the
  1154.   compression will not be used.
  1155.  
  1156.   Another common compressor is called Predictor-1. This will take less
  1157.   memory and run faster. However, its compression is not as good in that
  1158.   it will send a little more data than the equivalent frame given to the
  1159.   BSD compressor.
  1160.  
  1161.   Many commercial terminal servers will employ a compressor called
  1162.   "Stacker(TM) LZW" or LZS protocol. This is a commercial compression
  1163.   agent. Apparently Stacker will give you a license for no charge.
  1164.   However, a specific license is required and that will usually prevent
  1165.   it being included with the pppd process.
  1166.  
  1167.   The 2.3 package will additionally include the compressor known as
  1168.  
  1169.   1133..66..  TThhee ccoonnnneeccttiioonn ffaaiillss wwiitthh eerrrroorrss ""iiooccttll((TTIIOOCCGGEETTDD)):: II//OO eerrrroorr"
  1170.   or "iiooccttll((PPPPPPIIOOCCSSIINNPPSSIIGG)):: II//OO eerrrroorr". What now?
  1171.  
  1172.   Look at the boot messages when you boot the kernel. If it says "PPPPPP
  1173.   vveerrssiioonn 00..11..22" then you have an old version of the PPPPPP..cc driver.
  1174.  
  1175.   If it says "PPPPPP vveerrssiioonn 00..22..77" then you have the current driver, for
  1176.   the 2.1.2 package however, it was not built with the same set of
  1177.   defines for the ioctl numbers. Ensure that you have only one file
  1178.   called "iiff__pppppp..hh". It should be located in the kernel's iinncclluuddee//lliinnuuxx
  1179.   directory. Once you have done this, rebuild the kernel and the pppd
  1180.   process.
  1181.  
  1182.   If it says "PPPPPP vveerrssiioonn 22..22..00" then you are using the driver for the
  1183.   2.2.0 package. This version of the driver will only work with the 2.2
  1184.   series of the pppd package. The 2.2 pppd program will only work with
  1185.   this version of the driver.
  1186.  
  1187.   1133..77..  SSoommeettiimmeess tthhee mmeessssaaggeess ""iiooccttll((PPPPPPIIOOCCGGDDEEBBUUGG)):: II//OO eerrrroorr",
  1188.   "iiooccttll((TTIIOOCCSSEETTDD)):: II//OO eerrrroorr" and "iiooccttll((TTIIOOCCNNXXCCLL)):: II//OO eerrrroorr" occur.
  1189.   Why?
  1190.  
  1191.   The remote system has disconnected the telephone. The tty drivers will
  1192.   re-establish the proper tty discipline and these errors are the result
  1193.   of the ppppppdd process trying to do the same thing. These are to be
  1194.   expected.
  1195.  
  1196.   1133..88..  MMyy iiffccoonnffiigg has strange output for PPP.
  1197.  
  1198.   Usually the ifconfig program reports information similar to the
  1199.   following:
  1200.  
  1201.        ppp0      Link encap UNSPEC  HWaddr 00-00-00-00-00-00-00 ...
  1202.                  inet addr 192.76.32.2  P-t-P 129.67.1.65  Mask 255.255.255.0
  1203.                  UP POINTOPOINT RUNNING  MTU 1500  Metric 1
  1204.  
  1205.   The information is for display purposes only. If you are using a
  1206.   recent kernel then update the nettools package with the current one on
  1207.   ssuunnaaccmm..sswwaann..aacc..uukk in the directory //ppuubb//LLiinnuuxx//nneettwwoorrkkiinngg//nneettttoooollss.
  1208.  
  1209.   1133..99..  TThhee ffiillee //pprroocc//nneett//ddeevv seems to be empty
  1210.  
  1211.   Did you just issue the command "llss --ll //pprroocc//nneett" and are wondering why
  1212.   the size is zero?  If so, this is normal.  Instead, issue the command:
  1213.  
  1214.   cat /proc/net/dev
  1215.  
  1216.   You should not find the file empty. The size is always shown as zero,
  1217.   but that is the 'proc' file system. Don't believe the size. Do the
  1218.   command.
  1219.  
  1220.   The 'more', 'less', and 'most' programs may not be used to view the
  1221.   file directly. If you wish to use these programs, use it as follows:
  1222.  
  1223.   cat /proc/net/dev | less
  1224.  
  1225.   1133..1100..  TThhee kkeerrnneell rreeppoorrttss tthhaatt tthhee PPPPPP ddeevviicceess aarree bbeeiinngg uunnlliinnkkeedd
  1226.   wwhheenn tthhee ssyysstteemm iiss bbeeiinngg ssttaarrtteedd..
  1227.  
  1228.   This is not a problem. The message is the result of the ppp driver
  1229.   calling the procedure 'unregister_netdev'. This permits the ppp driver
  1230.   to dynamically allocate the devices as they are needed. There is no
  1231.   real limit to the number of devices which may be created. For the sake
  1232.   of setting a limit, the value of 256 was chosen as the maximum number
  1233.   of devices. Should you find that this is too small then you may change
  1234.   the define in the ppp.c code to make it any value that you wish or
  1235.   supply the value when you use the dynamically loaded module.
  1236.  
  1237.   If you are receiving these messages then you have an old version of
  1238.   the ppp.c driver. Please consider upgrading the driver as the old
  1239.   scheme of calling dev_unlink is `bad'.
  1240.  
  1241.   1133..1111..  II jjuusstt cchheecckkeedd //pprroocc//nneett//ddeevv aanndd tthheerree aarree nnoo PPPPPP ddeevviicceess..
  1242.   WWhheerree ddiidd tthheeyy ggoo??
  1243.  
  1244.   They went nowhere. They were all unlinked during the startup of the
  1245.   system. Please see the previous question for additional information.
  1246.  
  1247.   1144..  NNeettwwoorrkk rroouuttiinngg iissssuueess ((uussiinngg PPPPPP aass aa ``cchheeaapp'' bbrriiddggee))
  1248.  
  1249.   1144..11..  SSllaattttaacchh and iiffccoonnffiigg don't work like SLIP
  1250.  
  1251.   Do not use ssllaattttaacchh and iiffccoonnffiigg with PPP. These are used for SLIP.
  1252.   The ppppppdd process does these functions at the appropriate time. These
  1253.   must occur after the LLCCPP and IIPPCCPP protocols have been exchanged.
  1254.  
  1255.   You can not replace ppppppdd with ssllaattttaacchh and iiffccoonnffiigg. Most of the
  1256.   protocol support for PPP is in the ppppppdd process. Only the IP (and IIPPXX
  1257.   when it is completed) processing is in the kernel.
  1258.  
  1259.   The host route to the remote system will be automatically added by
  1260.   pppd. There is no option to NOT add the route. The pppd process will
  1261.   terminate if the route could not be added.
  1262.  
  1263.   The default route may or may not be added. This is controlled by the
  1264.   option `ddeeffaauullttrroouuttee'. If you have a default route, it will not be
  1265.   changed.
  1266.  
  1267.   If you must do routing for an entire network, then put the route
  1268.   command into the //eettcc//pppppp//iipp--uupp script. The parameters to the script
  1269.   are:
  1270.  
  1271.           $0 - name of the script (/etc/ppp/ip-up or /etc/ppp/ip-down)
  1272.           $1 - name of the network device (such as ppp0)
  1273.           $2 - name of the tty device (such as /dev/cua0)
  1274.           $3 - speed of the tty device in Bits Per Second (such as 38400)
  1275.           $4 - the local IP address in dotted decimal notation
  1276.           $5 - the remote IP address in dotted decimal notation
  1277.           $6 - the value of the ipparam parameter
  1278.  
  1279.   1144..22..  II wwaanntt tthhee rroouuttee ttoo tthhee nneettwwoorrkk aanndd nnoott tthhee rroouuttee ttoo tthhee hhoosstt..
  1280.  
  1281.   On ssuunnssiittee there is a package called ddeevviinnffoo..ttaarr..ggzz. It contains some
  1282.   useful little programs which will extract the data from the device and
  1283.   to do various things with the dotted IP addresses.
  1284.  
  1285.   The documentation is in the man pages in the file.
  1286.  
  1287.   For example, if you want to route the entire IP domain to the remote,
  1288.   the following may be used in //eettcc//pppppp//iipp--uupp.
  1289.  
  1290.   Of course, if the values are not variable, then simply use the
  1291.   appropriate entry in the route command.
  1292.  
  1293.   ______________________________________________________________________
  1294.   # Obtain the netmask for the ppp0 (or whatever) device
  1295.   NETMASK = `devinfo -d $1 -t mask`
  1296.  
  1297.   # Obtain the IP domain (without the host address by removing the extra bits)
  1298.   DOMAIN = `netmath -a $5 $NETMASK`
  1299.  
  1300.   # Do the network route now that the IP domain is known
  1301.   route -net add $DOMAIN gw $5
  1302.   ______________________________________________________________________
  1303.  
  1304.   1155..  OOtthheerr ffeeaattuurreess aanndd pprroottooccoollss
  1305.  
  1306.   1155..11..  WWhhaatt aabboouutt ssuuppppoorrtt ffoorr ``ddeemmaanndd ddiiaall'
  1307.  
  1308.   Use the ddiiaalldd package. This is on sunsite in the same directory as the
  1309.   PPP source, //ppuubb//LLiinnuuxx//ssyysstteemm//NNeettwwoorrkk//sseerriiaall.
  1310.  
  1311.   1155..22..  WWhhaatt aabboouutt ``ffiilltteerriinngg'
  1312.  
  1313.   There are no plans to put filtering into the PPP code. The 1.3 kernel
  1314.   supports a firewall option and you should use that rather than attempt
  1315.   to find a method of putting firewall logic into a network device
  1316.   driver. Use either the iippffww or iippffwwaaddmm programs to define the rules
  1317.   for the firewall code in the kernel.
  1318.  
  1319.   1155..33..  HHooww aabboouutt IIPPXX?
  1320.  
  1321.   It is in the 2.2.0e package.
  1322.  
  1323.   1155..44..  HHooww aabboouutt NNEETTBBIIOOSS??
  1324.  
  1325.   There is a netbios PPP protocol. However, your better solution would
  1326.   be to use TCP/IP and the `ssaammbbaa' code.
  1327.  
  1328.   Microsoft and others have used Netbios PPP protocol.
  1329.  
  1330.   The nbfcp protocol is a public document and available from several
  1331.   sources. The Netbios protocol is not a valid address family at the
  1332.   present time for Linux. Until Linux supports the protocol, there is
  1333.   little need to support Netbios over PPP for Linux.
  1334.   1155..55..  II nneeeedd IISSDDNN ssuuppppoorrtt.. IIss tthheerree aannyy??
  1335.  
  1336.   ISDN support revolves around having a working ISDN driver. The present
  1337.   design of the PPP driver does not lend itself well to the concept of a
  1338.   block of data being received. This is being changed. A driver for the
  1339.   Sonix interface is being developed.
  1340.  
  1341.   1155..66..  II wwoouulldd lliikkee mmuullttii--ppooiinntt ssuuppppoorrtt.. IIss tthheerree aannyy ssuuppppoorrtt??
  1342.  
  1343.   Multi-point would be nice. I am not aware of anyone working on multi-
  1344.   point support at the present time.
  1345.  
  1346.   1155..77..  HHooww aabboouutt jjuusstt ssttaannddaarrdd ssyynncchhrroonnoouuss PPPPPP??
  1347.  
  1348.   There are small changes needed to support a serial interface which
  1349.   uses synchronous communications. The redesign of the PPP driver will
  1350.   help with this function as well. Kate Marika Alhola has expressed an
  1351.   interest in writing such a synchronous driver for her hardware. You
  1352.   should contact her at kate@iti.fi or kate@nic.funet.fi for further
  1353.   information.
  1354.  
  1355.   She informs me that the current status of sync ppp is, that I have had
  1356.   it few months in "production" use talking with Cisco(TM) in speeds 64K
  1357.   and 256K. The source is under the GPL license and it may be found in
  1358.   ftp://nic.funet.fi/pub/Linux/kernel/xnet-sync-driver-1.0.tar.gz.
  1359.  
  1360.   1166..  MMiisscceellllaanneeoouuss
  1361.  
  1362.   1166..11..  DDoo yyoouu hhaavvee aa PPPPPP ccoommppaattiibbllee mmaaiill rreeaaddeerr??
  1363.  
  1364.   Huh?  You have the wrong group if you want MSDOS. PPP has nothing to
  1365.   do with the mail user agent. All of the mail agents are compatible
  1366.   with PPP.
  1367.  
  1368.   1166..22..  HHooww aabboouutt aa nneewwss rreeaaddeerr??
  1369.  
  1370.   Refer to the previous answer.
  1371.  
  1372.   1177..  QQuueessttiioonnss aabboouutt cchhaatt
  1373.  
  1374.   1177..11..  MMyy mmooddeemm wwoonntt ddiiaall wwhheenn II rruunn cchhaatt
  1375.  
  1376.   The modem is required to be in the command mode to issue dial
  1377.   commands. If your modem is 'online' then characters sent to the modem
  1378.   will be sent to the remote system.
  1379.  
  1380.   If possible, configure the modem to monitor the DTR signal and to
  1381.   return to the command mode when the DTR signal dropps. This will
  1382.   permit the computer to force the modem back to the command mode when
  1383.   the pppd process terminates at the end of a connection. It will then
  1384.   be in the proper state when the next execution attempts to dial the
  1385.   telephone.
  1386.  
  1387.   If you cant do this then you should change the dial sequence so that
  1388.   it is similar to the following. It will ensure that the modem is in
  1389.   the command state prior to attempting to send the dial sequence.
  1390.  
  1391.        TIMEOUT 3 "" \rAT OK-+++\c-OK AT&D2&C1 TIMEOUT 60 OK ATDT555-1212 CONNECT
  1392.  
  1393.   The commands will change the timeout period to three seconds. This
  1394.   accommodates the gguuaarrdd time period used by many modems. It will then
  1395.   send AATT to the modem and look for its response of OOKK. If it is not
  1396.   received in the three seconds, it will send the ++++++ sequence to the
  1397.   modem and wait for the modem to present the expected OOKK response. Once
  1398.   it receives the valid response it will configure the modem and dial
  1399.   the telephone number.
  1400.  
  1401.   1177..22..  TThhee mmooddeemm ddiiaallss oonnllyy oonn eevveerryy sseeccoonndd aatttteemmpptt
  1402.  
  1403.   Please refer to the above answer. It is usually the same issue.
  1404.  
  1405.   1177..33..  TThhee cchhaatt ssccrriipptt ssttooppss aafftteerr sseennddiinngg tthhee aaccccoouunntt nnaammee aanndd iitt
  1406.   nneevveerr rreecceeiivveess tthhee ppaasssswwoorrdd pprroommpptt..
  1407.  
  1408.   Some systems, notably SCO, will flush the receive buffers after
  1409.   writing the prompts for user name and password. The chat program
  1410.   normally transmits the response immediately upon seeing the prompt.
  1411.   The result is that the reply from chat is flushed by SCO. The chat
  1412.   program continues to wait for the password prompt. However, the remote
  1413.   system is still waiting for the user to enter the account name.
  1414.  
  1415.   The solution is simple. Slow down the responses from chat so that
  1416.   there is time for the remote system to flush the receive buffer before
  1417.   chat starts to send the response. Chat supports this with the
  1418.   parameter. Change the response strings similar to the following:
  1419.  
  1420.        ogin:--ogin: \d\daccount assword: \d\dhello2u2
  1421.  
  1422.