Search the FAQ Archives

3 - A - B - C - D - E - F - G - H - I - J - K - L - M
N - O - P - Q - R - S - T - U - V - W - X - Y - Z
faqs.org - Internet FAQ Archives

comp.protocols.ppp part4 of 8 of frequently wanted information

( Part1 - Part2 - Part3 - Part4 - Part5 - Part6 - Part7 - Part8 )
[ Usenet FAQs | Web FAQs | Documents | RFC Index | Forum archive ]
Archive-name: ppp-faq/part4
Version: $Revision: 3.14 $
Last-modified: $Date: 1996/09/16 18:10:03 $
URL: http://cs.uni-bonn.de/ppp/part4.html

See reader questions & answers on this topic! - Help others by sharing your knowledge
                                                  PPP questions and answers
                    4. MISC. PPP QUESTIONS WITH ANSWERS
                                     
       Does somebody have a patent on PPP?
      
       Is it possible to use PPP as link layer in ISDN?
      
       My ppp does infinite configuration negotiation. What's wrong?
      
       My ppp gets strange configure rejects. What's wrong?
      
       What is Asychronous HDLC?
      
       DP package: What is
      str_restore: couldn't push module ldterm
      
4.1 Does somebody have a patent on PPP?


From: emv@msen.com (Edward Vielmetti)
Newsgroups: comp.protocols.tcp-ip,comp.unix.sysv386,comp.protocols.ppp
Subject: Re: Public domain PPP for SCO 2.0??
Date: 8 Dec 1992 06:04:52 GMT

   [Somebody] wrote:
   
   Doesn't matter.  I just read (in another newsgroup) that DEC has a
   patent on PPP, and is asking $5000 for a license.  That means no public
   domain PPP, and a rapidly increasing reluctance to support it from OEMs.
    Stick with SLIP until something better comes along.  This is *not*
   true.
   
   DEC has a patent application outstanding for the negotiation of a 48 bit
   checksum which might be used in one of the option negotiation phases.
   It is not an essential part of PPP; many implementations currently do
   not use this little tiny algorithm in the way they work, and they work
   just fine.
   
   There is no indication that the 48 bit FCS will be accepted or
   standardized on by the IETF - from my reading of the  mailing lists
   traffic that is unlikely at this point.
   
   There are free PPPs and there will continue to be free PPPs.  You will
   also more likely buy PPPs as part of hardware you buy.
   
4.2 Is it possible to use PPP as link layer in ISDN?

   [Somebody] wrote: Is it possible to use PPP as link layer in ISDN?  If
   yes, what about signalling? Do you need to combine PPP with the I.451
   for basic call control? PPP over ISDN is described by RFC 1618. It
   promotes PPP in bit-sync or in octet-sync HDLC over ISDN B-channels, or
   PPP in X25 / PPP in Frame Relay over ISDN D-channel.
   
4.3 My ppp does infinite configuration negotiation.
What's wrong?

  4.3.1 [CABLE PROBLEM]
  
   Each other month somebody posts a question which essentially is the one
   above. It could, of course, be some very strange set of configurations
   options which get the ppp to never terminate the negotiation process
   (typical situations listed in further down). One other possibility was
   seen many times on the derivatives of public ppp for suns, namely
   pppd-1.01beta and dp-2.x.
   
   Detailed symptoms (from a posting on the net, I saw similar logfiles
   some  months ago):
   

  Typical debugging log output:

  Dec 18 16:11:01 pppd[1694]: Starting ppp daemon version 1.0beta patchleve
l 1
  Dec 18 16:11:01 pppd[1694]: warning... not a process group leader
  Dec 18 16:11:01 pppd[1694]: pgrpid = 1694
  Dec 18 16:11:01 pppd[1694]: popped stream module : ttcompat
  Dec 18 16:11:01 pppd[1694]: popped stream module : ldterm
  Dec 18 16:11:01 pppd[1694]: Using unit ppp0
  Dec 18 16:11:01 pppd[1694]: hostname = Riga
  Dec 18 16:11:01 pppd[1694]: connect: ppp0 /dev/ttya
  Dec 18 16:11:01 pppd[1694]: fsm_sconfreq(c021): Sent id 1.
  Dec 18 16:11:01 pppd[1694]: Timeout 6194:16b38 in 3 seconds.
  Dec 18 16:11:01 pppd[1694]: Setting itimer for 3 seconds.
  Dec 18 16:11:04 pppd[1694]: Alarm
  Dec 18 16:11:04 pppd[1694]: fsm_sconfreq(c021): Sent id 2.
  Dec 18 16:11:04 pppd[1694]: Timeout 6194:16b38 in 3 seconds.
  Dec 18 16:11:04 pppd[1694]: Setting itimer for 3 seconds.
  Dec 18 16:11:04 pppd[1694]: Setting itimer for 3 seconds.
  Dec 18 16:11:07 pppd[1694]: Alarm
  Dec 18 16:11:07 pppd[1694]: fsm_sconfreq(c021): Sent id 3.
  Dec 18 16:11:07 pppd[1694]: Timeout 6194:16b38 in 3 seconds.
  Dec 18 16:11:07 pppd[1694]: Setting itimer for 3 seconds.
  Dec 18 16:11:07 pppd[1694]: Setting itimer for 3 seconds.

  ... [lots of repetitious logging deleted] ...

  Dec 18 17:02:24 pppd[1694]: Alarm
  Dec 18 17:02:24 pppd[1694]: fsm_sconfreq(c021): Sent id 254.
  Dec 18 17:02:24 pppd[1694]: Timeout 6194:16b38 in 3 seconds.
  Dec 18 17:02:24 pppd[1694]: Setting itimer for 3 seconds.
  Dec 18 17:02:24 pppd[1694]: Setting itimer for 3 seconds.
  Dec 18 17:02:26 pppd[1694]: Hangup
  Dec 18 17:02:26 pppd[1694]: Untimeout 6194:16b38.
  Dec 18 17:02:26 pppd[1694]: Setting itimer for 0 seconds.
  Dec 18 17:02:26 pppd[1694]: str_restore: pushed module ldterm
  Dec 18 17:02:26 pppd[1694]: str_restore: pushed module ttcompat
  Dec 18 17:02:26 pppd[1694]: fcntl(F_SETFL, fdflags): Bad file number

   The above final is caused by sending a SIGHUP to the pppd process
   (however three successive SIGKILL's seem to be necessary to really   get
   rid of it).
   
     The warning "not a process group leader" appears to be the   innocent
   result of a subtle coding bug, with no later effects,   but I haven't
   tried fixing it (variable "pid" uninitialized).
   
     During all this, there seems to be no activity on the serial line, as
    evident from an Interfaker(tm) breakout patch box.  I was desperate
   enough to lower the speed to 50 bps in order to verify this.
   
     At the same time, "netstat -i" does show increasing figures for the
   ppp0 interface in the "Opkts" column, but in no other column.
   
   Solution: in all cases I could solve, it was a case of missing modem
   control lines in the cables, leading to 'cts' floating to 'false'. The
   LCP FSM happily sent configuration requests (they went to the serial
   line driver buffer (and not out)), waited for an answer, got none, timed
   out, and retried. After lots more of retries, especially on a big
   machine, the send buffer finally does overflow, and ppp stops with an
   error message.
   
   You just have to connect 2,3,4,5,6,7,8 and 20 to the modem to repair it,
   or to wire a reasonably complete null-modem cable. No, there is no
   software hack, except when you patch the sources yourself. And that
   would be a bad idea in my opinion. Even a small Sparcstation SLC can
   overload any modem on a serial line, and you would get lots of
   unnecessary packet drops because of that.
   
                                                                       i.s.
                                                                           
  4.3.2 [ADDRESS CONFIGURATION ERROR]
  
   Each other month somebody posts a question which essentially is the one
   above. It could, of course, be some very strange set of configurations
   options which get the ppp to never terminate the negotiation process,
   but this seems unlikely. This does happen under dp-2.3 [and probably
   others, i.s.] when both sides of the link have differing opinions as to
   what the 2 IP addresses should be.  If the remote-address offered from
   the remote side doesn't match the locally configured version then dp-2.3
   will send back an REJ packet.  The remote side will then resend the
   original address again and the loop will continue.
   
   To see if this is the case check the log for address REJ's.  Then decode
   the two hex addresses and print it out in the normal dot notation.  This
   is the IP address pair of what dp-2.x expected and what it got.  Now
   either reconfigure dp-2.x to expect this address or change the address
   that the other side is sending.
   
                                    Wolfgang Rupprecht <wolfgang@wsrcc.com>
                                                                           
4.4 What is Asychronous HDLC?

   It's HDLC with a character-by-character encapsulation, rather than a
   bit-by-bit encapsulation. The details are discussed in the RFC1331,
   appendix A. Basically, the flag character, the escape character and
   (possibly) control characters are escaped by prepending the escape
   character and XORing them with 0x20, while sync hdlc transparently
   inserts '0' bits after sequences of 5 '1' bits to be sure to never
   transmit the flag character in the frame.
   
   A short description of the part of ISO 3309:1991 that describes async
   (ISO calls it start/stop mode) HDLC is available with anonymous ftp from
   ftp.uni-erlangen.de in pub/doc/ISO/english/async-HDLC.
   
   
   
4.5 My ppp gets strange configure rejects. What's wrong?

   Every few days, s.b. posts a similar question, which melts down to the
   above, when you look at it.
   
   The symptoms are, e.g.:
   

Feb  6 09:04:08 steffi ppp[232]: demuxprotrej: Unrecognized Protocol-Reject
 for protocol 29801!
Feb  6 09:04:09 steffi ppp[232]: demuxprotrej: Unrecognized Protocol-Reject
 for protocol 67!
Feb  6 09:04:09 steffi ppp[232]: demuxprotrej: Unrecognized Protocol-Reject
 for protocol 15405!
Feb  6 09:04:11 steffi ppp[232]: demuxprotrej: Unrecognized Protocol-Reject
 for protocol 15405!
...

   Pre-ppp-2.1 implementations (I think); this includes dp-2.x and probably
   early dp-3.x'es are too stupid to detect the old (RFC1172) vs. new  (RFC
   1332 and later) format of VJ compression, although it differs in the
   length and the length is explicit in each option. They tend to be off by
   2 bytes after seeing such an option, and doing horrible things to
   logfiles, like the cited ones.
   
   dp-2.x users should use DP_ARGS=vjmode,draft for talking to nearly
   everything, or switch to ppp-2.1.2 if they don't need autodialup in the
   next few months.
   
   The faulty side is the other one.
   
4.6 DP package>  When the link goes down,
I get "str_restore: couldn't push module xxx"... What's wrong?

   On DP-anything (at least) on SunOS 4.x, when the link goes down, you
   often get these messages:
   

Aug 42 01:02:03 machine ppp[181]: str_restore: couldn't push module ldterm:
 No such device or address
Aug 42 01:02:03 machine ppp[181]: str_restore: couldn't push module ttcompa
t: No such device or address

   I guess this is pretty normal. The tty line in question was configured
   to create the hangup condition on loss of carrier. The hangup condition
   made the OS disconnect the tty device from the program, send the program
   a SIGHUP signal, and reinitialize the tty line as a normal tty (thats
   what ldterm and ttcompat are for). DP gets the SIGHUP, tries to clean up
   itself (popping its own stream modules and pushing the ones it found
   there when it started) and can't do it any longer.
   
   Maybe dp could detect the condition and not complain, or not try to
   clean up itself; but there might be a misjudgement of the situation,
   leaving the tty without the streams modules, or with dp's own... this
   would be a disaster: you could never again use them from innocent
   programs like getty, login, or kermit.
   
   The way it is now, if it can restore the tty to a sane state, it will;
   if it can't, at least it tried.
   
                                                                       i.s.
                                                                           
   
-- 
-- 
--
Unsolicited junk e-mail will be proofread at US$50.- per page. By sending
such e-mail to my address, you accept these terms.

User Contributions:

Comment about this article, ask questions, or add new information about this topic:

CAPTCHA




Part1 - Part2 - Part3 - Part4 - Part5 - Part6 - Part7 - Part8

[ Usenet FAQs | Web FAQs | Documents | RFC Index ]

Send corrections/additions to the FAQ Maintainer:
ignatios@cs.uni-bonn.de (Ignatios Souvatzis)





Last Update March 27 2014 @ 02:12 PM